From 0c09c07cd2fddcfa921abf49c4939ead2680e887 Mon Sep 17 00:00:00 2001 From: Bertrand Songis Date: Wed, 4 Apr 2018 11:00:24 +0200 Subject: [PATCH] xlite antenna selection menu (#5801) --- radio/src/gui/128x64/model_setup.cpp | 31 ++++++++++++++++++++++++++++ radio/src/translations/cz.h.txt | 6 +++--- radio/src/translations/de.h.txt | 4 ++-- radio/src/translations/en.h.txt | 6 +++--- radio/src/translations/es.h.txt | 6 +++--- radio/src/translations/fi.h.txt | 6 +++--- radio/src/translations/fr.h.txt | 6 +++--- radio/src/translations/it.h.txt | 6 +++--- radio/src/translations/nl.h.txt | 6 +++--- radio/src/translations/pl.h.txt | 6 +++--- radio/src/translations/pt.h.txt | 6 +++--- radio/src/translations/se.h.txt | 6 +++--- 12 files changed, 63 insertions(+), 32 deletions(-) diff --git a/radio/src/gui/128x64/model_setup.cpp b/radio/src/gui/128x64/model_setup.cpp index 698fa2df1..4001f46dd 100644 --- a/radio/src/gui/128x64/model_setup.cpp +++ b/radio/src/gui/128x64/model_setup.cpp @@ -64,6 +64,9 @@ enum MenuModelSetupItems { ITEM_MODEL_INTERNAL_MODULE_CHANNELS, ITEM_MODEL_INTERNAL_MODULE_BIND, ITEM_MODEL_INTERNAL_MODULE_FAILSAFE, +#if defined(PCBXLITE) + ITEM_MODEL_INTERNAL_MODULE_ANTENNA, +#endif #endif #if defined(CPUARM) ITEM_MODEL_EXTERNAL_MODULE_LABEL, @@ -176,6 +179,9 @@ enum MenuModelSetupItems { #elif defined(CPUM64) #define CURSOR_ON_CELL (true) #define MODEL_SETUP_MAX_LINES ((IS_PPM_PROTOCOL(protocol)||IS_DSM2_PROTOCOL(protocol)||IS_PXX_PROTOCOL(protocol)) ? HEADER_LINE+ITEM_MODEL_SETUP_MAX : HEADER_LINE+ITEM_MODEL_SETUP_MAX-1) +#elif defined(PCBXLITE) + #define CURSOR_ON_CELL (menuHorizontalPosition >= 0) + #define MODEL_SETUP_MAX_LINES ((IS_PPM_PROTOCOL(protocol)||IS_DSM2_PROTOCOL(protocol)||IS_PXX_PROTOCOL(protocol)) ? HEADER_LINE+ITEM_MODEL_SETUP_MAX : HEADER_LINE+ITEM_MODEL_SETUP_MAX-1) #else #define CURSOR_ON_CELL (true) #define MODEL_SETUP_MAX_LINES ((IS_PPM_PROTOCOL(protocol)||IS_DSM2_PROTOCOL(protocol)||IS_PXX_PROTOCOL(protocol)) ? HEADER_LINE+ITEM_MODEL_SETUP_MAX : HEADER_LINE+ITEM_MODEL_SETUP_MAX-1) @@ -233,6 +239,15 @@ void onBindMenu(const char * result) void menuModelSetup(event_t event) { +#if defined(PCBXLITE) + // Switch to external antenna confirmation + bool newAntennaSel; + if (warningResult) { + warningResult = 0; + g_model.moduleData[INTERNAL_MODULE].pxx.external_antenna = XJT_EXTERNAL_ANTENNA; + } +#endif + #if defined(PCBTARANIS) MENU_TAB({ HEADER_LINE_COLUMNS 0, TIMER_ROWS, TIMER_ROWS, TIMER_ROWS, 0, 1, 0, 0, 0, 0, 0, CASE_CPUARM(LABEL(PreflightCheck)) CASE_CPUARM(0) 0, NUM_SWITCHES-1, NUM_POTS, NUM_STICKS+NUM_POTS+NUM_SLIDERS+NUM_ROTARY_ENCODERS-1, 0, LABEL(InternalModule), @@ -240,6 +255,9 @@ void menuModelSetup(event_t event) INTERNAL_MODULE_CHANNELS_ROWS, IF_INTERNAL_MODULE_ON(HAS_RF_PROTOCOL_MODELINDEX(g_model.moduleData[INTERNAL_MODULE].rfProtocol) ? (uint8_t)2 : (uint8_t)1), IF_INTERNAL_MODULE_ON(FAILSAFE_ROWS(INTERNAL_MODULE)), +#if defined(PCBXLITE) + IF_INTERNAL_MODULE_ON(0), +#endif LABEL(ExternalModule), EXTERNAL_MODULE_MODE_ROWS, MULTIMODULE_SUBTYPE_ROWS(EXTERNAL_MODULE) @@ -1136,6 +1154,19 @@ void menuModelSetup(event_t event) } break; +#if defined(PCBXLITE) + case ITEM_MODEL_INTERNAL_MODULE_ANTENNA: + newAntennaSel = editChoice(MODEL_SETUP_2ND_COLUMN, y, STR_ANTENNASELECTION, STR_VANTENNATYPES, g_model.moduleData[INTERNAL_MODULE].pxx.external_antenna, 0, 1, attr, event); + if (newAntennaSel != g_model.moduleData[INTERNAL_MODULE].pxx.external_antenna && newAntennaSel == XJT_EXTERNAL_ANTENNA) { + POPUP_CONFIRMATION(STR_ANTENNACONFIRM1); + const char * w = STR_ANTENNACONFIRM2; + SET_WARNING_INFO(w, strlen(w), 0); + } + else { + g_model.moduleData[INTERNAL_MODULE].pxx.external_antenna = newAntennaSel; + } + break; +#endif case ITEM_MODEL_EXTERNAL_MODULE_OPTIONS: { uint8_t moduleIdx = CURRENT_MODULE_EDITED(k); diff --git a/radio/src/translations/cz.h.txt b/radio/src/translations/cz.h.txt index e81ee994a..b4e6da0ee 100644 --- a/radio/src/translations/cz.h.txt +++ b/radio/src/translations/cz.h.txt @@ -573,7 +573,7 @@ #define LEN_VCELLINDEX "\007" #define TR_VCELLINDEX "Nízký\0 ""1\0 ""2\0 ""3\0 ""4\0 ""5\0 ""6\0 ""Nejvíce""Delta\0" -#if defined(PCBX10) +#if defined(PCBX10) || defined(PCBXLITE) #define LEN_VANTENNATYPES "\010" #define TR_VANTENNATYPES "Internal""External" #else @@ -1056,9 +1056,9 @@ #define TR_UNIT "Jednotky" #define TR_TELEMETRY_NEWSENSOR INDENT "Přidat senzor ručně" #define TR_CHANNELRANGE TR(INDENT "Kanály", INDENT "Rozsah kanálů") -#define TR_ANTENNASELECTION INDENT "Volba antény" +#define TR_ANTENNASELECTION TR(INDENT "Antenna", INDENT "Volba antény") #define TR_ANTENNACONFIRM1 "Opravdu přepnout?" -#define TR_ANTENNACONFIRM2 "Ujisti se že je anténa připojena!" +#define TR_ANTENNACONFIRM2 TR("Check antenna", "Ujisti se že je anténa připojena!") #define TR_LOWALARM INDENT "Nízký Alarm" #define TR_CRITICALALARM INDENT "Kritický Alarm" #define TR_RSSIALARM_WARN TR("RSSI","TELEMETRY RSSI") diff --git a/radio/src/translations/de.h.txt b/radio/src/translations/de.h.txt index ef33613a0..75840b016 100644 --- a/radio/src/translations/de.h.txt +++ b/radio/src/translations/de.h.txt @@ -1071,9 +1071,9 @@ #define TR_UNIT "Einheit" #define TR_TELEMETRY_NEWSENSOR INDENT "Sensor hinzufügen ..." #define TR_CHANNELRANGE TR(INDENT "Kanäle", INDENT "Ausgangs Kanäle") //wg 9XR-Pro -#define TR_ANTENNASELECTION INDENT "Antenne auswählen" +#define TR_ANTENNASELECTION TR(INDENT "Antenna", INDENT "Antenne auswählen") #define TR_ANTENNACONFIRM1 "Ant. umschalten" -#define TR_ANTENNACONFIRM2 "Ist eine externe Antenne installiert?" +#define TR_ANTENNACONFIRM2 TR("Check antenna", "Ist eine externe Antenne installiert?") #define TR_LOWALARM INDENT "Warnungsschwelle" #define TR_CRITICALALARM INDENT "Kritischer Alarm" #define TR_RSSIALARM_WARN "Telemetry" diff --git a/radio/src/translations/en.h.txt b/radio/src/translations/en.h.txt index f160fc949..18dc7a058 100644 --- a/radio/src/translations/en.h.txt +++ b/radio/src/translations/en.h.txt @@ -585,7 +585,7 @@ #define LEN_VCELLINDEX "\007" #define TR_VCELLINDEX "Lowest\0""1\0 ""2\0 ""3\0 ""4\0 ""5\0 ""6\0 ""Highest""Delta\0" -#if defined(PCBX10) +#if defined(PCBX10) || defined(PCBXLITE) #define LEN_VANTENNATYPES "\010" #define TR_VANTENNATYPES "Internal""External" #else @@ -1064,9 +1064,9 @@ #define TR_UNIT "Unit" #define TR_TELEMETRY_NEWSENSOR INDENT "Add a new sensor..." #define TR_CHANNELRANGE TR(INDENT "Ch. Range", INDENT "Channel Range") -#define TR_ANTENNASELECTION INDENT "Antenna selection" +#define TR_ANTENNASELECTION TR(INDENT "Antenna", TR(INDENT "Antenna", INDENT "Antenna selection")) #define TR_ANTENNACONFIRM1 "Really switch?" -#define TR_ANTENNACONFIRM2 "Make sure antenna is installed!" +#define TR_ANTENNACONFIRM2 TR("Check antenna", "Make sure antenna is installed!") #define TR_LOWALARM INDENT "Low alarm" #define TR_CRITICALALARM INDENT "Critical alarm" #define TR_RSSIALARM_WARN "RSSI" diff --git a/radio/src/translations/es.h.txt b/radio/src/translations/es.h.txt index 828e03f02..8ea601184 100644 --- a/radio/src/translations/es.h.txt +++ b/radio/src/translations/es.h.txt @@ -572,7 +572,7 @@ #define LEN_VCELLINDEX "\007" #define TR_VCELLINDEX "Lowest\0""1\0 ""2\0 ""3\0 ""4\0 ""5\0 ""6\0 ""Highest""Delta\0" -#if defined(PCBX10) +#if defined(PCBX10) || defined(PCBXLITE) #define LEN_VANTENNATYPES "\010" #define TR_VANTENNATYPES "Internal""External" #else @@ -1041,9 +1041,9 @@ #define TR_UNIT "Unit" #define TR_TELEMETRY_NEWSENSOR INDENT "Add a new sensor..." #define TR_CHANNELRANGE INDENT "Gama de canales" -#define TR_ANTENNASELECTION INDENT "Antenna selection" +#define TR_ANTENNASELECTION TR(INDENT "Antenna", TR(INDENT "Antenna", INDENT "Antenna selection")) #define TR_ANTENNACONFIRM1 "Really switch?" -#define TR_ANTENNACONFIRM2 "Make sure antenna is installed!" +#define TR_ANTENNACONFIRM2 TR("Check antenna", "Make sure antenna is installed!") #define TR_LOWALARM INDENT "Alarma baja" #define TR_CRITICALALARM INDENT "Alarma Critica" #define TR_RSSIALARM_WARN TR("RSSI","TELEMETRY RSSI") diff --git a/radio/src/translations/fi.h.txt b/radio/src/translations/fi.h.txt index 7fce6fd62..236e51870 100644 --- a/radio/src/translations/fi.h.txt +++ b/radio/src/translations/fi.h.txt @@ -576,7 +576,7 @@ #define LEN_VCELLINDEX "\007" #define TR_VCELLINDEX "Lowest\0""1\0 ""2\0 ""3\0 ""4\0 ""5\0 ""6\0 ""Highest""Delta\0" -#if defined(PCBX10) +#if defined(PCBX10) || defined(PCBXLITE) #define LEN_VANTENNATYPES "\010" #define TR_VANTENNATYPES "Internal""External" #else @@ -1037,9 +1037,9 @@ #define TR_UNIT "Unit" #define TR_TELEMETRY_NEWSENSOR INDENT "Add a new sensor..." #define TR_CHANNELRANGE INDENT "Channel Range" -#define TR_ANTENNASELECTION INDENT "Antenna selection" +#define TR_ANTENNASELECTION TR(INDENT "Antenna", TR(INDENT "Antenna", INDENT "Antenna selection")) #define TR_ANTENNACONFIRM1 "Really switch?" -#define TR_ANTENNACONFIRM2 "Make sure antenna is installed!" +#define TR_ANTENNACONFIRM2 TR("Check antenna", "Make sure antenna is installed!") #define TR_LOWALARM INDENT "Low Alarm" #define TR_CRITICALALARM INDENT "Critical Alarm" #define TR_RSSIALARM_WARN TR("RSSI","TELEMETRY RSSI") diff --git a/radio/src/translations/fr.h.txt b/radio/src/translations/fr.h.txt index fe5a7d037..dc96e6323 100644 --- a/radio/src/translations/fr.h.txt +++ b/radio/src/translations/fr.h.txt @@ -597,7 +597,7 @@ #define LEN_VCELLINDEX "\007" #define TR_VCELLINDEX "Mini.\0 ""1\0 ""2\0 ""3\0 ""4\0 ""5\0 ""6\0 ""Maxi.\0 ""Diff.\0 " -#if defined(PCBX10) +#if defined(PCBX10) || defined(PCBXLITE) #define LEN_VANTENNATYPES "\007" #define TR_VANTENNATYPES "Interne""Externe" #else @@ -1070,9 +1070,9 @@ #define TR_UNIT "Unité" #define TR_TELEMETRY_NEWSENSOR TR(INDENT"Nouveau capteur...", INDENT "Ajout d'un nouveau capteur...") #define TR_CHANNELRANGE TR(INDENT "Canaux", INDENT "Plage de canaux") -#define TR_ANTENNASELECTION INDENT "Choix antenne" +#define TR_ANTENNASELECTION TR(INDENT "Antenne", INDENT "Choix antenne") #define TR_ANTENNACONFIRM1 "Vraiment changer?" -#define TR_ANTENNACONFIRM2 "Installer l'antenne d'abord!" +#define TR_ANTENNACONFIRM2 TR("Vérif antenne", "Installer l'antenne d'abord!") #define TR_LOWALARM INDENT "Alarme basse" #define TR_CRITICALALARM INDENT "Alarme critique" #define TR_RSSIALARM_WARN TR("RSSI", "TELEMETRIE") diff --git a/radio/src/translations/it.h.txt b/radio/src/translations/it.h.txt index 14a1f048d..03e1aea70 100644 --- a/radio/src/translations/it.h.txt +++ b/radio/src/translations/it.h.txt @@ -583,7 +583,7 @@ #define LEN_VCELLINDEX "\010" #define TR_VCELLINDEX "Minore\0 ""1\0 ""2\0 ""3\0 ""4\0 ""5\0 ""6\0 ""Maggiore""Delta\0" -#if defined(PCBX10) +#if defined(PCBX10) || defined(PCBXLITE) #define LEN_VANTENNATYPES "\010" #define TR_VANTENNATYPES "Internal""External" #else @@ -1066,9 +1066,9 @@ #define TR_UNIT "Unita" #define TR_TELEMETRY_NEWSENSOR INDENT "Aggiungi nuovo sensore..." #define TR_CHANNELRANGE INDENT "Numero Canali" -#define TR_ANTENNASELECTION INDENT "Antenna selection" +#define TR_ANTENNASELECTION TR(INDENT "Antenna", INDENT "Antenna selection") #define TR_ANTENNACONFIRM1 "Really switch?" -#define TR_ANTENNACONFIRM2 "Make sure antenna is installed!" +#define TR_ANTENNACONFIRM2 TR("Check antenna", "Make sure antenna is installed!") #define TR_LOWALARM INDENT "Allarme Basso" #define TR_CRITICALALARM INDENT "Allarme Critico" #define TR_RSSIALARM_WARN TR("RSSI","TELEMETRY RSSI") diff --git a/radio/src/translations/nl.h.txt b/radio/src/translations/nl.h.txt index e21114642..097d67e30 100644 --- a/radio/src/translations/nl.h.txt +++ b/radio/src/translations/nl.h.txt @@ -572,7 +572,7 @@ #define LEN_VCELLINDEX "\007" #define TR_VCELLINDEX "Laagste""1e Cel\0""2e Cel\0""3e Cel\0""4e Cel\0""5e Cel\0""6e Cel\0""Hoogste""Delta\0 " -#if defined(PCBX10) +#if defined(PCBX10) || defined(PCBXLITE) #define LEN_VANTENNATYPES "\010" #define TR_VANTENNATYPES "Internal""External" #else @@ -1057,9 +1057,9 @@ #define TR_UNIT "Eenheid" #define TR_TELEMETRY_NEWSENSOR INDENT "Sensor toevoegen ..." #define TR_CHANNELRANGE TR(INDENT "Kanalen", INDENT "Uitgangs Kanalen") //wg 9XR-Pro -#define TR_ANTENNASELECTION INDENT "Antenna selection" +#define TR_ANTENNASELECTION TR(INDENT "Antenna", INDENT "Antenna selection") #define TR_ANTENNACONFIRM1 "Antennes wisselen?" -#define TR_ANTENNACONFIRM2 "Is er zeker een antenne geplaatst!" +#define TR_ANTENNACONFIRM2 TR("Check antenna", "Is er zeker een antenne geplaatst!") #define TR_LOWALARM INDENT "Waarschuwing" #define TR_CRITICALALARM INDENT "Kritiek Alarm" #define TR_RSSIALARM_WARN TR("RSSI","TELEMETRY RSSI") diff --git a/radio/src/translations/pl.h.txt b/radio/src/translations/pl.h.txt index a7b0b0641..0534ae483 100644 --- a/radio/src/translations/pl.h.txt +++ b/radio/src/translations/pl.h.txt @@ -585,7 +585,7 @@ #define LEN_VCELLINDEX "\007" #define TR_VCELLINDEX "Niskie\0""1\0 ""2\0 ""3\0 ""4\0 ""5\0 ""6\0 ""Wysokie""Delta\0" -#if defined(PCBX10) +#if defined(PCBX10) || defined(PCBXLITE) #define LEN_VANTENNATYPES "\010" #define TR_VANTENNATYPES "Internal""External" #else @@ -1069,9 +1069,9 @@ #define TR_UNIT "Jedn" #define TR_TELEMETRY_NEWSENSOR INDENT "Dodaj nowy czujnik..." #define TR_CHANNELRANGE TR(INDENT "ZakrKn",INDENT "Zakres kanału") -#define TR_ANTENNASELECTION INDENT "Antenna selection" +#define TR_ANTENNASELECTION TR(INDENT "Antenna", INDENT "Antenna selection") #define TR_ANTENNACONFIRM1 "Really switch?" -#define TR_ANTENNACONFIRM2 "Make sure antenna is installed!" +#define TR_ANTENNACONFIRM2 TR("Check antenna", "Make sure antenna is installed!") #define TR_LOWALARM INDENT "Alarm niski" #define TR_CRITICALALARM INDENT "Alarm krytyczny" #define TR_RSSIALARM_WARN TR("RSSI","TELEMETRY RSSI") diff --git a/radio/src/translations/pt.h.txt b/radio/src/translations/pt.h.txt index 239260afb..aff7a15b9 100644 --- a/radio/src/translations/pt.h.txt +++ b/radio/src/translations/pt.h.txt @@ -575,7 +575,7 @@ #define LEN_VCELLINDEX "\007" #define TR_VCELLINDEX "Lowest\0""1\0 ""2\0 ""3\0 ""4\0 ""5\0 ""6\0 ""Highest""Delta\0" -#if defined(PCBX10) +#if defined(PCBX10) || defined(PCBXLITE) #define LEN_VANTENNATYPES "\010" #define TR_VANTENNATYPES "Internal""External" #else @@ -1044,9 +1044,9 @@ #define TR_UNIT "Unit" #define TR_TELEMETRY_NEWSENSOR INDENT "Add a new sensor..." #define TR_CHANNELRANGE INDENT "Channel Range" -#define TR_ANTENNASELECTION INDENT "Antenna selection" +#define TR_ANTENNASELECTION TR(INDENT "Antenna", INDENT "Antenna selection") #define TR_ANTENNACONFIRM1 "Really switch?" -#define TR_ANTENNACONFIRM2 "Make sure antenna is installed!" +#define TR_ANTENNACONFIRM2 TR("Check antenna", "Make sure antenna is installed!") #define TR_LOWALARM INDENT "Low Alarm" #define TR_CRITICALALARM INDENT "Critical Alarm" #define TR_RSSIALARM_WARN TR("RSSI","TELEMETRY RSSI") diff --git a/radio/src/translations/se.h.txt b/radio/src/translations/se.h.txt index 6297e1219..bc04ccb4f 100644 --- a/radio/src/translations/se.h.txt +++ b/radio/src/translations/se.h.txt @@ -592,7 +592,7 @@ #define LEN_VCELLINDEX "\010" #define TR_VCELLINDEX "Lägsta\0 ""1\0 ""2\0 ""3\0 ""4\0 ""5\0 ""6\0 ""Högsta\0 ""Skillnad" -#if defined(PCBX10) +#if defined(PCBX10) || defined(PCBXLITE) #define LEN_VANTENNATYPES "\010" #define TR_VANTENNATYPES "Internal""External" #else @@ -1076,9 +1076,9 @@ #define TR_UNIT "Enhet" #define TR_TELEMETRY_NEWSENSOR INDENT "Lägg till sensor..." #define TR_CHANNELRANGE INDENT "Kanalområde" -#define TR_ANTENNASELECTION INDENT "Antenna selection" +#define TR_ANTENNASELECTION TR(INDENT "Antenna", INDENT "Antenna selection") #define TR_ANTENNACONFIRM1 "Really switch?" -#define TR_ANTENNACONFIRM2 "Make sure antenna is installed!" +#define TR_ANTENNACONFIRM2 TR("Check antenna", "Make sure antenna is installed!") #define TR_LOWALARM INDENT "Låg-alarm" #define TR_CRITICALALARM INDENT "Kritiskt alarm" #define TR_RSSIALARM_WARN TR("RSSI","TELEMETRY RSSI")