diff --git a/radio/src/gui/128x64/gui.h b/radio/src/gui/128x64/gui.h index 2a01a0b63..0e172f293 100644 --- a/radio/src/gui/128x64/gui.h +++ b/radio/src/gui/128x64/gui.h @@ -76,11 +76,6 @@ extern int8_t s_editMode; // global editmode #define INCDEC_ENABLE_CHECK(fn) isValueAvailable = fn #define CHECK_INCDEC_PARAM(event, var, min, max) checkIncDec(event, var, min, max, incdecFlag, isValueAvailable) -// mawrow special values -#define READONLY_ROW ((uint8_t)-1) -#define TITLE_ROW READONLY_ROW -#define HIDDEN_ROW ((uint8_t)-2) - struct CheckIncDecStops { const int count; const int stops[]; diff --git a/radio/src/gui/128x64/model_setup.cpp b/radio/src/gui/128x64/model_setup.cpp index 98727712f..291003575 100644 --- a/radio/src/gui/128x64/model_setup.cpp +++ b/radio/src/gui/128x64/model_setup.cpp @@ -264,7 +264,7 @@ void onBluetoothConnectMenu(const char * result) LABEL(InternalModule), \ INTERNAL_MODULE_TYPE_ROWS, \ INTERNAL_MODULE_CHANNELS_ROWS, \ - IF_NOT_ACCESS_MODULE_RF(INTERNAL_MODULE, IF_INTERNAL_MODULE_ON(isModuleModelIndexAvailable(INTERNAL_MODULE) ? (uint8_t)2 : (uint8_t)1)), \ + IF_NOT_ACCESS_MODULE_RF(INTERNAL_MODULE, IF_INTERNAL_MODULE_ON(isModuleRxNumAvailable(INTERNAL_MODULE) ? (uint8_t)2 : (uint8_t)1)), \ IF_ACCESS_MODULE_RF(INTERNAL_MODULE, 0), /* RxNum */ \ ANTENNA_ROW \ IF_INTERNAL_MODULE_ON(FAILSAFE_ROWS(INTERNAL_MODULE)), /* Failsafe */ \ @@ -1330,7 +1330,7 @@ void menuModelSetup(event_t event) else { horzpos_t l_posHorz = menuHorizontalPosition; coord_t xOffsetBind = MODEL_SETUP_BIND_OFS; - if (!isModuleModelIndexAvailable(moduleIdx)) { + if (!isModuleRxNumAvailable(moduleIdx)) { xOffsetBind = 0; lcdDrawText(INDENT_WIDTH, y, STR_RECEIVER); if (attr) l_posHorz += 1; @@ -1500,7 +1500,7 @@ void menuModelSetup(event_t event) const uint8_t multi_proto = g_model.moduleData[EXTERNAL_MODULE].getMultiProtocol(true); const mm_protocol_definition * pdef = getMultiProtocolDefinition(multi_proto); if (pdef->optionsstr) - lcdDrawTextAlignedLeft(y, pdef->optionsstr); + lcdDrawText(INDENT_WIDTH, y, pdef->optionsstr); if (multi_proto == MODULE_SUBTYPE_MULTI_FS_AFHDS2A) optionValue = 50 + 5 * optionValue; diff --git a/radio/src/gui/212x64/gui.h b/radio/src/gui/212x64/gui.h index 79481c56d..829016f80 100644 --- a/radio/src/gui/212x64/gui.h +++ b/radio/src/gui/212x64/gui.h @@ -94,11 +94,6 @@ extern int8_t s_editMode; // global editmode #define INCDEC_ENABLE_CHECK(fn) isValueAvailable = fn #define CHECK_INCDEC_PARAM(event, var, min, max) checkIncDec(event, var, min, max, incdecFlag, isValueAvailable) -// mawrow special values -#define READONLY_ROW ((uint8_t)-1) -#define TITLE_ROW READONLY_ROW -#define HIDDEN_ROW ((uint8_t)-2) - struct CheckIncDecStops { const int count; diff --git a/radio/src/gui/212x64/model_setup.cpp b/radio/src/gui/212x64/model_setup.cpp index a00611f1d..23f4127be 100644 --- a/radio/src/gui/212x64/model_setup.cpp +++ b/radio/src/gui/212x64/model_setup.cpp @@ -234,7 +234,15 @@ void editTimerCountdown(int timerIdx, coord_t y, LcdFlags attr, event_t event) #define TIMER_ROWS(x) 2|NAVIGATION_LINE_BY_LINE, 0, 0, 0, g_model.timers[x].countdownBeep != COUNTDOWN_SILENT ? (uint8_t) 1 : (uint8_t)0 -#define EXTERNAL_MODULE_MODE_ROWS (isModuleXJT(EXTERNAL_MODULE) || isModuleR9MNonAccess(EXTERNAL_MODULE) || isModuleDSM2(EXTERNAL_MODULE) || isModuleMultimodule(EXTERNAL_MODULE)) ? (uint8_t)1 : (uint8_t)0 +inline uint8_t EXTERNAL_MODULE_MODE_ROWS() { + if (isModuleXJT(EXTERNAL_MODULE) || isModuleR9MNonAccess(EXTERNAL_MODULE) || isModuleDSM2(EXTERNAL_MODULE)) + return 1; + else if (isModuleMultimodule(EXTERNAL_MODULE)) { + return 2 + MULTIMODULE_RFPROTO_ROWS(EXTERNAL_MODULE); + } + else + return 0; +} #if TIMERS == 1 #define TIMERS_ROWS TIMER_ROWS(0) @@ -325,7 +333,7 @@ void menuModelSetup(event_t event) IF_ACCESS_MODULE_RF(INTERNAL_MODULE, 0), // Receiver 3 LABEL(ExternalModule), - EXTERNAL_MODULE_MODE_ROWS, + EXTERNAL_MODULE_MODE_ROWS(), MULTIMODULE_STATUS_ROWS EXTERNAL_MODULE_CHANNELS_ROWS, IF_NOT_ACCESS_MODULE_RF(EXTERNAL_MODULE, EXTERNAL_MODULE_BIND_ROWS), @@ -794,15 +802,15 @@ void menuModelSetup(event_t event) // Do not use MODEL_SETUP_3RD_COLUMN here since some the protocol string are so long that we cannot afford the 2 spaces (+6) here if (g_model.moduleData[EXTERNAL_MODULE].multi.customProto) { - lcdDrawText(MODEL_SETUP_2ND_COLUMN + 5 * FW, y, STR_MULTI_CUSTOM, menuHorizontalPosition == 1 ? attr : 0); - lcdDrawNumber(MODEL_SETUP_2ND_COLUMN + 14 * FW, y, g_model.moduleData[EXTERNAL_MODULE].getMultiProtocol(false), menuHorizontalPosition == 2 ? attr : 0, 2); - lcdDrawNumber(MODEL_SETUP_2ND_COLUMN + 16 * FW, y, g_model.moduleData[EXTERNAL_MODULE].subType, menuHorizontalPosition == 3 ? attr : 0, 2); + lcdDrawText(lcdNextPos + FW, y, STR_MULTI_CUSTOM, menuHorizontalPosition == 1 ? attr : 0); + lcdDrawNumber(lcdNextPos + FW, y, g_model.moduleData[EXTERNAL_MODULE].getMultiProtocol(false), menuHorizontalPosition == 2 ? attr : 0, 2); + lcdDrawNumber(lcdNextPos + FW, y, g_model.moduleData[EXTERNAL_MODULE].subType, menuHorizontalPosition == 3 ? attr : 0, 2); } else { - lcdDrawTextAtIndex(MODEL_SETUP_2ND_COLUMN+5*FW, y, STR_MULTI_PROTOCOLS, multi_rfProto, menuHorizontalPosition==1 ? attr : 0); - const mm_protocol_definition *pdef = getMultiProtocolDefinition(multi_rfProto); - if (pdef->subTypeString != nullptr) { - lcdDrawTextAtIndex(MODEL_SETUP_2ND_COLUMN+11*FW, y, pdef->subTypeString, g_model.moduleData[EXTERNAL_MODULE].subType, menuHorizontalPosition==2 ? attr : 0); + lcdDrawTextAtIndex(lcdNextPos + FW, y, STR_MULTI_PROTOCOLS, multi_rfProto, menuHorizontalPosition==1 ? attr : 0); + const mm_protocol_definition * pdef = getMultiProtocolDefinition(multi_rfProto); + if (pdef->subTypeString) { + lcdDrawTextAtIndex(lcdNextPos + FW, y, pdef->subTypeString, g_model.moduleData[EXTERNAL_MODULE].subType, menuHorizontalPosition==2 ? attr : 0); } } } @@ -1034,7 +1042,7 @@ void menuModelSetup(event_t event) else { horzpos_t l_posHorz = menuHorizontalPosition; coord_t xOffsetBind = MODEL_SETUP_BIND_OFS; - if (!isModuleModelIndexAvailable(moduleIdx)) { + if (!isModuleRxNumAvailable(moduleIdx)) { xOffsetBind = 0; lcdDrawText(INDENT_WIDTH, y, STR_RECEIVER); if (attr) l_posHorz += 1; diff --git a/radio/src/gui/480x272/menus.h b/radio/src/gui/480x272/menus.h index 13c2a1442..8ba739d7e 100644 --- a/radio/src/gui/480x272/menus.h +++ b/radio/src/gui/480x272/menus.h @@ -283,10 +283,7 @@ extern int8_t s_editMode; // global editmode #define NO_DBLKEYS 0x80 // mawrow special values -#define READONLY_ROW ((uint8_t)-1) -#define TITLE_ROW READONLY_ROW -#define ORPHAN_ROW ((uint8_t)-2) -#define HIDDEN_ROW ((uint8_t)-3) +#define ORPHAN_ROW ((uint8_t)-3) #define NAVIGATION_LINE_BY_LINE 0x40 #define CURSOR_ON_LINE() (menuHorizontalPosition<0) diff --git a/radio/src/gui/480x272/model_setup.cpp b/radio/src/gui/480x272/model_setup.cpp index a86e0e790..ad6f31f72 100644 --- a/radio/src/gui/480x272/model_setup.cpp +++ b/radio/src/gui/480x272/model_setup.cpp @@ -584,7 +584,7 @@ bool menuModelSetup(event_t event) LABEL(InternalModule), INTERNAL_MODULE_TYPE_ROWS, INTERNAL_MODULE_CHANNELS_ROWS, - IF_NOT_ACCESS_MODULE_RF(INTERNAL_MODULE, IF_INTERNAL_MODULE_ON(IF_INTERNAL_MODULE_ON(isModuleModelIndexAvailable(INTERNAL_MODULE) ? (uint8_t)2 : (uint8_t)1))), + IF_NOT_ACCESS_MODULE_RF(INTERNAL_MODULE, IF_INTERNAL_MODULE_ON(IF_INTERNAL_MODULE_ON(isModuleRxNumAvailable(INTERNAL_MODULE) ? (uint8_t)2 : (uint8_t)1))), IF_ACCESS_MODULE_RF(INTERNAL_MODULE, 0), // RxNum ANTENNA_ROW IF_INTERNAL_MODULE_ON(FAILSAFE_ROWS(INTERNAL_MODULE)), @@ -1426,7 +1426,7 @@ bool menuModelSetup(event_t event) else { int l_posHorz = menuHorizontalPosition; coord_t xOffsetBind = MODEL_SETUP_BIND_OFS; - if (!isModuleModelIndexAvailable(moduleIdx)) { + if (!isModuleRxNumAvailable(moduleIdx)) { xOffsetBind = 0; lcdDrawText(MENUS_MARGIN_LEFT + INDENT_WIDTH, y, STR_RECEIVER); if (attr) l_posHorz += 1; @@ -1547,7 +1547,7 @@ bool menuModelSetup(event_t event) const uint8_t multi_proto = g_model.moduleData[EXTERNAL_MODULE].getMultiProtocol(true); const mm_protocol_definition *pdef = getMultiProtocolDefinition(multi_proto); if (pdef->optionsstr) - lcdDrawText(MENUS_MARGIN_LEFT, y, pdef->optionsstr); + lcdDrawText(MENUS_MARGIN_LEFT + INDENT_WIDTH, y, pdef->optionsstr); if (multi_proto == MODULE_SUBTYPE_MULTI_FS_AFHDS2A) optionValue = 50 + 5 * optionValue; diff --git a/radio/src/gui/gui_common.h b/radio/src/gui/gui_common.h index 419134caa..90102155a 100644 --- a/radio/src/gui/gui_common.h +++ b/radio/src/gui/gui_common.h @@ -25,6 +25,10 @@ #include "keys.h" #include "telemetry/telemetry_sensors.h" +#define READONLY_ROW ((uint8_t)-1) +#define TITLE_ROW READONLY_ROW +#define HIDDEN_ROW ((uint8_t)-2) + #if defined(ROTARY_ENCODER_NAVIGATION) #define CASE_EVT_ROTARY_LEFT case EVT_ROTARY_LEFT: #define CASE_EVT_ROTARY_RIGHT case EVT_ROTARY_RIGHT: @@ -120,26 +124,31 @@ void lcdDrawMMM(coord_t x, coord_t y, LcdFlags flags=0); #define EXTERNAL_MODULE_BIND_ROWS (isModuleXJTD8(EXTERNAL_MODULE) || isModuleSBUS(EXTERNAL_MODULE)) ? (uint8_t)1 : (isModulePPM(EXTERNAL_MODULE) || isModulePXX1(EXTERNAL_MODULE) || isModulePXX2(EXTERNAL_MODULE) || isModuleDSM2(EXTERNAL_MODULE) || isModuleMultimodule(EXTERNAL_MODULE)) ? (uint8_t)2 : HIDDEN_ROW #if defined(MULTIMODULE) -#define MULTIMODULE_STATUS_ROWS isModuleMultimodule(EXTERNAL_MODULE) ? TITLE_ROW : HIDDEN_ROW, (isModuleMultimodule(EXTERNAL_MODULE) && multiSyncStatus.isValid()) ? TITLE_ROW : HIDDEN_ROW, -#define MULTIMODULE_MODULE_ROWS isModuleMultimodule(EXTERNAL_MODULE) ? (uint8_t) 0 : HIDDEN_ROW, -#define MULTIMODULE_MODE_ROWS(x) (g_model.moduleData[x].multi.customProto) ? (uint8_t) 3 :MULTIMODULE_HAS_SUBTYPE(g_model.moduleData[x].getMultiProtocol(true)) ? (uint8_t)2 : (uint8_t)1 -#define MULTIMODULE_RFPROTO_ROWS(x) (g_model.moduleData[x].multi.customProto) ? (uint8_t) 1 :MULTIMODULE_HAS_SUBTYPE(g_model.moduleData[x].getMultiProtocol(true)) ? (uint8_t) 0 : HIDDEN_ROW -#define MULTIMODULE_SUBTYPE_ROWS(x) isModuleMultimodule(x) ? MULTIMODULE_RFPROTO_ROWS(x) : HIDDEN_ROW, -#define MULTIMODULE_HAS_SUBTYPE(x) (getMultiProtocolDefinition(x)->maxSubtype > 0) -#define MULTIMODULE_HASOPTIONS(x) (getMultiProtocolDefinition(x)->optionsstr != nullptr) -#define MULTIMODULE_OPTIONS_ROW (isModuleMultimodule(EXTERNAL_MODULE) && MULTIMODULE_HASOPTIONS(g_model.moduleData[EXTERNAL_MODULE].getMultiProtocol(true))) ? (uint8_t) 0: HIDDEN_ROW - // When using packed, the pointer in here end up not being aligned, which clang and gcc complain about // Keep the order of the fields that the so that the size stays small struct mm_protocol_definition { - uint8_t protocol; - uint8_t maxSubtype; - bool failsafe; - const char *subTypeString; - const char *optionsstr; + uint8_t protocol; + uint8_t maxSubtype; + bool failsafe; + const char *subTypeString; + const char *optionsstr; }; - const mm_protocol_definition *getMultiProtocolDefinition (uint8_t protocol); +#define MULTIMODULE_STATUS_ROWS isModuleMultimodule(EXTERNAL_MODULE) ? TITLE_ROW : HIDDEN_ROW, (isModuleMultimodule(EXTERNAL_MODULE) && multiSyncStatus.isValid()) ? TITLE_ROW : HIDDEN_ROW, +#define MULTIMODULE_MODULE_ROWS isModuleMultimodule(EXTERNAL_MODULE) ? (uint8_t) 0 : HIDDEN_ROW, +#define MULTIMODULE_MODE_ROWS(x) (g_model.moduleData[x].multi.customProto) ? (uint8_t) 3 :MULTIMODULE_HAS_SUBTYPE(g_model.moduleData[x].getMultiProtocol(true)) ? (uint8_t)2 : (uint8_t)1 +inline bool MULTIMODULE_HAS_SUBTYPE(uint8_t moduleIdx) +{ + return getMultiProtocolDefinition(moduleIdx)->maxSubtype > 0; +} +inline uint8_t MULTIMODULE_RFPROTO_ROWS(uint8_t moduleIdx) +{ + return (g_model.moduleData[moduleIdx].multi.customProto ? (uint8_t) 1 : MULTIMODULE_HAS_SUBTYPE(g_model.moduleData[moduleIdx].getMultiProtocol(true)) ? (uint8_t) 0 : HIDDEN_ROW); +} +#define MULTIMODULE_SUBTYPE_ROWS(x) isModuleMultimodule(x) ? MULTIMODULE_RFPROTO_ROWS(x) : HIDDEN_ROW, +#define MULTIMODULE_HASOPTIONS(x) (getMultiProtocolDefinition(x)->optionsstr != nullptr) +#define MULTIMODULE_OPTIONS_ROW (isModuleMultimodule(EXTERNAL_MODULE) && MULTIMODULE_HASOPTIONS(g_model.moduleData[EXTERNAL_MODULE].getMultiProtocol(true))) ? (uint8_t) 0: HIDDEN_ROW + #else #define MULTIMODULE_STATUS_ROWS #define MULTIMODULE_MODULE_ROWS diff --git a/radio/src/pulses/modules_helpers.h b/radio/src/pulses/modules_helpers.h index 41708ac01..ae5d36849 100644 --- a/radio/src/pulses/modules_helpers.h +++ b/radio/src/pulses/modules_helpers.h @@ -279,27 +279,27 @@ static const int8_t maxChannelsXJT[] = { 0, 8, 0, 4 }; // relative to 8! constexpr int8_t MAX_TRAINER_CHANNELS_M8 = MAX_TRAINER_CHANNELS - 8; constexpr int8_t MAX_EXTRA_MODULE_CHANNELS_M8 = 8; // only 16ch PPM -inline int8_t maxModuleChannels_M8(uint8_t idx) +inline int8_t maxModuleChannels_M8(uint8_t moduleIdx) { - if (isExtraModule(idx)) { + if (isExtraModule(moduleIdx)) { return MAX_EXTRA_MODULE_CHANNELS_M8; } - else if (isModuleXJT(idx)) { - return maxChannelsXJT[1 + g_model.moduleData[idx].subType]; + else if (isModuleXJT(moduleIdx)) { + return maxChannelsXJT[1 + g_model.moduleData[moduleIdx].subType]; } - else if (isModuleR9M(idx)) { - if (isModuleR9M_LBT(idx)) { - if (isModuleR9MLite(idx)) - return g_model.moduleData[idx].pxx.power == R9M_LITE_LBT_POWER_25_8CH ? 0 : 8; + else if (isModuleR9M(moduleIdx)) { + if (isModuleR9M_LBT(moduleIdx)) { + if (isModuleR9MLite(moduleIdx)) + return g_model.moduleData[moduleIdx].pxx.power == R9M_LITE_LBT_POWER_25_8CH ? 0 : 8; else - return g_model.moduleData[idx].pxx.power == R9M_LBT_POWER_25_8CH ? 0 : 8; + return g_model.moduleData[moduleIdx].pxx.power == R9M_LBT_POWER_25_8CH ? 0 : 8; } else { return 8; // always 16 channels in FCC / FLEX } } else { - return maxChannelsModules[g_model.moduleData[idx].type]; + return maxChannelsModules[g_model.moduleData[moduleIdx].type]; } } @@ -336,18 +336,21 @@ inline bool isDefaultModelRegistrationID() return memcmp(g_model.modelRegistrationID, g_eeGeneral.ownerRegistrationID, PXX2_LEN_REGISTRATION_ID) == 0; } -inline bool isModuleModelIndexAvailable(uint8_t idx) +inline bool isModuleRxNumAvailable(uint8_t moduleIdx) { - if (isModuleXJT(idx)) - return g_model.moduleData[idx].subType != MODULE_SUBTYPE_PXX1_ACCST_D8; + if (isModuleXJT(moduleIdx)) + return g_model.moduleData[moduleIdx].subType != MODULE_SUBTYPE_PXX1_ACCST_D8; - if (isModuleR9M(idx)) + if (isModuleR9M(moduleIdx)) return true; - if (isModuleDSM2(idx)) + if (isModuleDSM2(moduleIdx)) return true; - if (isModuleISRM(idx)) + if (isModuleISRM(moduleIdx)) + return true; + + if (isModuleMultimodule(moduleIdx)) return true; return false; diff --git a/radio/src/translations/de.h.txt b/radio/src/translations/de.h.txt index 27c41fffc..b2498def7 100644 --- a/radio/src/translations/de.h.txt +++ b/radio/src/translations/de.h.txt @@ -708,7 +708,7 @@ #define TR_MULTI_RFTUNE TR(INDENT "RF Freq.", INDENT "RF Freq. Feintuning") #define TR_MULTI_TELEMETRY "Telemetry" #define TR_MULTI_VIDFREQ TR(INDENT "Vid. Freq.", INDENT "Video Frequenz") -#define TR_RFPOWER INDENT "RF Power" +#define TR_RFPOWER "RF Power" #define TR_MULTI_OPTION TR(INDENT "Option", INDENT "Optionswert") #define TR_MULTI_AUTOBIND TR(INDENT "Autobind",INDENT "Bind on powerup") #define TR_MULTI_DSM_AUTODTECT TR(INDENT "Autodetect", INDENT "Autodetect format") @@ -731,7 +731,7 @@ #define TR_PROTOCOL_INVALID TR("Prot. invalid", "Protocol invalid") #define TR_MODULE_STATUS TR(INDENT "Status", INDENT "Module Status") #define TR_MODULE_SYNC TR(INDENT "Sync", INDENT "Module Sync") -#define TR_MULTI_SERVOFREQ TR(INDENT "Servo rate", INDENT "Servo update rate") +#define TR_MULTI_SERVOFREQ TR("Servo rate", "Servo update rate") #define TR_SYNCMENU "Sync [MENU]" #define TR_LIMIT INDENT "Grenzen" #define TR_MINRSSI "Min. RSSI" diff --git a/radio/src/translations/en.h.txt b/radio/src/translations/en.h.txt index 3bc4e90a0..8e0321d94 100644 --- a/radio/src/translations/en.h.txt +++ b/radio/src/translations/en.h.txt @@ -696,11 +696,11 @@ #define TR_MONITOR_MIXER_DESC "Mixers" #define TR_RECEIVER_NUM TR("RxNum", "Receiver No.") #define TR_RECEIVER "Receiver" -#define TR_MULTI_RFTUNE TR(INDENT "Freq tune",INDENT "RF Freq. fine tune") +#define TR_MULTI_RFTUNE TR("Freq tune", "RF Freq. fine tune") #define TR_MULTI_TELEMETRY "Telemetry" -#define TR_MULTI_VIDFREQ TR(INDENT "Vid. freq.", INDENT "Video frequency") -#define TR_RFPOWER INDENT "RF Power" -#define TR_MULTI_OPTION TR(INDENT "Option", INDENT "Option value") +#define TR_MULTI_VIDFREQ TR("Vid. freq.", "Video frequency") +#define TR_RFPOWER "RF Power" +#define TR_MULTI_OPTION TR("Option", "Option value") #define TR_MULTI_AUTOBIND TR(INDENT "Autobind",INDENT "Bind on powerup") #define TR_MULTI_DSM_AUTODTECT TR(INDENT "Autodetect", INDENT "Autodetect format") #define TR_MULTI_LOWPOWER TR(INDENT "Low power", INDENT "Low power mode") @@ -722,7 +722,7 @@ #define TR_PROTOCOL_INVALID TR("Prot. invalid", "Protocol invalid") #define TR_MODULE_STATUS TR(INDENT "Status", INDENT "Module Status") #define TR_MODULE_SYNC TR(INDENT "Sync", INDENT "Module Sync") -#define TR_MULTI_SERVOFREQ TR(INDENT "Servo rate", INDENT "Servo update rate") +#define TR_MULTI_SERVOFREQ TR("Servo rate", "Servo update rate") #define TR_SYNCMENU "[Sync]" #define TR_LIMIT INDENT "Limit" #define TR_MINRSSI "Min Rssi" diff --git a/radio/src/translations/es.h.txt b/radio/src/translations/es.h.txt index 93b9143b3..9a51253b9 100644 --- a/radio/src/translations/es.h.txt +++ b/radio/src/translations/es.h.txt @@ -720,11 +720,11 @@ #define TR_MONITOR_MIXER_DESC "Mixers" #define TR_RECEIVER_NUM TR("RxNum", "Receptor No.") #define TR_RECEIVER "Receiver" -#define TR_MULTI_RFTUNE TR(INDENT "Freq tune",INDENT "RF Freq. fine tune") +#define TR_MULTI_RFTUNE TR("Freq tune", "RF Freq. fine tune") #define TR_MULTI_TELEMETRY "Telemetry" -#define TR_MULTI_VIDFREQ TR(INDENT "Vid. freq.", INDENT "Video frequency") -#define TR_RFPOWER INDENT "RF Power" -#define TR_MULTI_OPTION TR(INDENT "Option", INDENT "Option value") +#define TR_MULTI_VIDFREQ TR("Vid. freq.", "Video frequency") +#define TR_RFPOWER "RF Power" +#define TR_MULTI_OPTION TR("Option", "Option value") #define TR_MULTI_AUTOBIND TR(INDENT "Autobind",INDENT "Bind on powerup") #define TR_MULTI_DSM_AUTODTECT TR(INDENT "Autodetect", INDENT "Autodetect format") #define TR_MULTI_LOWPOWER TR(INDENT "Low power", INDENT "Low power mode") @@ -746,7 +746,7 @@ #define TR_PROTOCOL_INVALID TR("Prot. invalid", "Protocol invalid") #define TR_MODULE_STATUS TR(INDENT "Status", INDENT "Module Status") #define TR_MODULE_SYNC TR(INDENT "Sync", INDENT "Module Sync") -#define TR_MULTI_SERVOFREQ TR(INDENT "Servo rate", INDENT "Servo update rate") +#define TR_MULTI_SERVOFREQ TR("Servo rate", "Servo update rate") #define TR_SYNCMENU "Sync " TR_ENTER #define TR_LIMIT INDENT"Limite" #define TR_MINRSSI "Min Rssi" diff --git a/radio/src/translations/fi.h.txt b/radio/src/translations/fi.h.txt index 5fa4e758e..bb7ec0280 100644 --- a/radio/src/translations/fi.h.txt +++ b/radio/src/translations/fi.h.txt @@ -713,11 +713,11 @@ #define TR_MONITOR_MIXER_DESC "Mixers" #define TR_RECEIVER_NUM TR("RxNum", "Receiver No.") #define TR_RECEIVER "Receiver" -#define TR_MULTI_RFTUNE TR(INDENT "Freq tune",INDENT "RF Freq. fine tune") +#define TR_MULTI_RFTUNE TR("Freq tune", "RF Freq. fine tune") #define TR_MULTI_TELEMETRY "Telemetry" -#define TR_MULTI_VIDFREQ TR(INDENT "Vid. freq.", INDENT "Video frequency") -#define TR_RFPOWER INDENT "RF Power" -#define TR_MULTI_OPTION TR(INDENT "Option", INDENT "Option value") +#define TR_MULTI_VIDFREQ TR("Vid. freq.", "Video frequency") +#define TR_RFPOWER "RF Power" +#define TR_MULTI_OPTION TR("Option", "Option value") #define TR_MULTI_AUTOBIND TR(INDENT "Autobind",INDENT "Bind on powerup") #define TR_MULTI_DSM_AUTODTECT TR(INDENT "Autodetect", INDENT "Autodetect format") #define TR_MULTI_LOWPOWER TR(INDENT "Low power", INDENT "Low power mode") @@ -739,7 +739,7 @@ #define TR_PROTOCOL_INVALID TR("Prot. invalid", "Protocol invalid") #define TR_MODULE_STATUS TR(INDENT "Status", INDENT "Module Status") #define TR_MODULE_SYNC TR(INDENT "Sync", INDENT "Module Sync") -#define TR_MULTI_SERVOFREQ TR(INDENT "Servo rate", INDENT "Servo update rate") +#define TR_MULTI_SERVOFREQ TR("Servo rate", "Servo update rate") #define TR_SYNCMENU "[Sync]" #define TR_LIMIT INDENT"Limit" #define TR_MINRSSI "Min Rssi" diff --git a/radio/src/translations/it.h.txt b/radio/src/translations/it.h.txt index 3d9d7a560..89ab7ecd5 100644 --- a/radio/src/translations/it.h.txt +++ b/radio/src/translations/it.h.txt @@ -714,11 +714,11 @@ #define TR_MONITOR_MIXER_DESC "Mixers" #define TR_RECEIVER_NUM TR("RxNum", "Ricevente No.") #define TR_RECEIVER "Receiver" -#define TR_MULTI_RFTUNE TR(INDENT "Freq tune",INDENT "RF Freq. fine tune") +#define TR_MULTI_RFTUNE TR("Freq tune", "RF Freq. fine tune") #define TR_MULTI_TELEMETRY "Telemetry" -#define TR_MULTI_VIDFREQ TR(INDENT "Vid. freq.", INDENT "Video frequency") -#define TR_RFPOWER INDENT "RF Power" -#define TR_MULTI_OPTION TR(INDENT "Option", INDENT "Option value") +#define TR_MULTI_VIDFREQ TR("Vid. freq.", "Video frequency") +#define TR_RFPOWER "RF Power" +#define TR_MULTI_OPTION TR("Option", "Option value") #define TR_MULTI_AUTOBIND TR(INDENT "Autobind",INDENT "Bind on powerup") #define TR_MULTI_DSM_AUTODTECT TR(INDENT "Autodetect", INDENT "Autodetect format") #define TR_MULTI_LOWPOWER TR(INDENT "Low power", INDENT "Low power mode") @@ -740,7 +740,7 @@ #define TR_PROTOCOL_INVALID TR("Prot. invalid", "Protocol invalid") #define TR_MODULE_STATUS TR(INDENT "Status", INDENT "Module Status") #define TR_MODULE_SYNC TR(INDENT "Sync", INDENT "Module Sync") -#define TR_MULTI_SERVOFREQ TR(INDENT "Servo rate", INDENT "Servo update rate") +#define TR_MULTI_SERVOFREQ TR("Servo rate", "Servo update rate") #define TR_SYNCMENU "[Sync]" #define TR_LIMIT INDENT "Limiti" #define TR_MINRSSI "Min Rssi" diff --git a/radio/src/translations/nl.h.txt b/radio/src/translations/nl.h.txt index 1195ec550..b988afcb0 100644 --- a/radio/src/translations/nl.h.txt +++ b/radio/src/translations/nl.h.txt @@ -703,11 +703,11 @@ TR_GYR_VSRCRAW #define TR_MONITOR_MIXER_DESC "Mixers" #define TR_RECEIVER_NUM TR("RxNum", "Receiver Nr.") #define TR_RECEIVER "Receiver" -#define TR_MULTI_RFTUNE TR(INDENT "Freq tune",INDENT "RF Freq. fine tune") +#define TR_MULTI_RFTUNE TR("Freq tune", "RF Freq. fine tune") #define TR_MULTI_TELEMETRY "Telemetry" -#define TR_MULTI_VIDFREQ TR(INDENT "Vid. freq.", INDENT "Video frequency") -#define TR_RFPOWER INDENT "RF Power" -#define TR_MULTI_OPTION TR(INDENT "Option", INDENT "Option value") +#define TR_MULTI_VIDFREQ TR("Vid. freq.", "Video frequency") +#define TR_RFPOWER "RF Power" +#define TR_MULTI_OPTION TR("Option", "Option value") #define TR_MULTI_AUTOBIND TR(INDENT "Autobind",INDENT "Bind on powerup") #define TR_MULTI_DSM_AUTODTECT TR(INDENT "Autodetect", INDENT "Autodetect format") #define TR_MULTI_LOWPOWER TR(INDENT "Low power", INDENT "Low power mode") @@ -729,7 +729,7 @@ TR_GYR_VSRCRAW #define TR_PROTOCOL_INVALID TR("Prot. invalid", "Protocol invalid") #define TR_MODULE_STATUS TR(INDENT "Status", INDENT "Module Status") #define TR_MODULE_SYNC TR(INDENT "Sync", INDENT "Module Sync") -#define TR_MULTI_SERVOFREQ TR(INDENT "Servo rate", INDENT "Servo update rate") +#define TR_MULTI_SERVOFREQ TR("Servo rate", "Servo update rate") #define TR_SYNCMENU "Sync [MENU]" #define TR_LIMIT INDENT "Grenzen" #define TR_MINRSSI "Min. RSSI" diff --git a/radio/src/translations/pl.h.txt b/radio/src/translations/pl.h.txt index 26c0dd088..ab26d8a06 100644 --- a/radio/src/translations/pl.h.txt +++ b/radio/src/translations/pl.h.txt @@ -714,11 +714,11 @@ #define TR_MONITOR_MIXER_DESC "Mixers" #define TR_RECEIVER_NUM TR("Nr RX", "Nr odbiornika") #define TR_RECEIVER INDENT "Receiver" -#define TR_MULTI_RFTUNE TR(INDENT "Freq tune",INDENT "RF Freq. fine tune") +#define TR_MULTI_RFTUNE TR("Freq tune", "RF Freq. fine tune") #define TR_MULTI_TELEMETRY "Telemetry" -#define TR_MULTI_VIDFREQ TR(INDENT "Vid. freq.", INDENT "Video frequency") -#define TR_RFPOWER INDENT "RF Power" -#define TR_MULTI_OPTION TR(INDENT "Option", INDENT "Option value") +#define TR_MULTI_VIDFREQ TR("Vid. freq.", "Video frequency") +#define TR_RFPOWER "RF Power" +#define TR_MULTI_OPTION TR("Option", "Option value") #define TR_MULTI_AUTOBIND TR(INDENT "Autobind",INDENT "Bind on powerup") #define TR_MULTI_DSM_AUTODTECT TR(INDENT "Autodetect", INDENT "Autodetect format") #define TR_MULTI_LOWPOWER TR(INDENT "Low power", INDENT "Low power mode") @@ -740,7 +740,7 @@ #define TR_PROTOCOL_INVALID TR("Prot. invalid", "Protocol invalid") #define TR_MODULE_STATUS TR(INDENT "Status", INDENT "Module Status") #define TR_MODULE_SYNC TR(INDENT "Sync", INDENT "Module Sync") -#define TR_MULTI_SERVOFREQ TR(INDENT "Servo rate", INDENT "Servo update rate") +#define TR_MULTI_SERVOFREQ TR("Servo rate", "Servo update rate") #define TR_SYNCMENU "[Synch]" #define TR_LIMIT INDENT "Limit" #define TR_MINRSSI "Min Rssi" diff --git a/radio/src/translations/pt.h.txt b/radio/src/translations/pt.h.txt index 19c376fc9..bd911902e 100644 --- a/radio/src/translations/pt.h.txt +++ b/radio/src/translations/pt.h.txt @@ -705,11 +705,11 @@ #define TR_RECEIVER_NUM "RxNum" #define TR_RECEIVER "Receiver" #define TR_SYNCMENU "Sync [MENU]" -#define TR_MULTI_RFTUNE TR(INDENT "Freq tune",INDENT "RF Freq. fine tune") +#define TR_MULTI_RFTUNE TR("Freq tune", "RF Freq. fine tune") #define TR_MULTI_TELEMETRY "Telemetry" -#define TR_MULTI_VIDFREQ TR(INDENT "Vid. freq.", INDENT "Video frequency") -#define TR_RFPOWER INDENT "RF Power" -#define TR_MULTI_OPTION TR(INDENT "Option", INDENT "Option value") +#define TR_MULTI_VIDFREQ TR("Vid. freq.", "Video frequency") +#define TR_RFPOWER "RF Power" +#define TR_MULTI_OPTION TR("Option", "Option value") #define TR_MULTI_AUTOBIND TR(INDENT "Autobind",INDENT "Bind on powerup") #define TR_MULTI_DSM_AUTODTECT TR(INDENT "Autodetect", INDENT "Autodetect format") #define TR_MULTI_LOWPOWER TR(INDENT "Low power", INDENT "Low power mode") @@ -731,7 +731,7 @@ #define TR_PROTOCOL_INVALID TR("Prot. invalid", "Protocol invalid") #define TR_MODULE_STATUS TR(INDENT "Status", INDENT "Module Status") #define TR_MODULE_SYNC TR(INDENT "Sync", INDENT "Module Sync") -#define TR_MULTI_SERVOFREQ TR(INDENT "Servo rate", INDENT "Servo update rate") +#define TR_MULTI_SERVOFREQ TR("Servo rate", "Servo update rate") #define TR_LIMIT INDENT"Limite" #define TR_MINRSSI "Min Rssi" #define TR_LATITUDE "Latitude" diff --git a/radio/src/translations/se.h.txt b/radio/src/translations/se.h.txt index f156c1dee..f8dc9697c 100644 --- a/radio/src/translations/se.h.txt +++ b/radio/src/translations/se.h.txt @@ -714,11 +714,11 @@ #define TR_RECEIVER_NUM TR("RxNum", "Mottagare Nr.") #define TR_RECEIVER "Receiver" #define TR_SYNCMENU "Synk [MENU]" -#define TR_MULTI_RFTUNE TR(INDENT "Freq tune",INDENT "RF Freq. fine tune") +#define TR_MULTI_RFTUNE TR("Freq tune", "RF Freq. fine tune") #define TR_MULTI_TELEMETRY "Telemetry" -#define TR_MULTI_VIDFREQ TR(INDENT "Vid. freq.", INDENT "Video frequency") -#define TR_RFPOWER INDENT "RF Power" -#define TR_MULTI_OPTION TR(INDENT "Option", INDENT "Option value") +#define TR_MULTI_VIDFREQ TR("Vid. freq.", "Video frequency") +#define TR_RFPOWER "RF Power" +#define TR_MULTI_OPTION TR("Option", "Option value") #define TR_MULTI_AUTOBIND TR(INDENT "Autobind",INDENT "Bind on powerup") #define TR_MULTI_DSM_AUTODTECT TR(INDENT "Autodetect", INDENT "Autodetect format") #define TR_MULTI_LOWPOWER TR(INDENT "Low power", INDENT "Low power mode") @@ -740,7 +740,7 @@ #define TR_PROTOCOL_INVALID TR("Prot. invalid", "Protocol invalid") #define TR_MODULE_STATUS TR(INDENT "Status", INDENT "Module Status") #define TR_MODULE_SYNC TR(INDENT "Sync", INDENT "Module Sync") -#define TR_MULTI_SERVOFREQ TR(INDENT "Servo rate", INDENT "Servo update rate") +#define TR_MULTI_SERVOFREQ TR("Servo rate", "Servo update rate") #define TR_LIMIT INDENT "NivÄ" #define TR_MINRSSI "Min Rssi" #define TR_LATITUDE "Breddgrad"