Show multi failsafe to x7 UI (#5471)

* Show multi failsafe to x7 UI

* Cosmetics

* Fix also horus ui and remove useless ifs
This commit is contained in:
3djc
2017-12-07 18:49:55 +01:00
committed by Bertrand Songis
parent afd3103506
commit 81dbebb663
3 changed files with 60 additions and 66 deletions
+19 -21
View File
@@ -1059,28 +1059,26 @@ void menuModelSetup(event_t event)
case ITEM_MODEL_EXTERNAL_MODULE_FAILSAFE: { case ITEM_MODEL_EXTERNAL_MODULE_FAILSAFE: {
uint8_t moduleIdx = CURRENT_MODULE_EDITED(k); uint8_t moduleIdx = CURRENT_MODULE_EDITED(k);
ModuleData &moduleData = g_model.moduleData[moduleIdx]; ModuleData &moduleData = g_model.moduleData[moduleIdx];
if (IS_MODULE_PXX(moduleIdx)) { lcdDrawTextAlignedLeft(y, STR_FAILSAFE);
lcdDrawTextAlignedLeft(y, STR_FAILSAFE); lcdDrawTextAtIndex(MODEL_SETUP_2ND_COLUMN, y, STR_VFAILSAFE, moduleData.failsafeMode, menuHorizontalPosition == 0 ? attr : 0);
lcdDrawTextAtIndex(MODEL_SETUP_2ND_COLUMN, y, STR_VFAILSAFE, moduleData.failsafeMode, menuHorizontalPosition == 0 ? attr : 0); if (moduleData.failsafeMode == FAILSAFE_CUSTOM)
if (moduleData.failsafeMode == FAILSAFE_CUSTOM) lcdDrawText(MODEL_SETUP_2ND_COLUMN + MODEL_SETUP_SET_FAILSAFE_OFS, y, STR_SET, menuHorizontalPosition == 1 ? attr : 0);
lcdDrawText(MODEL_SETUP_2ND_COLUMN + MODEL_SETUP_SET_FAILSAFE_OFS, y, STR_SET, menuHorizontalPosition == 1 ? attr : 0); if (attr) {
if (attr) { if (moduleData.failsafeMode != FAILSAFE_CUSTOM)
if (moduleData.failsafeMode != FAILSAFE_CUSTOM) menuHorizontalPosition = 0;
menuHorizontalPosition = 0; if (menuHorizontalPosition == 0) {
if (menuHorizontalPosition == 0) { if (editMode > 0 || p1valdiff) {
if (editMode > 0 || p1valdiff) { CHECK_INCDEC_MODELVAR_ZERO(event, moduleData.failsafeMode, FAILSAFE_LAST);
CHECK_INCDEC_MODELVAR_ZERO(event, moduleData.failsafeMode, FAILSAFE_LAST); if (checkIncDec_Ret) SEND_FAILSAFE_NOW(moduleIdx);
if (checkIncDec_Ret) SEND_FAILSAFE_NOW(moduleIdx);
}
} else if (menuHorizontalPosition == 1) {
s_editMode = 0;
if (moduleData.failsafeMode == FAILSAFE_CUSTOM && event == EVT_KEY_FIRST(KEY_ENTER)) {
g_moduleIdx = moduleIdx;
pushMenu(menuModelFailsafe);
}
} else {
lcdDrawSolidFilledRect(MODEL_SETUP_2ND_COLUMN, y, LCD_W - MODEL_SETUP_2ND_COLUMN, 8);
} }
} else if (menuHorizontalPosition == 1) {
s_editMode = 0;
if (moduleData.failsafeMode == FAILSAFE_CUSTOM && event == EVT_KEY_FIRST(KEY_ENTER)) {
g_moduleIdx = moduleIdx;
pushMenu(menuModelFailsafe);
}
} else {
lcdDrawSolidFilledRect(MODEL_SETUP_2ND_COLUMN, y, LCD_W - MODEL_SETUP_2ND_COLUMN, 8);
} }
} }
} }
+21 -23
View File
@@ -1042,32 +1042,30 @@ void menuModelSetup(event_t event)
case ITEM_MODEL_EXTERNAL_MODULE_FAILSAFE: case ITEM_MODEL_EXTERNAL_MODULE_FAILSAFE:
{ {
uint8_t moduleIdx = CURRENT_MODULE_EDITED(k); uint8_t moduleIdx = CURRENT_MODULE_EDITED(k);
if (IS_MODULE_PXX(moduleIdx) || IS_MODULE_MULTIMODULE(moduleIdx)) { ModuleData & moduleData = g_model.moduleData[moduleIdx];
ModuleData & moduleData = g_model.moduleData[moduleIdx]; lcdDrawTextAlignedLeft(y, STR_FAILSAFE);
lcdDrawTextAlignedLeft(y, STR_FAILSAFE); lcdDrawTextAtIndex(MODEL_SETUP_2ND_COLUMN, y, STR_VFAILSAFE, moduleData.failsafeMode, menuHorizontalPosition==0 ? attr : 0);
lcdDrawTextAtIndex(MODEL_SETUP_2ND_COLUMN, y, STR_VFAILSAFE, moduleData.failsafeMode, menuHorizontalPosition==0 ? attr : 0); if (moduleData.failsafeMode == FAILSAFE_CUSTOM) lcdDrawText(MODEL_SETUP_2ND_COLUMN + MODEL_SETUP_SET_FAILSAFE_OFS, y, STR_SET, menuHorizontalPosition==1 ? attr : 0);
if (moduleData.failsafeMode == FAILSAFE_CUSTOM) lcdDrawText(MODEL_SETUP_2ND_COLUMN + MODEL_SETUP_SET_FAILSAFE_OFS, y, STR_SET, menuHorizontalPosition==1 ? attr : 0); if (attr) {
if (attr) { if (moduleData.failsafeMode != FAILSAFE_CUSTOM) {
if (moduleData.failsafeMode != FAILSAFE_CUSTOM) { menuHorizontalPosition = 0;
menuHorizontalPosition = 0; }
if (menuHorizontalPosition == 0) {
if (s_editMode > 0) {
CHECK_INCDEC_MODELVAR_ZERO(event, moduleData.failsafeMode, FAILSAFE_LAST);
if (checkIncDec_Ret) SEND_FAILSAFE_NOW(moduleIdx);
} }
if (menuHorizontalPosition == 0) { }
if (s_editMode > 0) { else if (menuHorizontalPosition == 1) {
CHECK_INCDEC_MODELVAR_ZERO(event, moduleData.failsafeMode, FAILSAFE_LAST); s_editMode = 0;
if (checkIncDec_Ret) SEND_FAILSAFE_NOW(moduleIdx); if (moduleData.failsafeMode==FAILSAFE_CUSTOM && event==EVT_KEY_FIRST(KEY_ENTER)) {
} g_moduleIdx = moduleIdx;
} pushMenu(menuModelFailsafe);
else if (menuHorizontalPosition == 1) {
s_editMode = 0;
if (moduleData.failsafeMode==FAILSAFE_CUSTOM && event==EVT_KEY_FIRST(KEY_ENTER)) {
g_moduleIdx = moduleIdx;
pushMenu(menuModelFailsafe);
}
}
else {
lcdDrawFilledRect(MODEL_SETUP_2ND_COLUMN, y, LCD_W - MODEL_SETUP_2ND_COLUMN - MENUS_SCROLLBAR_WIDTH, 8);
} }
} }
else {
lcdDrawFilledRect(MODEL_SETUP_2ND_COLUMN, y, LCD_W - MODEL_SETUP_2ND_COLUMN - MENUS_SCROLLBAR_WIDTH, 8);
}
} }
break; break;
} }
+20 -22
View File
@@ -942,33 +942,31 @@ bool menuModelSetup(event_t event)
case ITEM_MODEL_EXTERNAL_MODULE_FAILSAFE: case ITEM_MODEL_EXTERNAL_MODULE_FAILSAFE:
{ {
uint8_t moduleIdx = CURRENT_MODULE_EDITED(k); uint8_t moduleIdx = CURRENT_MODULE_EDITED(k);
if (IS_MODULE_PXX(moduleIdx)) {
ModuleData & moduleData = g_model.moduleData[moduleIdx]; ModuleData & moduleData = g_model.moduleData[moduleIdx];
lcdDrawText(MENUS_MARGIN_LEFT, y, STR_FAILSAFE); lcdDrawText(MENUS_MARGIN_LEFT, y, STR_FAILSAFE);
lcdDrawTextAtIndex(MODEL_SETUP_2ND_COLUMN, y, STR_VFAILSAFE, moduleData.failsafeMode, menuHorizontalPosition==0 ? attr : 0); lcdDrawTextAtIndex(MODEL_SETUP_2ND_COLUMN, y, STR_VFAILSAFE, moduleData.failsafeMode, menuHorizontalPosition==0 ? attr : 0);
if (moduleData.failsafeMode == FAILSAFE_CUSTOM) { if (moduleData.failsafeMode == FAILSAFE_CUSTOM) {
drawButton(MODEL_SETUP_2ND_COLUMN + MODEL_SETUP_SET_FAILSAFE_OFS, y, STR_SET, menuHorizontalPosition==1 ? attr : 0); drawButton(MODEL_SETUP_2ND_COLUMN + MODEL_SETUP_SET_FAILSAFE_OFS, y, STR_SET, menuHorizontalPosition==1 ? attr : 0);
}
if (attr) {
if (moduleData.failsafeMode != FAILSAFE_CUSTOM)
menuHorizontalPosition = 0;
if (menuHorizontalPosition==0) {
if (s_editMode>0) {
CHECK_INCDEC_MODELVAR_ZERO(event, moduleData.failsafeMode, FAILSAFE_LAST);
if (checkIncDec_Ret) SEND_FAILSAFE_NOW(moduleIdx);
}
} }
if (attr) { else if (menuHorizontalPosition==1) {
if (moduleData.failsafeMode != FAILSAFE_CUSTOM) s_editMode = 0;
menuHorizontalPosition = 0; if (moduleData.failsafeMode==FAILSAFE_CUSTOM && event==EVT_KEY_FIRST(KEY_ENTER)) {
if (menuHorizontalPosition==0) { g_moduleIdx = moduleIdx;
if (s_editMode>0) { pushMenu(menuModelFailsafe);
CHECK_INCDEC_MODELVAR_ZERO(event, moduleData.failsafeMode, FAILSAFE_LAST);
if (checkIncDec_Ret) SEND_FAILSAFE_NOW(moduleIdx);
}
}
else if (menuHorizontalPosition==1) {
s_editMode = 0;
if (moduleData.failsafeMode==FAILSAFE_CUSTOM && event==EVT_KEY_FIRST(KEY_ENTER)) {
g_moduleIdx = moduleIdx;
pushMenu(menuModelFailsafe);
}
}
else {
lcdDrawSolidFilledRect(MODEL_SETUP_2ND_COLUMN, y, LCD_W - MODEL_SETUP_2ND_COLUMN - 2, 8, TEXT_COLOR);
} }
} }
else {
lcdDrawSolidFilledRect(MODEL_SETUP_2ND_COLUMN, y, LCD_W - MODEL_SETUP_2ND_COLUMN - 2, 8, TEXT_COLOR);
}
} }
break; break;
} }