feat: Surface mode improvements (#3908)

* feat: surface mode improvements

* fix: surface trim display

* fix: HE missing conditional TR_FM

* fix: Also CN,JP & TW for completeness

Co-authored-by: 3djc <lesitewebdejc@hotmail.com>
Co-authored-by: Peter Feerick <peter.feerick@gmail.com>
This commit is contained in:
Raphael Coeffic
2023-09-04 14:08:35 +10:00
committed by GitHub
co-authored by 3djc Peter Feerick
parent 56d45fa39b
commit 8be8b51813
20 changed files with 148 additions and 6 deletions
+3 -2
View File
@@ -73,12 +73,13 @@ void menuModelFlightModeOne(event_t event)
#if defined(TRIMS_GPIO_REG_T5L) || defined(TRIMS_GPIO_REG_LSD)
#define VERTICAL_SHIFT (ITEM_MODEL_FLIGHT_MODE_FADE_IN-ITEM_MODEL_FLIGHT_MODE_TRIMS2)
static const uint8_t mstate_tab_fm1[] = {0, 3, (uint8_t)(keysGetMaxTrims() - 5), 0, 0, (uint8_t)-1, 1, 1, 1, 1, 1, 1};
static const uint8_t mstate_tab_fm1[] = {0, 3, 3, 0, 0, (uint8_t)-1, 1, 1, 1, 1, 1, 1};
static const uint8_t mstate_tab_others[] = {0, 0, 3, 3, 0, 0,(uint8_t)-1, 2, 2, 2, 2, 2};
#else
#define VERTICAL_SHIFT (ITEM_MODEL_FLIGHT_MODE_FADE_IN-ITEM_MODEL_FLIGHT_MODE_TRIMS)
static const uint8_t mstate_tab_fm1[] = {0, 3, 0, 0, (uint8_t)-1, 1, 1, 1, 1, 1, 1};
#endif
static const uint8_t mstate_tab_others[] = {0, 0, 3, 0, 0, (uint8_t)-1, 2, 2, 2, 2, 2};
#endif
check(event, 0, nullptr, 0, (s_currIdx == 0) ? mstate_tab_fm1 : mstate_tab_others, DIM(mstate_tab_others)-1, ITEM_MODEL_FLIGHT_MODE_MAX - HEADER_LINE - (s_currIdx==0 ? (ITEM_MODEL_FLIGHT_MODE_FADE_IN-ITEM_MODEL_FLIGHT_MODE_SWITCH-1) : 0));
+7
View File
@@ -84,7 +84,14 @@ void menuRadioDiagKeys(event_t event)
if (i < keysGetMaxTrims() * 2) {
y = MENU_HEADER_HEIGHT + 1 + FH + FH * (i / 2);
#if defined(SURFACE_RADIO)
if (i & 1) {
lcdDrawText(14 * FW, y, "T");
lcdDrawNumber(lcdNextPos, y, 1 + i / 2);
}
#else
if (i & 1) lcdDraw1bitBitmap(14 * FW, y, sticks, i / 2, 0);
#endif
displayTrimState(i & 1 ? 20 * FW : 18 * FW, y, i);
}
+8 -3
View File
@@ -109,8 +109,8 @@ void drawPotsBars()
void doMainScreenGraphics()
{
#if defined(SURFACE_RADIO)
drawWheel(LBOX_CENTERX, calibratedAnalogs[ADC_MAIN_ST]);
drawThrottle(RBOX_CENTERX, calibratedAnalogs[ADC_MAIN_TH]);
drawWheel(RBOX_CENTERX, calibratedAnalogs[ADC_MAIN_ST]);
drawThrottle(LBOX_CENTERX, calibratedAnalogs[ADC_MAIN_TH]);
#else
int16_t calibStickVert = calibratedAnalogs[ADC_MAIN_LV];
if (g_model.throttleReversed && inputMappingConvertMode(ADC_MAIN_LV) == THR_STICK)
@@ -129,8 +129,13 @@ void doMainScreenGraphics()
void displayTrims(uint8_t phase)
{
for (uint8_t i = 0; i < keysGetMaxTrims(); i++) {
#if defined(SURFACE_RADIO)
static coord_t x[] = {TRIM_RH_X, TRIM_LH_X, TRIM_RV_X, TRIM_LV_X, TRIM_LV_X};
static uint8_t vert[] = {0, 0, 1, 1, 1};
#else
static coord_t x[] = {TRIM_LH_X, TRIM_LV_X, TRIM_RV_X, TRIM_RH_X, TRIM_LH_X, TRIM_LV_X, TRIM_RH_X, TRIM_RV_X};
static uint8_t vert[] = {0, 1, 1, 0, 0, 1, 0, 1};
#endif
coord_t xm, ym;
uint8_t stickIndex = inputMappingConvertMode(i);
xm = x[stickIndex];
@@ -186,7 +191,7 @@ void displayTrims(uint8_t phase)
}
else {
ym -= val;
if ((i > 4 && xm < LCD_W / 2) || (i < 4 && xm > LCD_W / 2) ) {
if ((i > 3 && xm < LCD_W / 2) || (i < 4 && xm > LCD_W / 2) ) {
lcdDrawSolidVerticalLine(xm - 1, ym, 1);
lcdDrawSolidVerticalLine(xm - 2, ym - 1, 3);
lcdDrawSolidVerticalLine(xm - 3, ym - 2, 5);
+1 -1
View File
@@ -44,7 +44,7 @@ void drawThrottle(coord_t centrex, int16_t wval)
constexpr coord_t MARKER_WIDTH = 5;
lcdDrawSquare(centrex-BOX_WIDTH/2, BOX_CENTERY-BOX_WIDTH/2, BOX_WIDTH);
lcdDrawSolidHorizontalLine(centrex - MARKER_WIDTH, BOX_CENTERY, 2 * MARKER_WIDTH + 1);
coord_t tsize = wval / 150;
coord_t tsize = - wval / 150;
lcdDrawLine( centrex - tsize, BOX_CENTERY, centrex, BOX_CENTERY + tsize, SOLID, FORCE);
lcdDrawLine( centrex + tsize, BOX_CENTERY, centrex, BOX_CENTERY + tsize, SOLID, FORCE);
}
+4
View File
@@ -424,7 +424,11 @@
#define TR_PPM_TRAINER "TR"
#define TR_CH "CH"
#define TR_MODEL "模型"
#if defined(SURFACE_RADIO)
#define TR_FM "DM"
#else
#define TR_FM "FM"
#else
#define TR_EEPROMLOWMEM "EEPROM low mem"
#define TR_PRESS_ANY_KEY_TO_SKIP "按任意键跳过"
#define TR_THROTTLE_NOT_IDLE "请将油门拉至最低!"
+9
View File
@@ -440,7 +440,11 @@
#define TR_PPM_TRAINER "TR"
#define TR_CH "CH"
#define TR_MODEL "MODEL"
#if defined(SURFACE_RADIO)
#define TR_FM "DM"
#else
#define TR_FM "LR"
#endif
#define TR_EEPROMLOWMEM "Dochází EEPROM"
#define TR_PRESS_ANY_KEY_TO_SKIP TR("\003Klávesa >>> přeskočit", "Klávesa >>> přeskočit")
#define TR_THROTTLE_NOT_IDLE TR("\003Páka plynu je pohnutá", "Páka plynu není na nule")
@@ -472,8 +476,13 @@
#define TR_CHANNEL2FAILSAFE "Kanál=>Failsafe"
#define TR_MENUMODELSEL "MODEL"
#define TR_MENU_MODEL_SETUP "NASTAVENÍ"
#if defined(SURFACE_RADIO)
#define TR_MENUFLIGHTMODES "DRIVE MODES"
#define TR_MENUFLIGHTMODE "DRIVE MODE"
#else
#define TR_MENUFLIGHTMODE "LETOVÝ REŽIM"
#define TR_MENUFLIGHTMODES "LETOVÉ REŽIMY"
#endif
#define TR_MENUHELISETUP "HELI"
#define TR_MENULIMITS "SERVA"
+9
View File
@@ -434,7 +434,11 @@
#define TR_PPM_TRAINER "TR"
#define TR_CH "KA"
#define TR_MODEL "MODEL"
#if defined(SURFACE_RADIO)
#define TR_FM "DM"
#else
#define TR_FM "FT"
#endif
#define TR_EEPROMLOWMEM "EEPROM lav mem"
#define TR_PRESS_ANY_KEY_TO_SKIP "Tryk tast for at droppe"
#define TR_THROTTLE_NOT_IDLE "Gas ikke i tomgang"
@@ -466,8 +470,13 @@
#define TR_CHANNEL2FAILSAFE "Kanal=>Fejlsikring"
#define TR_MENUMODELSEL TR("MODELLER", "MODEL VALG")
#define TR_MENU_MODEL_SETUP TR("SETUP", "MODEL SETUP")
#if defined(SURFACE_RADIO)
#define TR_MENUFLIGHTMODES "DRIVE MODES"
#define TR_MENUFLIGHTMODE "DRIVE MODE"
#else
#define TR_MENUFLIGHTMODES "FLYVE TILSTANDE"
#define TR_MENUFLIGHTMODE "FLYVE TILSTAND"
#endif
#define TR_MENUHELISETUP "HELI SETUP"
#define TR_MENUINPUTS "INDGANGE"
+9
View File
@@ -430,7 +430,11 @@
#define TR_PPM_TRAINER "TR"
#define TR_CH "CH"
#define TR_MODEL "MODELL"
#if defined(SURFACE_RADIO)
#define TR_FM "DM"
#else
#define TR_FM "FP"
#endif
#define TR_EEPROMLOWMEM "EEPROM voll"
#define TR_PRESS_ANY_KEY_TO_SKIP TR("Taste drücken",CENTER"Taste drücken")
#define TR_THROTTLE_NOT_IDLE "Gas nicht Null!"
@@ -462,8 +466,13 @@
#define TR_CHANNEL2FAILSAFE "Channel=>Failsafe"
#define TR_MENUMODELSEL TR("MODELLE", "MODELL WÄHLEN")
#define TR_MENU_MODEL_SETUP TR("MODELL-EINSTELLUNG", "MODELL-EINSTELLUNGEN")
#if defined(SURFACE_RADIO)
#define TR_MENUFLIGHTMODES "DRIVE MODES"
#define TR_MENUFLIGHTMODE "DRIVE MODE"
#else
#define TR_MENUFLIGHTMODE "FLUGPHASE"
#define TR_MENUFLIGHTMODES "FLUGPHASEN"
#endif
#define TR_MENUHELISETUP TR("HELI TS-Mischer", "HELI TS-Mischer CYC1-3")
#define TR_MENUINPUTS "INPUTS" //"Inputs=Geber"
#define TR_MENULIMITS "SERVOS" //"AUSGABEN" oder "Servos"
+9
View File
@@ -429,7 +429,11 @@
#define TR_PPM_TRAINER "TR"
#define TR_CH "CH"
#define TR_MODEL "MODEL"
#if defined(SURFACE_RADIO)
#define TR_FM "DM"
#else
#define TR_FM "FM"
#endif
#define TR_EEPROMLOWMEM "EEPROM low mem"
#define TR_PRESS_ANY_KEY_TO_SKIP "Press any key to skip"
#define TR_THROTTLE_NOT_IDLE "Throttle not idle"
@@ -461,8 +465,13 @@
#define TR_CHANNEL2FAILSAFE "Channel=>Failsafe"
#define TR_MENUMODELSEL TR("MODELSEL", "MODEL SELECTION")
#define TR_MENU_MODEL_SETUP TR("SETUP", "MODEL SETUP")
#if defined(SURFACE_RADIO)
#define TR_MENUFLIGHTMODES "DRIVE MODES"
#define TR_MENUFLIGHTMODE "DRIVE MODE"
#else
#define TR_MENUFLIGHTMODES "FLIGHT MODES"
#define TR_MENUFLIGHTMODE "FLIGHT MODE"
#endif
#define TR_MENUHELISETUP "HELI SETUP"
#define TR_MENUINPUTS "INPUTS"
+9
View File
@@ -420,7 +420,11 @@
#define TR_PPM_TRAINER "TR"
#define TR_CH "CH"
#define TR_MODEL "MODELO"
#if defined(SURFACE_RADIO)
#define TR_FM "DM"
#else
#define TR_FM "FM"
#endif
#define TR_EEPROMLOWMEM "EEPROM mem.baja"
#define TR_PRESS_ANY_KEY_TO_SKIP "Pulsar tecla para omitir"
#define TR_THROTTLE_NOT_IDLE "Aceler. Activado"
@@ -453,8 +457,13 @@
#define TR_MENUMODELSEL TR("MODELOS", "SELECCIÓN MODELO")
#define TR_MENU_MODEL_SETUP TR("SETUP", "MODEL SETUP")
#define TR_MENUSETUP TR("CONFIG. MODELO", "CONFIGURACIÓN MODELO")
#if defined(SURFACE_RADIO)
#define TR_MENUFLIGHTMODES "DRIVE MODES"
#define TR_MENUFLIGHTMODE "DRIVE MODE"
#else
#define TR_MENUFLIGHTMODE "MODO DE VUELO"
#define TR_MENUFLIGHTMODES "MODOS DE VUELO"
#endif
#define TR_MENUHELISETUP "CONFIGURACIÓN HELI"
+9
View File
@@ -435,7 +435,11 @@
#define TR_PPM_TRAINER "TR"
#define TR_CH "CH"
#define TR_MODEL "MODEL"
#if defined(SURFACE_RADIO)
#define TR_FM "DM"
#else
#define TR_FM "FM"
#endif
#define TR_EEPROMLOWMEM "EEPROM low mem"
#define TR_PRESS_ANY_KEY_TO_SKIP "Press any key to skip"
#define TR_THROTTLE_NOT_IDLE "Throttle not idle"
@@ -467,8 +471,13 @@
#define TR_CHANNEL2FAILSAFE "Channel=>Failsafe"
#define TR_MENUMODELSEL TR("MODELSEL","MODEL SELECTION")
#define TR_MENU_MODEL_SETUP TR("SETUP","MODEL SETUP")
#if defined(SURFACE_RADIO)
#define TR_MENUFLIGHTMODES "DRIVE MODES"
#define TR_MENUFLIGHTMODE "DRIVE MODE"
#else
#define TR_MENUFLIGHTMODE "FLIGHT MODE"
#define TR_MENUFLIGHTMODES "FLIGHT MODES"
#endif
#define TR_MENUHELISETUP "HELI SETUP"
#if defined(PCBTARANIS)
+9
View File
@@ -440,7 +440,11 @@
#define TR_PPM_TRAINER "TR"
#define TR_CH "CH"
#define TR_MODEL "MODÈLE"
#if defined(SURFACE_RADIO)
#define TR_FM "DM"
#else
#define TR_FM "PV"
#endif
#define TR_EEPROMLOWMEM "EEPROM pleine!"
#define TR_PRESS_ANY_KEY_TO_SKIP "Touche pour ignorer"
#define TR_THROTTLE_NOT_IDLE "Gaz pas à zéro"
@@ -472,8 +476,13 @@
#define TR_CHANNEL2FAILSAFE "Channel=>Failsafe"
#define TR_MENUMODELSEL "MODÈLES"
#define TR_MENU_MODEL_SETUP TR("CONF. MODÈLE", "CONFIGURATION")
#if defined(SURFACE_RADIO)
#define TR_MENUFLIGHTMODES "DRIVE MODES"
#define TR_MENUFLIGHTMODE "DRIVE MODE"
#else
#define TR_MENUFLIGHTMODE "PHASE DE VOL"
#define TR_MENUFLIGHTMODES "PHASES DE VOL"
#endif
#define TR_MENUHELISETUP TR("CONF.HÉLI", "CONFIGURATION HÉLICO")
#define TR_MENUINPUTS "ENTRÉES"
+9
View File
@@ -510,7 +510,11 @@
#define TR_PPM_TRAINER "TR"
#define TR_CH "ערוץ "
#define TR_MODEL "מודל"
#if defined(SURFACE_RADIO)
#define TR_FM "DM"
#else
#define TR_FM "FM"
#else
#define TR_EEPROMLOWMEM "EEPROM low mem"
#define TR_PRESS_ANY_KEY_TO_SKIP "לחץ על המסך או על כפתור"
#define TR_THROTTLE_NOT_IDLE "סטיק מצערת פתוח"
@@ -542,8 +546,13 @@
#define TR_CHANNEL2FAILSAFE "הגדר מצב נוכחי כקבוע"
#define TR_MENUMODELSEL TR("MODELSEL", "MODEL SELECTION")
#define TR_MENU_MODEL_SETUP TR("הגדרות מודל", "הגדרות מודל")
#if defined(SURFACE_RADIO)
#define TR_MENUFLIGHTMODES "DRIVE MODES"
#define TR_MENUFLIGHTMODE "DRIVE MODE"
#else
#define TR_MENUFLIGHTMODES "מצבי טיסה"
#define TR_MENUFLIGHTMODE "מצב טיסה"
#endif
#define TR_MENUHELISETUP "הגדרות מסוק"
#define TR_MENUINPUTS "כניסות"
+9
View File
@@ -428,7 +428,11 @@
#define TR_PPM_TRAINER "TR"
#define TR_CH "CH"
#define TR_MODEL "MODELLO"
#if defined(SURFACE_RADIO)
#define TR_FM "DM"
#else
#define TR_FM "FV"
#endif
#define TR_EEPROMLOWMEM "EEPROM quasi piena!"
#define TR_PRESS_ANY_KEY_TO_SKIP "\010Premi un tasto"
#define TR_THROTTLE_NOT_IDLE "Gas non a minimo"
@@ -460,8 +464,13 @@
#define TR_CHANNEL2FAILSAFE "Canale => Failsafe"
#define TR_MENUMODELSEL "MODELLI"
#define TR_MENU_MODEL_SETUP "CONFIGURA"
#if defined(SURFACE_RADIO)
#define TR_MENUFLIGHTMODES "DRIVE MODES"
#define TR_MENUFLIGHTMODE "DRIVE MODE"
#else
#define TR_MENUFLIGHTMODES "FASI DI VOLO"
#define TR_MENUFLIGHTMODE "FASE DI VOLO"
#endif
#define TR_MENUHELISETUP "CONFIGURA ELI"
#define TR_MENUINPUTS "INGRESSI"
#define TR_MENULIMITS "USCITE"
+4
View File
@@ -429,7 +429,11 @@
#define TR_PPM_TRAINER "TR"
#define TR_CH "CH"
#define TR_MODEL "モデル名"
#if defined(SURFACE_RADIO)
#define TR_FM "DM"
#else
#define TR_FM "FM"
#else
#define TR_EEPROMLOWMEM "EEPROMメモリ低"
#define TR_PRESS_ANY_KEY_TO_SKIP "任意のキーを押してスキップします"
#define TR_THROTTLE_NOT_IDLE "Throttleがアイドル値ではありません"
+9
View File
@@ -428,7 +428,11 @@
#define TR_PPM_TRAINER "TR"
#define TR_CH "CH"
#define TR_MODEL "MODEL"
#if defined(SURFACE_RADIO)
#define TR_FM "DM"
#else
#define TR_FM "FM"
#endif
#define TR_EEPROMLOWMEM "EEPROM weinig geheugen"
#define TR_PRESS_ANY_KEY_TO_SKIP "Druk een toets.."
#define TR_THROTTLE_NOT_IDLE "Gas niet Dicht!"
@@ -462,8 +466,13 @@
#define TR_CHANNEL2FAILSAFE "Channel=>Failsafe"
#define TR_MENUMODELSEL TR("MODELLEN", "MODEL KIEZEN")
#define TR_MENU_MODEL_SETUP TR("MODEL-INSTELLING", "MODEL-INSTELLINGEN")
#if defined(SURFACE_RADIO)
#define TR_MENUFLIGHTMODES "DRIVE MODES"
#define TR_MENUFLIGHTMODE "DRIVE MODE"
#else
#define TR_MENUFLIGHTMODES "VLIEGFASES"
#define TR_MENUFLIGHTMODE "VLIEGFASE"
#endif
#define TR_MENUHELISETUP "HELI TS-Mixer"
#define TR_MENUINPUTS "INPUTS"
+9
View File
@@ -425,7 +425,11 @@
#define TR_PPM_TRAINER "TR"
#define TR_CH "KN"
#define TR_MODEL "MODEL"
#if defined(SURFACE_RADIO)
#define TR_FM "DM"
#else
#define TR_FM "FL"
#endif
#define TR_EEPROMLOWMEM "Mało pamięci EEPROM"
#define TR_PRESS_ANY_KEY_TO_SKIP "Wciśnij guzik->ignoruj"
#define TR_THROTTLE_NOT_IDLE "Gaz nie na zerze"
@@ -457,8 +461,13 @@
#define TR_CHANNEL2FAILSAFE "Channel=>Failsafe"
#define TR_MENUMODELSEL TR("WYB.MODEL","WYBÓR MODELU")
#define TR_MENU_MODEL_SETUP TR("USTAW","USTAW MODELU")
#if defined(SURFACE_RADIO)
#define TR_MENUFLIGHTMODES "DRIVE MODES"
#define TR_MENUFLIGHTMODE "DRIVE MODE"
#else
#define TR_MENUFLIGHTMODE "FAZA LOTU"
#define TR_MENUFLIGHTMODES "FAZY LOTU"
#endif
#define TR_MENUHELISETUP "USTAW HELI"
#define TR_MENUINPUTS "WEJŚCIA"
+9
View File
@@ -432,7 +432,11 @@
#define TR_PPM_TRAINER "TR"
#define TR_CH "CH"
#define TR_MODEL "MODEL"
#if defined(SURFACE_RADIO)
#define TR_FM "DM"
#else
#define TR_FM "FM"
#endif
#define TR_EEPROMLOWMEM "EEPROM low mem"
#define TR_PRESS_ANY_KEY_TO_SKIP "Press tecla p/ sair"
#define TR_THROTTLE_NOT_IDLE "Acelerador ativo"
@@ -464,8 +468,13 @@
#define TR_CHANNEL2FAILSAFE "Chanal=>Failsafe"
#define TR_MENUMODELSEL TR("SEL MODELO", "SELECAO MODELO")
#define TR_MENU_MODEL_SETUP TR("CONFIG", "CONFIG. MODELO")
#if defined(SURFACE_RADIO)
#define TR_MENUFLIGHTMODES "DRIVE MODES"
#define TR_MENUFLIGHTMODE "DRIVE MODE"
#else
#define TR_MENUFLIGHTMODES "MODOS VOO"
#define TR_MENUFLIGHTMODE "MODO DE VOO"
#endif
#define TR_MENUHELISETUP "CONFIG HELI"
#define TR_MENUINPUTS "ENTRADAS"
+9
View File
@@ -450,7 +450,11 @@
#define TR_PPM_TRAINER "TR"
#define TR_CH "KA"
#define TR_MODEL "MODELL"
#if defined(SURFACE_RADIO)
#define TR_FM "DM"
#else
#define TR_FM "FL"
#endif
#define TR_EEPROMLOWMEM "Minnesbrist"
#define TR_PRESS_ANY_KEY_TO_SKIP "Avbryt med valfri knapp"
#define TR_THROTTLE_NOT_IDLE "Gasen är på!"
@@ -482,8 +486,13 @@
#define TR_CHANNEL2FAILSAFE "Kanal=>Failsafe"
#define TR_MENUMODELSEL TR("MODELL","VÄLJ MODELL")
#define TR_MENU_MODEL_SETUP TR("MODELLINSTÄLLNING","MODELLINSTÄLLNINGAR")
#if defined(SURFACE_RADIO)
#define TR_MENUFLIGHTMODES "DRIVE MODES"
#define TR_MENUFLIGHTMODE "DRIVE MODE"
#else
#define TR_MENUFLIGHTMODE "FLYGLÄGE"
#define TR_MENUFLIGHTMODES "FLYGLÄGEN"
#endif
#define TR_MENUHELISETUP "HELIKOPTER"
#define TR_MENUINPUTS "INPUT"
+4
View File
@@ -428,7 +428,11 @@
#define TR_PPM_TRAINER "TR"
#define TR_CH "CH"
#define TR_MODEL "模型"
#if defined(SURFACE_RADIO)
#define TR_FM "DM"
#else
#define TR_FM "FM"
#else
#define TR_EEPROMLOWMEM "EEPROM low mem"
#define TR_PRESS_ANY_KEY_TO_SKIP "按任意鍵跳過"
#define TR_THROTTLE_NOT_IDLE "請將油門拉至最低!"