From d80dc67bbd523b62303cd6435d724e0ff3c781ac Mon Sep 17 00:00:00 2001 From: 3djc Date: Tue, 19 Feb 2019 13:15:54 +0100 Subject: [PATCH] R9M and R9M2 --- radio/src/gui/128x64/model_setup.cpp | 28 ++++++++++++++-------------- radio/src/gui/480x272/popups.cpp | 2 +- radio/src/gui/gui_common.h | 2 +- radio/src/gui/gui_common_arm.cpp | 14 +++++++++++++- radio/src/myeeprom.h | 1 + radio/src/pulses/modules.h | 9 +++++++-- radio/src/pulses/pulses.cpp | 3 ++- radio/src/targets/horus/board.cpp | 4 +++- radio/src/telemetry/telemetry.h | 9 ++++----- radio/src/translations/cz.h.txt | 2 +- radio/src/translations/de.h.txt | 2 +- radio/src/translations/en.h.txt | 2 +- radio/src/translations/es.h.txt | 2 +- radio/src/translations/fi.h.txt | 2 +- radio/src/translations/fr.h.txt | 2 +- radio/src/translations/it.h.txt | 2 +- radio/src/translations/nl.h.txt | 2 +- radio/src/translations/pl.h.txt | 2 +- radio/src/translations/pt.h.txt | 2 +- radio/src/translations/se.h.txt | 2 +- 20 files changed, 57 insertions(+), 37 deletions(-) diff --git a/radio/src/gui/128x64/model_setup.cpp b/radio/src/gui/128x64/model_setup.cpp index a6b458222..05a4924d2 100644 --- a/radio/src/gui/128x64/model_setup.cpp +++ b/radio/src/gui/128x64/model_setup.cpp @@ -159,9 +159,8 @@ enum MenuModelSetupItems { #define MODEL_SETUP_RANGE_OFS 4*FW+3 #define MODEL_SETUP_SET_FAILSAFE_OFS 7*FW-2 -#define IS_PXX2_EXTERNAL_ENABLED() (isModulePXX2(EXTERNAL_MODULE)) -#define IF_PXX2(xxx) (IS_PXX2_INTERNAL_ENABLED() ? (uint8_t)(xxx) : HIDDEN_ROW) -#define IF_NOT_PXX2(xxx) (IS_PXX2_INTERNAL_ENABLED() ? HIDDEN_ROW : (uint8_t)(xxx)) +#define IF_PXX2(xxx) (isModulePXX2(INTERNAL_MODULE) ? (uint8_t)(xxx) : HIDDEN_ROW) +#define IF_NOT_PXX2(xxx) (isModulePXX2(INTERNAL_MODULE) ? HIDDEN_ROW : (uint8_t)(xxx)) #define IF_EXTERNAL_PXX2(xxx) (isModulePXX2(EXTERNAL_MODULE) ? (uint8_t)(xxx) : HIDDEN_ROW) #define IF_NOT_EXTERNAL_PXX2(xxx) (isModulePXX2(EXTERNAL_MODULE) ? HIDDEN_ROW : (uint8_t)(xxx)) #define IF_PXX2_RECEIVER_DISPLAYED(module, idx, xxx) ((isModulePXX2(module) && g_model.moduleData[module].pxx2.receivers[idx].enabled) ? (uint8_t)(xxx) : HIDDEN_ROW) @@ -232,6 +231,17 @@ enum MenuModelSetupItems { #define TRAINER_CHANNELS_ROW (IS_SLAVE_TRAINER() ? (uint8_t)1 : HIDDEN_ROW) #define TRAINER_PARAMS_ROW (IS_SLAVE_TRAINER() ? (uint8_t)2 : HIDDEN_ROW) #define TRAINER_ROWS LABEL(Trainer), 0, TRAINER_BLUETOOTH_ROW TRAINER_CHANNELS_ROW, TRAINER_PARAMS_ROW +#define DEF case ITEM_MODEL_INTERNAL_MODULE_PXX2_RECEIVER_1_NAME:\ + case ITEM_MODEL_INTERNAL_MODULE_PXX2_RECEIVER_2_NAME:\ + case ITEM_MODEL_EXTERNAL_MODULE_PXX2_RECEIVER_1_NAME:\ + case ITEM_MODEL_EXTERNAL_MODULE_PXX2_RECEIVER_2_NAME:\ + {\ + uint8_t receiverIdx = CURRENT_RECEIVER_EDITED(k);\ + uint8_t moduleIdx = CURRENT_MODULE_EDITED(k);\ +\ + lcdDrawTextAlignedLeft(y, STR_RECEIVER);\ + lcdDrawSizedText(MODEL_SETUP_2ND_COLUMN, y, g_model.moduleData[moduleIdx].pxx2.receivers[receiverIdx].rxName, PXX2_LEN_RX_NAME, 0);\ + } #elif defined(PCBXLITES) #define ANTENNA_ROW IF_INTERNAL_MODULE_ON(0), #define IF_BT_TRAINER_ON(x) (g_eeGeneral.bluetoothMode == BLUETOOTH_TRAINER ? (uint8_t)(x) : HIDDEN_ROW) @@ -1208,17 +1218,7 @@ void menuModelSetup(event_t event) } break; - case ITEM_MODEL_INTERNAL_MODULE_PXX2_RECEIVER_1_NAME: - case ITEM_MODEL_INTERNAL_MODULE_PXX2_RECEIVER_2_NAME: - case ITEM_MODEL_EXTERNAL_MODULE_PXX2_RECEIVER_1_NAME: - case ITEM_MODEL_EXTERNAL_MODULE_PXX2_RECEIVER_2_NAME: - { - uint8_t receiverIdx = CURRENT_RECEIVER_EDITED(k); - uint8_t moduleIdx = CURRENT_MODULE_EDITED(k); - - lcdDrawTextAlignedLeft(y, STR_RECEIVER); - lcdDrawSizedText(MODEL_SETUP_2ND_COLUMN, y, g_model.moduleData[moduleIdx].pxx2.receivers[receiverIdx].rxName, PXX2_LEN_RX_NAME, 0); - } + DEF break; case ITEM_MODEL_INTERNAL_MODULE_PXX2_RECEIVER_1_PINMAP: diff --git a/radio/src/gui/480x272/popups.cpp b/radio/src/gui/480x272/popups.cpp index 4a39cb1b6..4566bd85c 100644 --- a/radio/src/gui/480x272/popups.cpp +++ b/radio/src/gui/480x272/popups.cpp @@ -77,7 +77,7 @@ void runPopupWarning(event_t event) { warningResult = false; - theme->drawMessageBox(warningText, warningInfoText, WARNING_TYPE_INFO ? STR_OK : (warningType == WARNING_TYPE_ASTERISK ? STR_EXIT : STR_POPUPS_ENTER_EXIT_ENTER_EXIT), warningType); + theme->drawMessageBox(warningText, warningInfoText, WARNING_TYPE_INFO ? STR_OK : (warningType == WARNING_TYPE_ASTERISK ? STR_EXIT : STR_POPUPS_ENTER_EXIT), warningType); switch (event) { case EVT_KEY_BREAK(KEY_ENTER): diff --git a/radio/src/gui/gui_common.h b/radio/src/gui/gui_common.h index 3b21668b4..fffe0c5fc 100644 --- a/radio/src/gui/gui_common.h +++ b/radio/src/gui/gui_common.h @@ -156,7 +156,7 @@ const mm_protocol_definition *getMultiProtocolDefinition (uint8_t protocol); #define IS_D8_RX(x) (g_model.moduleData[x].rfProtocol == RF_PROTO_D8) #define IS_R9M_OR_XJTD16(x) ((isModuleXJT(x) && g_model.moduleData[x].rfProtocol== RF_PROTO_X16) || isModuleR9M(x)) -#define FAILSAFE_ROWS(x) ((isModuleXJTVariant(x) && HAS_RF_PROTOCOL_FAILSAFE(g_model.moduleData[x].rfProtocol)) || MULTIMODULE_HASFAILSAFE(x) || isModuleR9M(x)) ? (g_model.moduleData[x].failsafeMode==FAILSAFE_CUSTOM ? (uint8_t)1 : (uint8_t)0) : HIDDEN_ROW +#define FAILSAFE_ROWS(x) ((isModuleXJTVariant(x) && HAS_RF_PROTOCOL_FAILSAFE(g_model.moduleData[x].rfProtocol)) || MULTIMODULE_HASFAILSAFE(x) || isModuleR9M(x) || isModuleR9M2(x)) ? (g_model.moduleData[x].failsafeMode==FAILSAFE_CUSTOM ? (uint8_t)1 : (uint8_t)0) : HIDDEN_ROW #if defined(PCBXLITE) #define EXTERNAL_MODULE_OPTION_ROW (isModuleR9M(EXTERNAL_MODULE) || isModuleSBUS(EXTERNAL_MODULE) ? TITLE_ROW : MULTIMODULE_OPTIONS_ROW) diff --git a/radio/src/gui/gui_common_arm.cpp b/radio/src/gui/gui_common_arm.cpp index 0751d039c..77147d585 100644 --- a/radio/src/gui/gui_common_arm.cpp +++ b/radio/src/gui/gui_common_arm.cpp @@ -520,7 +520,7 @@ bool isInternalModuleAvailable(int module) if (module == MODULE_TYPE_NONE) return true; - if (module == (IS_PXX2_INTERNAL_ENABLED() ? MODULE_TYPE_XJT2 : MODULE_TYPE_XJT)) + if ((module == (IS_PXX2_INTERNAL_ENABLED() ? MODULE_TYPE_XJT2 : MODULE_TYPE_XJT)) && !isModulePXX2(EXTERNAL_MODULE)) return true; return false; @@ -561,6 +561,15 @@ bool isExternalModuleAvailable(int module) if (module == MODULE_TYPE_R9M && g_model.moduleData[INTERNAL_MODULE].type != MODULE_TYPE_NONE) { return false; } + if (module == MODULE_TYPE_R9M2 && g_model.moduleData[INTERNAL_MODULE].type != MODULE_TYPE_NONE) { + return false; + } + if (module == MODULE_TYPE_XJT && g_model.moduleData[INTERNAL_MODULE].type != MODULE_TYPE_NONE) { + return false; + } + if (module == MODULE_TYPE_XJT2 && g_model.moduleData[INTERNAL_MODULE].type != MODULE_TYPE_NONE) { + return false; + } #endif return true; @@ -582,6 +591,9 @@ bool isRfProtocolAvailable(int protocol) if (protocol != RF_PROTO_OFF && g_model.moduleData[EXTERNAL_MODULE].type == MODULE_TYPE_R9M) { return false; } + if (protocol != RF_PROTO_OFF && g_model.moduleData[EXTERNAL_MODULE].type == MODULE_TYPE_R9M2) { + return false; + } #endif return true; diff --git a/radio/src/myeeprom.h b/radio/src/myeeprom.h index 497b05c92..9d51e9981 100644 --- a/radio/src/myeeprom.h +++ b/radio/src/myeeprom.h @@ -407,6 +407,7 @@ enum ModuleTypes { MODULE_TYPE_CROSSFIRE, MODULE_TYPE_MULTIMODULE, MODULE_TYPE_R9M, + MODULE_TYPE_R9M2, MODULE_TYPE_SBUS, MODULE_TYPE_MAX = MODULE_TYPE_SBUS, MODULE_TYPE_COUNT diff --git a/radio/src/pulses/modules.h b/radio/src/pulses/modules.h index 24c85bf21..fe87cb0a5 100644 --- a/radio/src/pulses/modules.h +++ b/radio/src/pulses/modules.h @@ -56,7 +56,7 @@ inline bool isModuleXJT(uint8_t idx) inline bool isModuleXJT2(uint8_t idx) { - return g_model.moduleData[idx].type == MODULE_TYPE_XJT2 || g_model.moduleData[idx].type == MODULE_TYPE_R9M; + return g_model.moduleData[idx].type == MODULE_TYPE_XJT2; } @@ -146,6 +146,11 @@ inline bool isModuleR9M(uint8_t idx) return g_model.moduleData[idx].type == MODULE_TYPE_R9M; } +inline bool isModuleR9M2(uint8_t idx) +{ + return g_model.moduleData[idx].type == MODULE_TYPE_R9M2; +} + inline bool isModuleR9M_FCC(uint8_t idx) { return isModuleR9M(idx) && g_model.moduleData[idx].r9m.region == MODULE_R9M_REGION_FCC; @@ -179,7 +184,7 @@ inline bool isModulePXX(uint8_t idx) inline bool isModulePXX2(uint8_t idx) { - return isModuleXJT2(idx) || isModuleR9M(idx); + return isModuleXJT2(idx) || isModuleR9M2(idx); } #if defined(DSM2) diff --git a/radio/src/pulses/pulses.cpp b/radio/src/pulses/pulses.cpp index 0c7474757..799d0c3f9 100755 --- a/radio/src/pulses/pulses.cpp +++ b/radio/src/pulses/pulses.cpp @@ -50,11 +50,12 @@ uint8_t getRequiredProtocol(uint8_t module) break; case MODULE_TYPE_XJT: + case MODULE_TYPE_R9M: protocol = PROTOCOL_CHANNELS_PXX1; break; case MODULE_TYPE_XJT2: - case MODULE_TYPE_R9M: + case MODULE_TYPE_R9M2: protocol = PROTOCOL_CHANNELS_PXX2; break; diff --git a/radio/src/targets/horus/board.cpp b/radio/src/targets/horus/board.cpp index b37b78ead..046e8e065 100644 --- a/radio/src/targets/horus/board.cpp +++ b/radio/src/targets/horus/board.cpp @@ -29,6 +29,8 @@ extern "C" { } #endif +extern bool sticks_pwm_disabled; + HardwareOptions hardwareOptions; void watchdogInit(unsigned int duration) @@ -194,7 +196,7 @@ void boardInit() audioInit(); - // we need to initialize g_FATFS_Obj here, because it is in .ram section (because of DMA access) + // we need to initialize g_FATFS_Obj here, because it is in .ram section (because of DMA access) // and this section is un-initialized memset(&g_FATFS_Obj, 0, sizeof(g_FATFS_Obj)); diff --git a/radio/src/telemetry/telemetry.h b/radio/src/telemetry/telemetry.h index 7a834a32f..bf8d0119e 100644 --- a/radio/src/telemetry/telemetry.h +++ b/radio/src/telemetry/telemetry.h @@ -126,14 +126,13 @@ inline uint8_t modelTelemetryProtocol() return g_model.telemetryProtocol; } - if (!IS_INTERNAL_MODULE_ENABLED() && g_model.moduleData[EXTERNAL_MODULE].type == MODULE_TYPE_R9M) { -#if defined(PCBXLITE) - return PROTOCOL_TELEMETRY_FRSKY_SPORT; -#else + if (!IS_INTERNAL_MODULE_ENABLED() && isModulePXX2(EXTERNAL_MODULE)) { return PROTOCOL_TELEMETRY_PXX2; -#endif } + if (!IS_INTERNAL_MODULE_ENABLED() && isModulePXX(EXTERNAL_MODULE)) { + return PROTOCOL_TELEMETRY_FRSKY_SPORT; + } #if defined(MULTIMODULE) if (!IS_INTERNAL_MODULE_ENABLED() && g_model.moduleData[EXTERNAL_MODULE].type == MODULE_TYPE_MULTIMODULE) { return PROTOCOL_TELEMETRY_MULTIMODULE; diff --git a/radio/src/translations/cz.h.txt b/radio/src/translations/cz.h.txt index e1805bee5..846df51d0 100644 --- a/radio/src/translations/cz.h.txt +++ b/radio/src/translations/cz.h.txt @@ -103,7 +103,7 @@ #define TR_JACKMODES "Popup\0 ""Audio\0 ""Trainer" #define LEN_TARANIS_PROTOCOLS "\004" -#define TR_TARANIS_PROTOCOLS "Vyp\0""PPM\0""XJT\0""DSM2""CRSF""MULT""R9M\0""SBUS" +#define TR_TARANIS_PROTOCOLS "Vyp\0""PPM\0""XJT\0""DSM2""CRSF""MULT""R9M\0""R9M2""SBUS" #define LEN_TELEMETRY_PROTOCOLS "\017" #define TR_TELEMETRY_PROTOCOLS "FrSky S.PORT\0 FrSky D\0 FrSky D (kabel)Spektrum\0 " diff --git a/radio/src/translations/de.h.txt b/radio/src/translations/de.h.txt index 067d8c6f7..c1113ccd5 100644 --- a/radio/src/translations/de.h.txt +++ b/radio/src/translations/de.h.txt @@ -105,7 +105,7 @@ #define TR_JACKMODES "Popup\0 ""Audio\0 ""Trainer" #define LEN_TARANIS_PROTOCOLS "\004" -#define TR_TARANIS_PROTOCOLS "AUS\0""PPM\0""XJT\0""DSM?""CRSF""MULT""R9M\0""SBUS" +#define TR_TARANIS_PROTOCOLS "AUS\0""PPM\0""XJT\0""DSM?""CRSF""MULT""R9M\0""R9M2""SBUS" #define LEN_TELEMETRY_PROTOCOLS "\017" #define TR_TELEMETRY_PROTOCOLS "FrSky S.PORT\0 ""FrSky D\0 ""FrSky D (Kabel)""TBS Crossfire\0 ""Spektrum\0 ""AFHDS2A IBUS\0 ""Multi Telemetry" diff --git a/radio/src/translations/en.h.txt b/radio/src/translations/en.h.txt index e4546328b..c8283c509 100644 --- a/radio/src/translations/en.h.txt +++ b/radio/src/translations/en.h.txt @@ -105,7 +105,7 @@ #define TR_JACKMODES "Ask\0 ""Audio\0 ""Trainer" #define LEN_TARANIS_PROTOCOLS "\004" -#define TR_TARANIS_PROTOCOLS "OFF\0""PPM\0""XJT\0""XJT2""DSM2""CRSF""MULT""R9M\0""SBUS" +#define TR_TARANIS_PROTOCOLS "OFF\0""PPM\0""XJT\0""XJT2""DSM2""CRSF""MULT""R9M\0""R9M2""SBUS" #define LEN_TELEMETRY_PROTOCOLS "\017" #define TR_TELEMETRY_PROTOCOLS "FrSky S.PORT\0 ""FrSky D\0 ""FrSky D (cable)""TBS Crossfire\0 ""Spektrum\0 ""AFHDS2A IBUS\0 ""Multi Telemetry" diff --git a/radio/src/translations/es.h.txt b/radio/src/translations/es.h.txt index 7c376334c..c25de41ac 100644 --- a/radio/src/translations/es.h.txt +++ b/radio/src/translations/es.h.txt @@ -105,7 +105,7 @@ #define TR_JACKMODES "Ask\0 ""Audio\0 ""Trainer" #define LEN_TARANIS_PROTOCOLS "\004" -#define TR_TARANIS_PROTOCOLS )"OFF\0""PPM\0""XJT\0""XJT2""DSM2""CRSF""MULT""R9M\0""SBUS" +#define TR_TARANIS_PROTOCOLS )"OFF\0""PPM\0""XJT\0""XJT2""DSM2""CRSF""MULT""R9M\0""R9M2""SBUS" #define LEN_TELEMETRY_PROTOCOLS "\017" #define TR_TELEMETRY_PROTOCOLS "FrSky S.PORT\0 ""FrSky D\0 ""FrSky D (cable)""TBS Crossfire\0 ""Spektrum\0 ""AFHDS2A IBUS\0 ""Multi Telemetry" diff --git a/radio/src/translations/fi.h.txt b/radio/src/translations/fi.h.txt index 1f13dc56f..5815b18b4 100644 --- a/radio/src/translations/fi.h.txt +++ b/radio/src/translations/fi.h.txt @@ -105,7 +105,7 @@ #define TR_JACKMODES "Ask\0 ""Audio\0 ""Trainer" #define LEN_TARANIS_PROTOCOLS "\004" -#define TR_TARANIS_PROTOCOLS )"OFF\0""PPM\0""XJT\0""XJT2""DSM2""CRSF""MULT""R9M\0""SBUS" +#define TR_TARANIS_PROTOCOLS )"OFF\0""PPM\0""XJT\0""XJT2""DSM2""CRSF""MULT""R9M\0""R9M2""SBUS" #define LEN_TELEMETRY_PROTOCOLS "\017" #define TR_TELEMETRY_PROTOCOLS "FrSky S.PORT\0 ""FrSky D\0 ""FrSky D (cable)""TBS Crossfire\0 ""Spektrum\0 ""AFHDS2A IBUS\0 ""Multi Telemetry" diff --git a/radio/src/translations/fr.h.txt b/radio/src/translations/fr.h.txt index 9d2417b8b..c5e61d9d3 100644 --- a/radio/src/translations/fr.h.txt +++ b/radio/src/translations/fr.h.txt @@ -105,7 +105,7 @@ #define TR_JACKMODES "Ask\0 ""Audio\0 ""Trainer" #define LEN_TARANIS_PROTOCOLS "\004" -#define TR_TARANIS_PROTOCOLS )"OFF\0""PPM\0""XJT\0""XJT2""DSM2""CRSF""MULT""R9M\0""SBUS" +#define TR_TARANIS_PROTOCOLS )"OFF\0""PPM\0""XJT\0""XJT2""DSM2""CRSF""MULT""R9M\0""R9M2""SBUS" #define LEN_TELEMETRY_PROTOCOLS "\017" #define TR_TELEMETRY_PROTOCOLS "FrSky S.PORT\0 ""FrSky D\0 ""FrSky D (cable)""TBS Crossfire\0 ""Spektrum\0 ""AFHDS2A IBUS\0 ""Multi Telemetry" diff --git a/radio/src/translations/it.h.txt b/radio/src/translations/it.h.txt index 5c15154be..ea8d0272b 100644 --- a/radio/src/translations/it.h.txt +++ b/radio/src/translations/it.h.txt @@ -105,7 +105,7 @@ #define TR_JACKMODES "Ask\0 ""Audio\0 ""Trainer" #define LEN_TARANIS_PROTOCOLS "\004" -#define TR_TARANIS_PROTOCOLS )"OFF\0""PPM\0""XJT\0""XJT2""DSM2""CRSF""MULT""R9M\0""SBUS" +#define TR_TARANIS_PROTOCOLS )"OFF\0""PPM\0""XJT\0""XJT2""DSM2""CRSF""MULT""R9M\0""R9M2""SBUS" #define LEN_TELEMETRY_PROTOCOLS "\017" #define TR_TELEMETRY_PROTOCOLS "FrSky S.PORT\0 ""FrSky D\0 ""FrSky D (cable)""TBS Crossfire\0 ""Spektrum\0 ""AFHDS2A IBUS\0 ""Multi Telemetry" diff --git a/radio/src/translations/nl.h.txt b/radio/src/translations/nl.h.txt index e4ad7dcea..107733162 100644 --- a/radio/src/translations/nl.h.txt +++ b/radio/src/translations/nl.h.txt @@ -107,7 +107,7 @@ #define TR_JACKMODES "Popup\0 ""Audio\0 ""Trainer" #define LEN_TARANIS_PROTOCOLS "\004" -#define TR_TARANIS_PROTOCOLS "UIT\0""PPM\0""XJT\0""DSM2""CRSF""MULT""R9M\0""SBUS" +#define TR_TARANIS_PROTOCOLS "UIT\0""PPM\0""XJT\0""DSM2""CRSF""MULT""R9M\0""R9M2""SBUS" #define LEN_TELEMETRY_PROTOCOLS "\017" #define TR_TELEMETRY_PROTOCOLS "FrSky S.PORT\0 ""FrSky D\0 ""FrSky D (cable)""TBS Crossfire\0 ""Spektrum\0 ""AFHDS2A IBUS\0 ""Multi Telemetry" diff --git a/radio/src/translations/pl.h.txt b/radio/src/translations/pl.h.txt index 1667be9b5..bf74ec903 100644 --- a/radio/src/translations/pl.h.txt +++ b/radio/src/translations/pl.h.txt @@ -105,7 +105,7 @@ #define TR_JACKMODES "Ask\0 ""Audio\0 ""Trainer" #define LEN_TARANIS_PROTOCOLS "\004" -#define TR_TARANIS_PROTOCOLS )"OFF\0""PPM\0""XJT\0""XJT2""DSM2""CRSF""MULT""R9M\0""SBUS" +#define TR_TARANIS_PROTOCOLS )"OFF\0""PPM\0""XJT\0""XJT2""DSM2""CRSF""MULT""R9M\0""R9M2""SBUS" #define LEN_TELEMETRY_PROTOCOLS "\017" #define TR_TELEMETRY_PROTOCOLS "FrSky S.PORT\0 ""FrSky D\0 ""FrSky D (cable)""TBS Crossfire\0 ""Spektrum\0 ""AFHDS2A IBUS\0 ""Multi Telemetry" diff --git a/radio/src/translations/pt.h.txt b/radio/src/translations/pt.h.txt index 10ba610bf..37d2bdd10 100644 --- a/radio/src/translations/pt.h.txt +++ b/radio/src/translations/pt.h.txt @@ -105,7 +105,7 @@ #define TR_JACKMODES "Popup\0 ""Audio\0 ""Trainer" #define LEN_TARANIS_PROTOCOLS "\004" -#define TR_TARANIS_PROTOCOLS )"OFF\0""PPM\0""XJT\0""XJT2""DSM2""CRSF""MULT""R9M\0""SBUS" +#define TR_TARANIS_PROTOCOLS )"OFF\0""PPM\0""XJT\0""XJT2""DSM2""CRSF""MULT""R9M\0""R9M2""SBUS" #define LEN_TELEMETRY_PROTOCOLS "\017" #define TR_TELEMETRY_PROTOCOLS "FrSky S.PORT\0 ""FrSky D\0 ""FrSky D (cable)""TBS Crossfire\0 ""Spektrum\0 ""AFHDS2A IBUS\0 ""Multi Telemetry" diff --git a/radio/src/translations/se.h.txt b/radio/src/translations/se.h.txt index 879b199bc..a9bf87e83 100644 --- a/radio/src/translations/se.h.txt +++ b/radio/src/translations/se.h.txt @@ -105,7 +105,7 @@ #define TR_JACKMODES "Ask\0 ""Audio\0 ""Trainer" #define LEN_TARANIS_PROTOCOLS "\004" -#define TR_TARANIS_PROTOCOLS "Av\0 ""PPM\0""XJT\0""DSM2""CRSF""MULT""R9M\0""SBUS" +#define TR_TARANIS_PROTOCOLS "Av\0 ""PPM\0""XJT\0""DSM2""CRSF""MULT""R9M\0""R9M2""SBUS" #define LEN_TELEMETRY_PROTOCOLS "\017" #define TR_TELEMETRY_PROTOCOLS "FrSky S.PORT\0 ""FrSky D\0 ""FrSky D (cable)""TBS Crossfire\0 ""Spektrum\0 ""AFHDS2A IBUS\0 ""Multi Telemetry"