From 5f9a24cdddfeb00af520dd033fefe96b4f2c9378 Mon Sep 17 00:00:00 2001 From: "bsongis@gmail.com" Date: Sun, 7 Apr 2013 19:31:38 +0000 Subject: [PATCH] [gruvin9x] Issue 12 fixed --- src/menu_model.cpp | 6 +++--- src/menus.cpp | 6 +++--- src/menus.h | 35 ++++++++++++++--------------------- 3 files changed, 20 insertions(+), 27 deletions(-) diff --git a/src/menu_model.cpp b/src/menu_model.cpp index be38f9052..798696594 100644 --- a/src/menu_model.cpp +++ b/src/menu_model.cpp @@ -599,10 +599,10 @@ void menuModelSelect(uint8_t event) putsModelName(4*FW, y, name, k, 0); lcd_outdezAtt(20*FW, y, eeModelSize(k), 0); #endif - if (k==g_eeGeneral.currModel && (s_copyMode!=COPY_MODE || s_copySrcRow<0 || i+s_pgOfs!=(pgofs_t)sub)) lcd_putc(1, y, '*'); + if (k==g_eeGeneral.currModel && (s_copyMode!=COPY_MODE || s_copySrcRow<0 || i+s_pgOfs!=(vertpos_t)sub)) lcd_putc(1, y, '*'); } - if (s_copyMode && (pgofs_t)sub==i+s_pgOfs) { + if (s_copyMode && (vertpos_t)sub==i+s_pgOfs) { lcd_filled_rect(9, y, LCD_W-1-9, 7); lcd_rect(8, y-1, LCD_W-1-7, 9, s_copyMode == COPY_MODE ? SOLID : DOTTED); } @@ -2276,7 +2276,7 @@ void menuModelMixOne(uint8_t event) TITLE(s_currCh ? STR_INSERTMIX : STR_EDITMIX); MixData *md2 = mixaddress(s_currIdx) ; - putsChn(lcdLastPos+1*FW,0,md2->destCh+1,0); + putsChn(lcdLastPos+1*FW, 0, md2->destCh+1,0); #if defined(ROTARY_ENCODERS) #if defined(CURVES) diff --git a/src/menus.cpp b/src/menus.cpp index 1247a9b5d..ddb6cd95b 100644 --- a/src/menus.cpp +++ b/src/menus.cpp @@ -36,7 +36,7 @@ #include "opentx.h" -pgofs_t s_pgOfs; +vertpos_t s_pgOfs; int8_t s_editMode; uint8_t s_noHi; uint8_t s_noScroll; @@ -675,8 +675,8 @@ bool check(check_event_t event, uint8_t curr, const MenuFuncP *menuTab, uint8_t uint8_t max = menuTab ? LCD_LINES-1 : LCD_LINES-2; if (l_posVert<1) s_pgOfs=0; - else if (l_posVert-s_pgOfs>max) s_pgOfs = l_posVert-max; - else if (l_posVert-s_pgOfs<1) s_pgOfs = l_posVert-1; + else if (l_posVert>max+s_pgOfs) s_pgOfs = l_posVert-max; + else if (l_posVert<1+s_pgOfs) s_pgOfs = l_posVert-1; m_posVert = l_posVert; m_posHorz = l_posHorz; #if !defined(CPUM64) diff --git a/src/menus.h b/src/menus.h index 8c406b5db..ffebbc899 100644 --- a/src/menus.h +++ b/src/menus.h @@ -73,13 +73,24 @@ inline void displayColumnHeader(const char **headers, uint8_t index) #define lcd_putsColumnLeft(x, y, str) lcd_putsLeft(y, str) #endif +// Menus related stuff ... #if defined(SDCARD) -typedef uint16_t pgofs_t; + typedef uint16_t vertpos_t; #else -typedef uint8_t pgofs_t; + typedef uint8_t vertpos_t; #endif -extern pgofs_t s_pgOfs; +#if defined(PCBTARANIS) + typedef uint8_t & check_event_t; + #define horzpos_t int8_t +#else + typedef uint8_t check_event_t; + #define horzpos_t uint8_t +#endif + +extern vertpos_t m_posVert; +extern horzpos_t m_posHorz; +extern vertpos_t s_pgOfs; extern uint8_t s_noHi; extern uint8_t s_noScroll; @@ -173,24 +184,6 @@ int8_t checkIncDecGen(uint8_t event, int8_t i_val, int8_t i_min, int8_t i_max); #define CHECK_INCDEC_GENVAR(event, var, min, max) \ var = checkIncDecGen(event,var,min,max) -// Menus related stuff ... -#if defined(SDCARD) - #define vertpos_t uint16_t -#else - #define vertpos_t uint8_t -#endif - -#if defined(PCBTARANIS) - typedef uint8_t & check_event_t; - #define horzpos_t int8_t -#else - typedef uint8_t check_event_t; - #define horzpos_t uint8_t -#endif - -extern vertpos_t m_posVert; -extern horzpos_t m_posHorz; - #if defined(PCBTARANIS) #define NAVIGATION_LINE_BY_LINE 0x40 #else