128x64 GVAR support update (#5675)

* POC for usability feedbacks

* Working version for tests

* Remove tests leftover

* Make Travis happy ?

* Gvar popup handling
This commit is contained in:
3djc
2018-02-07 20:44:04 +01:00
committed by Andre Bernet
parent 975ecd0b9d
commit 119b367205
7 changed files with 147 additions and 10 deletions
+17 -7
View File
@@ -198,20 +198,28 @@ void menuModelFlightModeOne(event_t event)
{
uint8_t idx = i-ITEM_MODEL_FLIGHT_MODE_GV1;
uint8_t posHorz = menuHorizontalPosition;
if (attr && posHorz > 0 && s_currIdx==0) posHorz++;
drawStringWithIndex(INDENT_WIDTH, y, STR_GV, idx+1);
drawStringWithIndex(INDENT_WIDTH, y, STR_GV, idx+1, posHorz==0 ? attr : 0);
#if defined(CPUARM)
lcdDrawSizedText(4*FW, y,g_model.gvars[idx].name, LEN_GVAR_NAME, ZCHAR);
if (attr && editMode>0 && posHorz==0) {
s_currIdx = sub - ITEM_MODEL_FLIGHT_MODE_GV1;
editMode = 0;
pushMenu(menuModelGVarOne);
}
#else
editName(4*FW, y, g_model.gvars[idx].name, LEN_GVAR_NAME, event, posHorz==0 ? attr : 0);
#endif
int16_t v = fm->gvars[idx];
if (v > GVAR_MAX) {
uint8_t p = v - GVAR_MAX - 1;
if (p >= s_currIdx) p++;
drawFlightMode(10*FW, y, p+1, posHorz==1 ? attr : 0);
drawFlightMode(9*FW, y, p+1, posHorz==1 ? attr : 0);
}
else {
lcdDrawText(10*FW, y, STR_OWN, posHorz==1 ? attr : 0);
lcdDrawText(9*FW, y, STR_OWN, posHorz==1 ? attr : 0);
}
if (attr && s_currIdx>0 && posHorz==1 && (editMode>0 || p1valdiff)) {
if (v < GVAR_MAX) v = GVAR_MAX;
@@ -221,13 +229,15 @@ void menuModelFlightModeOne(event_t event)
fm->gvars[idx] = v;
}
}
#if defined(CPUARM)
editGVarValue(17*FW, y, event, idx, getGVarFlightMode(s_currIdx, idx), posHorz==2 ? attr : 0);
#else
uint8_t p = getGVarFlightMode(s_currIdx, idx);
lcdDrawNumber(18*FW, y, GVAR_VALUE(idx, p), posHorz==2 ? attr : 0);
if (attr && posHorz==2 && ((editMode>0) || p1valdiff)) {
GVAR_VALUE(idx, p) = checkIncDec(event, GVAR_VALUE(idx, p), -500, 500, EE_MODEL);
}
#endif
break;
}
#endif