fix: Display FS switch names and symbol (#1804)

This commit is contained in:
Batambatam
2022-04-05 21:17:28 +10:00
committed by GitHub
parent c8e9ca0a32
commit 9d27a6923c
2 changed files with 62 additions and 13 deletions
+31 -5
View File
@@ -730,14 +730,40 @@ void drawSource(coord_t x, coord_t y, uint32_t idx, LcdFlags att)
}
}
else if (idx >= MIXSRC_FIRST_SWITCH && idx <= MIXSRC_LAST_SWITCH) {
idx = idx-MIXSRC_FIRST_SWITCH;
if (ZEXIST(g_eeGeneral.switchNames[idx])) {
lcdDrawChar(x, y, '\212', att); //switch symbol
lcdDrawSizedText(lcdNextPos, y, g_eeGeneral.switchNames[idx], LEN_SWITCH_NAME, att);
#if defined(FUNCTION_SWITCHES)
if(idx >= MIXSRC_FIRST_FS_SWITCH) {
idx = idx-(MIXSRC_FIRST_SWITCH+NUM_REGULAR_SWITCHES);
if (ZEXIST(g_model.switchNames[idx])) {
lcdDrawChar(x, y, '\214', att); //switch symbol
lcdDrawSizedText(lcdNextPos, y, g_model.switchNames[idx], LEN_SWITCH_NAME, att);
}
else {
char s[LEN_SWITCH_NAME] = {'S', 'W'};
s[LEN_SWITCH_NAME-1] = '1' + idx;
lcdDrawChar(x, y, '\214', att); //switch symbol
lcdDrawSizedText(lcdNextPos, y, s, LEN_SWITCH_NAME, att);
}
}
else {
lcdDrawTextAtIndex(x, y, STR_VSRCRAW, idx + MIXSRC_FIRST_SWITCH - MIXSRC_Rud + 1, att);
idx = idx-MIXSRC_FIRST_SWITCH;
if (ZEXIST(g_eeGeneral.switchNames[idx])) {
lcdDrawChar(x, y, '\214', att); //switch symbol
lcdDrawSizedText(lcdNextPos, y, g_eeGeneral.switchNames[idx], LEN_SWITCH_NAME, att);
}
else
lcdDrawTextAtIndex(x, y, STR_VSRCRAW, idx + MIXSRC_FIRST_SWITCH - MIXSRC_Rud + 1, att);
}
#else
idx = idx-MIXSRC_FIRST_SWITCH;
if (ZEXIST(g_eeGeneral.switchNames[idx])) {
lcdDrawChar(x, y, '\214', att); //switch symbol
lcdDrawSizedText(lcdNextPos, y, g_eeGeneral.switchNames[idx], LEN_SWITCH_NAME, att);
}
else
lcdDrawTextAtIndex(x, y, STR_VSRCRAW, idx + MIXSRC_FIRST_SWITCH - MIXSRC_Rud + 1, att);
#endif
}
else if (idx < MIXSRC_SW1)
lcdDrawTextAtIndex(x, y, STR_VSRCRAW, idx-MIXSRC_Rud+1, att);