From ba6559107614ed933fe460e8469c93e040b5f78d Mon Sep 17 00:00:00 2001 From: bsongis Date: Thu, 8 Nov 2012 11:30:27 +0000 Subject: [PATCH] FSPLASH bug fixed Rotary Encoders Navigation bugs fixed --- src/general_menus.cpp | 4 +++- src/menus.cpp | 6 ++++-- src/model_menus.cpp | 4 ++-- 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/src/general_menus.cpp b/src/general_menus.cpp index 041dda397..cf0951964 100644 --- a/src/general_menus.cpp +++ b/src/general_menus.cpp @@ -120,7 +120,9 @@ enum menuGeneralSetupItems { ITEM_SETUP_FLASH_BEEP, ITEM_SETUP_BACKLIGHT_MODE, ITEM_SETUP_BACKLIGHT_DELAY, - IF_SPLASH(ITEM_SETUP_DISABLE_SPLASH) +#if defined(SPLASH) && !defined(FSPLASH) + ITEM_SETUP_DISABLE_SPLASH, +#endif IF_FRSKY(ITEM_SETUP_TIMEZONE) IF_FRSKY(ITEM_SETUP_GPSFORMAT) ITEM_SETUP_RX_CHANNEL_ORD, diff --git a/src/menus.cpp b/src/menus.cpp index 2710b502e..316b5a4b6 100644 --- a/src/menus.cpp +++ b/src/menus.cpp @@ -259,7 +259,7 @@ bool check(uint8_t event, uint8_t curr, const MenuFuncP *menuTab, uint8_t menuTa } if (g_eeGeneral.reNavigation && event == EVT_KEY_BREAK(BTN_REa+g_eeGeneral.reNavigation-1)) { if (s_editMode > 0 && (maxcol & ZCHAR)) { - if (m_posHorz < maxcol-ZCHAR) { + if (m_posHorz < (uint8_t)maxcol-ZCHAR) { m_posHorz++; } else { @@ -374,6 +374,7 @@ bool check(uint8_t event, uint8_t curr, const MenuFuncP *menuTab, uint8_t menuTa if (m_posVert < maxrow) { ++m_posVert; maxcol = MAXCOL(m_posVert); + if (maxcol & ZCHAR) maxcol = 0; if (maxcol < 0) m_posVert++; m_posHorz = 0; } @@ -393,7 +394,8 @@ bool check(uint8_t event, uint8_t curr, const MenuFuncP *menuTab, uint8_t menuTa } else { maxcol = MAXCOL(m_posVert); - if (maxcol < 0) { --m_posVert; maxcol = MAXCOL(m_posVert); } + if (maxcol & ZCHAR) maxcol = 0; + if (maxcol < 0) { --m_posVert; maxcol = MAXCOL(m_posVert); if (maxcol & ZCHAR) maxcol = 0; } m_posHorz = maxcol; } } diff --git a/src/model_menus.cpp b/src/model_menus.cpp index 1d211da94..5cd29cac7 100644 --- a/src/model_menus.cpp +++ b/src/model_menus.cpp @@ -1608,7 +1608,7 @@ void menuModelExpoOne(uint8_t event) ExpoData *ed = expoaddress(s_currIdx); putsChnRaw(7*FW+FW/2,0,ed->chn+1,0); - SUBMENU(STR_MENUDREXPO, EXPO_FIELD_MAX, {IF_PCBSKY9X(sizeof(ed->name)) 0, 0, IF_CURVES(1) IF_FLIGHT_PHASES(MAX_PHASES-1) 0 /*, ...*/}); + SUBMENU(STR_MENUDREXPO, EXPO_FIELD_MAX, {IF_PCBSKY9X(ZCHAR|(sizeof(ed->name)-1)) 0, 0, IF_CURVES(1) IF_FLIGHT_PHASES(MAX_PHASES-1) 0 /*, ...*/}); int8_t sub = m_posVert; @@ -1710,7 +1710,7 @@ void menuModelMixOne(uint8_t event) MixData *md2 = mixaddress(s_currIdx) ; putsChn(lcdLastPos+1*FW,0,md2->destCh+1,0); - SUBMENU_NOTITLE(MIX_FIELD_COUNT, {IF_PCBSKY9X(sizeof(md2->name)) 0, 0, 0, 1, IF_CURVES(1) 0, IF_FLIGHT_PHASES(MAX_PHASES-1) 0 /*, ...*/}); + SUBMENU_NOTITLE(MIX_FIELD_COUNT, {IF_PCBSKY9X(ZCHAR|(sizeof(md2->name)-1)) 0, 0, 0, 1, IF_CURVES(1) 0, IF_FLIGHT_PHASES(MAX_PHASES-1) 0 /*, ...*/}); int8_t sub = m_posVert; int8_t editMode = s_editMode;