From 0b7bbbbdbdf2aba1a53f8ef39fd9377dffbf4f58 Mon Sep 17 00:00:00 2001 From: bsongis Date: Thu, 10 Jul 2014 09:04:33 +0200 Subject: [PATCH] Fixes #1475 --- radio/src/gui/menu_model.cpp | 30 +++++++++++++----------------- 1 file changed, 13 insertions(+), 17 deletions(-) diff --git a/radio/src/gui/menu_model.cpp b/radio/src/gui/menu_model.cpp index 10b14bcd2..93d330e7b 100644 --- a/radio/src/gui/menu_model.cpp +++ b/radio/src/gui/menu_model.cpp @@ -1879,17 +1879,17 @@ enum FlightModesItems { bool isTrimModeAvailable(int mode) { - return (mode == TRIM_MODE_NONE || (mode%2) == 0 || (mode/2) != (m_posVert-1)); + return (mode < 0 || (mode%2) == 0 || (mode/2) != (m_posVert-1)); } void menuModelFlightModesAll(uint8_t event) { - MENU(STR_MENUFLIGHTPHASES, menuTabModel, e_FlightModesAll, 1+MAX_FLIGHT_MODES+1, {0, NAVIGATION_LINE_BY_LINE|(ITEM_FLIGHT_MODES_LAST-5), NAVIGATION_LINE_BY_LINE|ITEM_FLIGHT_MODES_LAST, NAVIGATION_LINE_BY_LINE|ITEM_FLIGHT_MODES_LAST, NAVIGATION_LINE_BY_LINE|NAVIGATION_LINE_BY_LINE|ITEM_FLIGHT_MODES_LAST, NAVIGATION_LINE_BY_LINE|ITEM_FLIGHT_MODES_LAST, NAVIGATION_LINE_BY_LINE|ITEM_FLIGHT_MODES_LAST, NAVIGATION_LINE_BY_LINE|ITEM_FLIGHT_MODES_LAST, NAVIGATION_LINE_BY_LINE|ITEM_FLIGHT_MODES_LAST, NAVIGATION_LINE_BY_LINE|ITEM_FLIGHT_MODES_LAST, 0}); + MENU(STR_MENUFLIGHTPHASES, menuTabModel, e_FlightModesAll, 1+MAX_FLIGHT_MODES+1, {0, NAVIGATION_LINE_BY_LINE|(ITEM_FLIGHT_MODES_LAST-1), NAVIGATION_LINE_BY_LINE|ITEM_FLIGHT_MODES_LAST, NAVIGATION_LINE_BY_LINE|ITEM_FLIGHT_MODES_LAST, NAVIGATION_LINE_BY_LINE|NAVIGATION_LINE_BY_LINE|ITEM_FLIGHT_MODES_LAST, NAVIGATION_LINE_BY_LINE|ITEM_FLIGHT_MODES_LAST, NAVIGATION_LINE_BY_LINE|ITEM_FLIGHT_MODES_LAST, NAVIGATION_LINE_BY_LINE|ITEM_FLIGHT_MODES_LAST, NAVIGATION_LINE_BY_LINE|ITEM_FLIGHT_MODES_LAST, NAVIGATION_LINE_BY_LINE|ITEM_FLIGHT_MODES_LAST, 0}); int8_t sub = m_posVert - 1; horzpos_t posHorz = m_posHorz; - if (sub==0 && posHorz > 0) { posHorz += 5; } + if (sub==0 && posHorz > 0) { posHorz += 1; } if (sub=0) { displayColumnHeader(STR_PHASES_HEADERS, posHorz); @@ -1926,28 +1926,24 @@ void menuModelFlightModesAll(uint8_t event) break; case ITEM_FLIGHT_MODES_SWITCH: - if (k == 0) { - lcd_puts((5+LEN_FP_NAME)*FW, y, STR_DEFAULT); - } - else { - putsSwitches((5+LEN_FP_NAME)*FW+FW/2, y, p->swtch, attr); - if (active) CHECK_INCDEC_MODELSWITCH(event, p->swtch, SWSRC_FIRST_SHORT_LIST, SWSRC_LAST_SHORT_LIST); - } + putsSwitches((5+LEN_FP_NAME)*FW+FW/2, y, p->swtch, attr); + if (active) CHECK_INCDEC_MODELSWITCH(event, p->swtch, SWSRC_FIRST_SHORT_LIST, SWSRC_LAST_SHORT_LIST); break; case ITEM_FLIGHT_MODES_TRIM_RUD: case ITEM_FLIGHT_MODES_TRIM_ELE: case ITEM_FLIGHT_MODES_TRIM_THR: case ITEM_FLIGHT_MODES_TRIM_AIL: - if (k != 0) { - uint8_t t = j-ITEM_FLIGHT_MODES_TRIM_RUD; - putsTrimMode((4+LEN_FP_NAME)*FW+j*(5*FW/2), y, k, t, attr); - if (active) { - trim_t & v = p->trim[t]; - v.mode = checkIncDec(event, v.mode==TRIM_MODE_NONE ? -1 : v.mode, -1, 2*MAX_FLIGHT_MODES-1, EE_MODEL, isTrimModeAvailable); - } + { + uint8_t t = j-ITEM_FLIGHT_MODES_TRIM_RUD; + putsTrimMode((4+LEN_FP_NAME)*FW+j*(5*FW/2), y, k, t, attr); + if (active) { + trim_t & v = p->trim[t]; + v.mode = checkIncDec(event, v.mode==TRIM_MODE_NONE ? -1 : v.mode, -1, k==0 ? 0 : 2*MAX_FLIGHT_MODES-1, EE_MODEL, isTrimModeAvailable); } break; + } + case ITEM_FLIGHT_MODES_FADE_IN: lcd_outdezAtt(32*FW-2, y, (10/DELAY_STEP)*p->fadeIn, attr|PREC1); if (active) p->fadeIn = checkIncDec(event, p->fadeIn, 0, DELAY_MAX, EE_MODEL|NO_INCDEC_MARKS);