diff --git a/companion/src/firmwares/edgetx/yaml_modeldata.cpp b/companion/src/firmwares/edgetx/yaml_modeldata.cpp index 5b41c1bf4..24f9d94d5 100644 --- a/companion/src/firmwares/edgetx/yaml_modeldata.cpp +++ b/companion/src/firmwares/edgetx/yaml_modeldata.cpp @@ -736,6 +736,8 @@ Node convert::encode(const ModelData& rhs) node["trimInc"] = rhs.trimInc; node["displayTrims"] = rhs.trimsDisplay; node["disableThrottleWarning"] = (int)rhs.disableThrottleWarning; + node["enableCustomThrottleWarning"] = (int)rhs.enableCustomThrottleWarning; + node["customThrottleWarningPosition"] = (int)rhs.customThrottleWarningPosition; node["beepANACenter"] = rhs.beepANACenter; node["extendedLimits"] = (int)rhs.extendedLimits; node["extendedTrims"] = (int)rhs.extendedTrims; @@ -961,6 +963,8 @@ bool convert::decode(const Node& node, ModelData& rhs) node["trimInc"] >> rhs.trimInc; node["displayTrims"] >> rhs.trimsDisplay; node["disableThrottleWarning"] >> rhs.disableThrottleWarning; + node["enableCustomThrottleWarning"] >> rhs.enableCustomThrottleWarning; + node["customThrottleWarningPosition"] >> rhs.customThrottleWarningPosition; node["beepANACenter"] >> rhs.beepANACenter; node["extendedLimits"] >> rhs.extendedLimits; node["extendedTrims"] >> rhs.extendedTrims; diff --git a/companion/src/firmwares/modeldata.h b/companion/src/firmwares/modeldata.h index 51dadfb71..6efd78284 100644 --- a/companion/src/firmwares/modeldata.h +++ b/companion/src/firmwares/modeldata.h @@ -121,6 +121,8 @@ class ModelData { int trimInc; // Trim Increments unsigned int trimsDisplay; bool disableThrottleWarning; + bool enableCustomThrottleWarning; + int customThrottleWarningPosition; unsigned int jitterFilter; // Added in EdgeTx 2.7 (#870) unsigned int beepANACenter; // 1<<0->A1.. 1<<6->A7 diff --git a/companion/src/modeledit/setup.cpp b/companion/src/modeledit/setup.cpp index db7b0a1ab..19fc67aa7 100644 --- a/companion/src/modeledit/setup.cpp +++ b/companion/src/modeledit/setup.cpp @@ -1496,6 +1496,18 @@ void SetupPanel::on_throttleWarning_toggled(bool checked) emit modified(); } +void SetupPanel::on_enableCustomThrottleWarning_toggled(bool checked) +{ + model->enableCustomThrottleWarning = checked; + emit modified(); +} + +void SetupPanel::on_customThrottleWarningPosition_valueChanged(int value) +{ + model->customThrottleWarningPosition = value; + emit modified(); +} + void SetupPanel::on_throttleReverse_toggled(bool checked) { model->throttleReversed = checked; @@ -1589,6 +1601,8 @@ void SetupPanel::update() ui->throttleSource->updateValue(); populateThrottleTrimSwitchCB(); ui->throttleWarning->setChecked(!model->disableThrottleWarning); + ui->enableCustomThrottleWarning->setChecked(model->enableCustomThrottleWarning); + ui->customThrottleWarningPosition->setValue(model->customThrottleWarningPosition); ui->trimIncrement->setCurrentIndex(model->trimInc+2); ui->throttleTrim->setChecked(model->thrTrim); ui->extendedLimits->setChecked(model->extendedLimits); diff --git a/companion/src/modeledit/setup.h b/companion/src/modeledit/setup.h index 1d98265e0..1f80722aa 100644 --- a/companion/src/modeledit/setup.h +++ b/companion/src/modeledit/setup.h @@ -179,6 +179,8 @@ class SetupPanel : public ModelPanel void on_extendedLimits_toggled(bool checked); void on_extendedTrims_toggled(bool checked); void on_throttleWarning_toggled(bool checked); + void on_enableCustomThrottleWarning_toggled(bool checked); + void on_customThrottleWarningPosition_valueChanged(int value); void on_throttleReverse_toggled(bool checked); void on_displayText_toggled(bool checked); void on_gfEnabled_toggled(bool checked); diff --git a/companion/src/modeledit/setup.ui b/companion/src/modeledit/setup.ui index cc46e1939..f26dc9888 100644 --- a/companion/src/modeledit/setup.ui +++ b/companion/src/modeledit/setup.ui @@ -183,6 +183,22 @@ + + + + + 50 + false + + + + + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + @@ -450,7 +466,7 @@ - + @@ -485,7 +501,7 @@ - + @@ -520,7 +536,33 @@ + + + + Qt::LeftToRight + + + Custom Throttle Warning + + + + + + + 0 + 0 + + + + -100 + + + 100 + + + + Qt::LeftToRight @@ -530,14 +572,14 @@ - + Global Functions - + @@ -550,7 +592,7 @@ - + @@ -576,7 +618,7 @@ - + @@ -622,7 +664,7 @@ If this is checked the throttle will be reversed. Idle will be forward, trim wi - + Qt::LeftToRight @@ -632,7 +674,7 @@ If this is checked the throttle will be reversed. Idle will be forward, trim wi - + Qt::LeftToRight @@ -652,7 +694,7 @@ If this is checked the throttle will be reversed. Idle will be forward, trim wi - + Qt::Horizontal diff --git a/radio/src/datastructs.h b/radio/src/datastructs.h index c639c78ea..de1fc764e 100644 --- a/radio/src/datastructs.h +++ b/radio/src/datastructs.h @@ -117,29 +117,29 @@ static inline void check_struct() #if defined(PCBXLITES) CHKSIZE(RadioData, 860); - CHKSIZE(ModelData, 6160); + CHKSIZE(ModelData, 6162); #elif defined(PCBXLITE) CHKSIZE(RadioData, 858); - CHKSIZE(ModelData, 6160); + CHKSIZE(ModelData, 6162); #elif defined(RADIO_TPRO) CHKSIZE(RadioData, 841); - CHKSIZE(ModelData, 6185); + CHKSIZE(ModelData, 6187); #elif defined(PCBX7) CHKSIZE(RadioData, 864); - CHKSIZE(ModelData, 6160); + CHKSIZE(ModelData, 6162); #elif defined(PCBX9E) CHKSIZE(RadioData, 954); - CHKSIZE(ModelData, 6612); + CHKSIZE(ModelData, 6614); #elif defined(PCBX9D) || defined(PCBX9DP) CHKSIZE(RadioData, 896); - CHKSIZE(ModelData, 6604); + CHKSIZE(ModelData, 6606); #elif defined(PCBHORUS) #if defined(PCBX10) CHKSIZE(RadioData, 921); - CHKSIZE(ModelData, 11024); + CHKSIZE(ModelData, 11026); #else CHKSIZE(RadioData, 903); - CHKSIZE(ModelData, 11022); + CHKSIZE(ModelData, 11024); #endif #endif diff --git a/radio/src/datastructs_private.h b/radio/src/datastructs_private.h index b14cb72ac..ab92a87f0 100644 --- a/radio/src/datastructs_private.h +++ b/radio/src/datastructs_private.h @@ -646,11 +646,13 @@ PACK(struct ModelData { uint8_t ignoreSensorIds:1; int8_t trimInc:3; // Trim Increments uint8_t disableThrottleWarning:1; - uint8_t displayChecklist:1; + uint8_t displayChecklist:1; uint8_t extendedLimits:1; uint8_t extendedTrims:1; uint8_t throttleReversed:1; - + uint8_t enableCustomThrottleWarning:1; + uint8_t spare3:7 SKIP; + int8_t customThrottleWarningPosition; BeepANACenter beepANACenter; MixData mixData[MAX_MIXERS] NO_IDX; LimitData limitData[MAX_OUTPUT_CHANNELS]; diff --git a/radio/src/gui/128x64/model_setup.cpp b/radio/src/gui/128x64/model_setup.cpp index 899b91edc..69dfb338b 100644 --- a/radio/src/gui/128x64/model_setup.cpp +++ b/radio/src/gui/128x64/model_setup.cpp @@ -89,6 +89,8 @@ enum MenuModelSetupItems { ITEM_MODEL_SETUP_PREFLIGHT_LABEL, ITEM_MODEL_SETUP_CHECKLIST_DISPLAY, ITEM_MODEL_SETUP_THROTTLE_WARNING, + ITEM_MODEL_SETUP_CUSTOM_THROTTLE_WARNING, + ITEM_MODEL_SETUP_CUSTOM_THROTTLE_WARNING_VALUE, ITEM_MODEL_SETUP_SWITCHES_WARNING1, #if defined(PCBTARANIS) ITEM_MODEL_SETUP_SWITCHES_WARNING2, @@ -426,6 +428,8 @@ void menuModelSetup(event_t event) LABEL(PreflightCheck), 0, // Checklist 0, // Throttle warning + 0, // Custom position for throttle warning enable + 0, // Custom position for throttle warning value WARN_ROWS NUM_STICKS + NUM_POTS + NUM_SLIDERS - 1, // Center beeps @@ -728,6 +732,20 @@ void menuModelSetup(event_t event) case ITEM_MODEL_SETUP_THROTTLE_WARNING: g_model.disableThrottleWarning = !editCheckBox(!g_model.disableThrottleWarning, MODEL_SETUP_2ND_COLUMN, y, STR_THROTTLE_WARNING, attr, event); break; + + case ITEM_MODEL_SETUP_CUSTOM_THROTTLE_WARNING: + g_model.enableCustomThrottleWarning = editCheckBox(g_model.enableCustomThrottleWarning, MODEL_SETUP_2ND_COLUMN, y, STR_CUSTOM_THROTTLE_WARNING, attr, event); + break; + + case ITEM_MODEL_SETUP_CUSTOM_THROTTLE_WARNING_VALUE: + { + lcdDrawText(INDENT_WIDTH * 4, y, STR_CUSTOM_THROTTLE_WARNING_VAL); + lcdDrawNumber(MODEL_SETUP_2ND_COLUMN, y, g_model.customThrottleWarningPosition, attr | LEFT, 2); + if (attr) { + CHECK_INCDEC_MODELVAR(event, g_model.customThrottleWarningPosition, -100, 100); + } + } + break; case ITEM_MODEL_SETUP_SWITCHES_WARNING2: if (i==0) { diff --git a/radio/src/gui/212x64/model_setup.cpp b/radio/src/gui/212x64/model_setup.cpp index fa9fbecba..9d6261af8 100644 --- a/radio/src/gui/212x64/model_setup.cpp +++ b/radio/src/gui/212x64/model_setup.cpp @@ -74,6 +74,8 @@ enum MenuModelSetupItems { ITEM_MODEL_SETUP_PREFLIGHT_LABEL, ITEM_MODEL_SETUP_CHECKLIST_DISPLAY, ITEM_MODEL_SETUP_THROTTLE_WARNING, + ITEM_MODEL_SETUP_CUSTOM_THROTTLE_WARNING, + ITEM_MODEL_SETUP_CUSTOM_THROTTLE_WARNING_VALUE, ITEM_MODEL_SETUP_SWITCHES_WARNING1, #if defined(PCBX9E) ITEM_MODEL_SETUP_SWITCHES_WARNING2, @@ -377,6 +379,8 @@ void menuModelSetup(event_t event) LABEL(PreflightCheck), 0, // Checklist 0, // Throttle warning + 0, // Custom position for throttle warning enable + 0, // Custom position for throttle warning value SW_WARN_ROWS, // Switch warning POT_WARN_ROWS, // Pot warning @@ -644,6 +648,20 @@ void menuModelSetup(event_t event) g_model.disableThrottleWarning = !editCheckBox(!g_model.disableThrottleWarning, MODEL_SETUP_2ND_COLUMN, y, STR_THROTTLE_WARNING, attr, event); break; + case ITEM_MODEL_SETUP_CUSTOM_THROTTLE_WARNING: + g_model.enableCustomThrottleWarning = editCheckBox(g_model.enableCustomThrottleWarning, MODEL_SETUP_2ND_COLUMN, y, STR_CUSTOM_THROTTLE_WARNING, attr, event); + break; + + case ITEM_MODEL_SETUP_CUSTOM_THROTTLE_WARNING_VALUE: + { + lcdDrawText(INDENT_WIDTH * 4, y, STR_CUSTOM_THROTTLE_WARNING_VAL); + lcdDrawNumber(MODEL_SETUP_2ND_COLUMN, y, g_model.customThrottleWarningPosition, attr | LEFT, 2); + if (attr) { + CHECK_INCDEC_MODELVAR(event, g_model.customThrottleWarningPosition, -100, 100); + } + } + break; + #if defined(PCBX9E) case ITEM_MODEL_SETUP_SWITCHES_WARNING2: case ITEM_MODEL_SETUP_SWITCHES_WARNING3: diff --git a/radio/src/gui/colorlcd/model_setup.cpp b/radio/src/gui/colorlcd/model_setup.cpp index 61b1347c5..72d80aef7 100644 --- a/radio/src/gui/colorlcd/model_setup.cpp +++ b/radio/src/gui/colorlcd/model_setup.cpp @@ -1489,6 +1489,15 @@ void ModelSetupPage::build(FormWindow * window) new CheckBox(window, grid.getFieldSlot(), GET_SET_INVERTED(g_model.disableThrottleWarning)); grid.nextLine(); + // Custom Throttle warning + new StaticText(window, grid.getLabelSlot(true), STR_CUSTOM_THROTTLE_WARNING, 0, COLOR_THEME_PRIMARY1); + new CheckBox(window, grid.getFieldSlot(), GET_SET_DEFAULT(g_model.enableCustomThrottleWarning)); + grid.nextLine(); + // Custom Throttle warning value + new StaticText(window, grid.getLabelSlot(true), STR_CUSTOM_THROTTLE_WARNING_VAL, 0, COLOR_THEME_PRIMARY1); + new NumberEdit(window, grid.getFieldSlot(), -100, 100, GET_SET_DEFAULT(g_model.customThrottleWarningPosition)); + grid.nextLine(); + // Switches warning new StaticText(window, grid.getLabelSlot(true), STR_SWITCHWARNING, 0, COLOR_THEME_PRIMARY1); auto group = new FormGroup(window, grid.getFieldSlot(), FORM_BORDER_FOCUS_ONLY | PAINT_CHILDREN_FIRST); diff --git a/radio/src/opentx.cpp b/radio/src/opentx.cpp index 58a1c8f78..5d7fef658 100644 --- a/radio/src/opentx.cpp +++ b/radio/src/opentx.cpp @@ -781,18 +781,32 @@ bool isThrottleWarningAlertNeeded() if (g_model.thrTraceSrc && g_model.throttleReversed) { // TODO : proper review of THR source definition and handling v = -v; } - return v > THRCHK_DEADBAND - 1024; + + if (g_model.enableCustomThrottleWarning) { + int16_t idleValue = (int32_t)RESX * (int32_t)g_model.customThrottleWarningPosition / (int32_t)100; + return abs(v - idleValue) > THRCHK_DEADBAND; + } + else { + return v > THRCHK_DEADBAND - RESX; + } } #if defined(COLORLCD) void checkThrottleStick() { + char throttleNotIdle[strlen(STR_THROTTLE_NOT_IDLE) + 9]; if (isThrottleWarningAlertNeeded()) { + if (g_model.enableCustomThrottleWarning) { + sprintf(throttleNotIdle, "%s (%d%%)", STR_THROTTLE_NOT_IDLE, g_model.customThrottleWarningPosition); + } + else { + strcpy(throttleNotIdle, STR_THROTTLE_NOT_IDLE); + } LED_ERROR_BEGIN(); AUDIO_ERROR_MESSAGE(AU_THROTTLE_ALERT); auto dialog = new FullScreenDialog(WARNING_TYPE_ALERT, TR_THROTTLE_UPPERCASE, - STR_THROTTLE_NOT_IDLE, STR_PRESS_ANY_KEY_TO_SKIP); + throttleNotIdle, STR_PRESS_ANY_KEY_TO_SKIP); dialog->setCloseCondition([]() { return !isThrottleWarningAlertNeeded(); }); dialog->runForever(); LED_ERROR_END(); @@ -801,13 +815,19 @@ void checkThrottleStick() #else void checkThrottleStick() { + char throttleNotIdle[strlen(STR_THROTTLE_NOT_IDLE) + 9]; if (!isThrottleWarningAlertNeeded()) { return; } - + if (g_model.enableCustomThrottleWarning) { + sprintf(throttleNotIdle, "%s (%d%%)", STR_THROTTLE_NOT_IDLE, g_model.customThrottleWarningPosition); + } + else { + strcpy(throttleNotIdle, STR_THROTTLE_NOT_IDLE); + } // first - display warning; also deletes inputs if any have been before LED_ERROR_BEGIN(); - RAISE_ALERT(TR_THROTTLE_UPPERCASE, STR_THROTTLE_NOT_IDLE, STR_PRESS_ANY_KEY_TO_SKIP, AU_THROTTLE_ALERT); + RAISE_ALERT(TR_THROTTLE_UPPERCASE, throttleNotIdle, STR_PRESS_ANY_KEY_TO_SKIP, AU_THROTTLE_ALERT); #if defined(PWR_BUTTON_PRESS) bool refresh = false; @@ -829,7 +849,7 @@ void checkThrottleStick() refresh = true; } else if (power == e_power_on && refresh) { - RAISE_ALERT(TR_THROTTLE_UPPERCASE, STR_THROTTLE_NOT_IDLE, STR_PRESS_ANY_KEY_TO_SKIP, AU_NONE); + RAISE_ALERT(TR_THROTTLE_UPPERCASE, throttleNotIdle, STR_PRESS_ANY_KEY_TO_SKIP, AU_NONE); refresh = false; } #else diff --git a/radio/src/storage/yaml/yaml_datastructs_nv14.cpp b/radio/src/storage/yaml/yaml_datastructs_nv14.cpp index d238fa886..e25ba5baa 100644 --- a/radio/src/storage/yaml/yaml_datastructs_nv14.cpp +++ b/radio/src/storage/yaml/yaml_datastructs_nv14.cpp @@ -842,6 +842,9 @@ static const struct YamlNode struct_ModelData[] = { YAML_UNSIGNED( "extendedLimits", 1 ), YAML_UNSIGNED( "extendedTrims", 1 ), YAML_UNSIGNED( "throttleReversed", 1 ), + YAML_UNSIGNED( "enableCustomThrottleWarning", 1 ), + YAML_PADDING( 7 ), + YAML_SIGNED( "customThrottleWarningPosition", 8 ), YAML_UNSIGNED( "beepANACenter", 16 ), YAML_ARRAY("mixData", 160, 64, struct_MixData, NULL), YAML_ARRAY("limitData", 104, 32, struct_LimitData, NULL), @@ -884,7 +887,7 @@ static const struct YamlNode struct_PartialModel[] = { YAML_END }; -#define MAX_RADIODATA_MODELDATA_PARTIALMODEL_STR_LEN 24 +#define MAX_RADIODATA_MODELDATA_PARTIALMODEL_STR_LEN 29 static const struct YamlNode __RadioData_root_node = YAML_ROOT( struct_RadioData ); diff --git a/radio/src/storage/yaml/yaml_datastructs_t12.cpp b/radio/src/storage/yaml/yaml_datastructs_t12.cpp index 8c0e70c03..627c470d0 100644 --- a/radio/src/storage/yaml/yaml_datastructs_t12.cpp +++ b/radio/src/storage/yaml/yaml_datastructs_t12.cpp @@ -811,6 +811,9 @@ static const struct YamlNode struct_ModelData[] = { YAML_UNSIGNED( "extendedLimits", 1 ), YAML_UNSIGNED( "extendedTrims", 1 ), YAML_UNSIGNED( "throttleReversed", 1 ), + YAML_UNSIGNED( "enableCustomThrottleWarning", 1 ), + YAML_PADDING( 7 ), + YAML_SIGNED( "customThrottleWarningPosition", 8 ), YAML_UNSIGNED( "beepANACenter", 16 ), YAML_ARRAY("mixData", 160, 64, struct_MixData, NULL), YAML_ARRAY("limitData", 88, 32, struct_LimitData, NULL), @@ -853,7 +856,7 @@ static const struct YamlNode struct_PartialModel[] = { YAML_END }; -#define MAX_RADIODATA_MODELDATA_PARTIALMODEL_STR_LEN 24 +#define MAX_RADIODATA_MODELDATA_PARTIALMODEL_STR_LEN 29 static const struct YamlNode __RadioData_root_node = YAML_ROOT( struct_RadioData ); diff --git a/radio/src/storage/yaml/yaml_datastructs_t8.cpp b/radio/src/storage/yaml/yaml_datastructs_t8.cpp index 8b842b8ac..61550025a 100644 --- a/radio/src/storage/yaml/yaml_datastructs_t8.cpp +++ b/radio/src/storage/yaml/yaml_datastructs_t8.cpp @@ -811,6 +811,9 @@ static const struct YamlNode struct_ModelData[] = { YAML_UNSIGNED( "extendedLimits", 1 ), YAML_UNSIGNED( "extendedTrims", 1 ), YAML_UNSIGNED( "throttleReversed", 1 ), + YAML_UNSIGNED( "enableCustomThrottleWarning", 1 ), + YAML_PADDING( 7 ), + YAML_SIGNED( "customThrottleWarningPosition", 8 ), YAML_UNSIGNED( "beepANACenter", 16 ), YAML_ARRAY("mixData", 160, 64, struct_MixData, NULL), YAML_ARRAY("limitData", 88, 32, struct_LimitData, NULL), @@ -853,7 +856,7 @@ static const struct YamlNode struct_PartialModel[] = { YAML_END }; -#define MAX_RADIODATA_MODELDATA_PARTIALMODEL_STR_LEN 24 +#define MAX_RADIODATA_MODELDATA_PARTIALMODEL_STR_LEN 29 static const struct YamlNode __RadioData_root_node = YAML_ROOT( struct_RadioData ); diff --git a/radio/src/storage/yaml/yaml_datastructs_tlite.cpp b/radio/src/storage/yaml/yaml_datastructs_tlite.cpp index 8b842b8ac..61550025a 100644 --- a/radio/src/storage/yaml/yaml_datastructs_tlite.cpp +++ b/radio/src/storage/yaml/yaml_datastructs_tlite.cpp @@ -811,6 +811,9 @@ static const struct YamlNode struct_ModelData[] = { YAML_UNSIGNED( "extendedLimits", 1 ), YAML_UNSIGNED( "extendedTrims", 1 ), YAML_UNSIGNED( "throttleReversed", 1 ), + YAML_UNSIGNED( "enableCustomThrottleWarning", 1 ), + YAML_PADDING( 7 ), + YAML_SIGNED( "customThrottleWarningPosition", 8 ), YAML_UNSIGNED( "beepANACenter", 16 ), YAML_ARRAY("mixData", 160, 64, struct_MixData, NULL), YAML_ARRAY("limitData", 88, 32, struct_LimitData, NULL), @@ -853,7 +856,7 @@ static const struct YamlNode struct_PartialModel[] = { YAML_END }; -#define MAX_RADIODATA_MODELDATA_PARTIALMODEL_STR_LEN 24 +#define MAX_RADIODATA_MODELDATA_PARTIALMODEL_STR_LEN 29 static const struct YamlNode __RadioData_root_node = YAML_ROOT( struct_RadioData ); diff --git a/radio/src/storage/yaml/yaml_datastructs_tpro.cpp b/radio/src/storage/yaml/yaml_datastructs_tpro.cpp index d25a81bd8..0b8776e5b 100644 --- a/radio/src/storage/yaml/yaml_datastructs_tpro.cpp +++ b/radio/src/storage/yaml/yaml_datastructs_tpro.cpp @@ -817,6 +817,9 @@ static const struct YamlNode struct_ModelData[] = { YAML_UNSIGNED( "extendedLimits", 1 ), YAML_UNSIGNED( "extendedTrims", 1 ), YAML_UNSIGNED( "throttleReversed", 1 ), + YAML_UNSIGNED( "enableCustomThrottleWarning", 1 ), + YAML_PADDING( 7 ), + YAML_SIGNED( "customThrottleWarningPosition", 8 ), YAML_UNSIGNED( "beepANACenter", 16 ), YAML_ARRAY("mixData", 160, 64, struct_MixData, NULL), YAML_ARRAY("limitData", 88, 32, struct_LimitData, NULL), @@ -864,7 +867,7 @@ static const struct YamlNode struct_PartialModel[] = { YAML_END }; -#define MAX_RADIODATA_MODELDATA_PARTIALMODEL_STR_LEN 26 +#define MAX_RADIODATA_MODELDATA_PARTIALMODEL_STR_LEN 29 static const struct YamlNode __RadioData_root_node = YAML_ROOT( struct_RadioData ); diff --git a/radio/src/storage/yaml/yaml_datastructs_tx12.cpp b/radio/src/storage/yaml/yaml_datastructs_tx12.cpp index a2300e460..57cc62758 100644 --- a/radio/src/storage/yaml/yaml_datastructs_tx12.cpp +++ b/radio/src/storage/yaml/yaml_datastructs_tx12.cpp @@ -811,6 +811,9 @@ static const struct YamlNode struct_ModelData[] = { YAML_UNSIGNED( "extendedLimits", 1 ), YAML_UNSIGNED( "extendedTrims", 1 ), YAML_UNSIGNED( "throttleReversed", 1 ), + YAML_UNSIGNED( "enableCustomThrottleWarning", 1 ), + YAML_PADDING( 7 ), + YAML_SIGNED( "customThrottleWarningPosition", 8 ), YAML_UNSIGNED( "beepANACenter", 16 ), YAML_ARRAY("mixData", 160, 64, struct_MixData, NULL), YAML_ARRAY("limitData", 88, 32, struct_LimitData, NULL), @@ -853,7 +856,7 @@ static const struct YamlNode struct_PartialModel[] = { YAML_END }; -#define MAX_RADIODATA_MODELDATA_PARTIALMODEL_STR_LEN 24 +#define MAX_RADIODATA_MODELDATA_PARTIALMODEL_STR_LEN 29 static const struct YamlNode __RadioData_root_node = YAML_ROOT( struct_RadioData ); diff --git a/radio/src/storage/yaml/yaml_datastructs_x10.cpp b/radio/src/storage/yaml/yaml_datastructs_x10.cpp index b145ed6e9..2b663f620 100644 --- a/radio/src/storage/yaml/yaml_datastructs_x10.cpp +++ b/radio/src/storage/yaml/yaml_datastructs_x10.cpp @@ -863,6 +863,9 @@ static const struct YamlNode struct_ModelData[] = { YAML_UNSIGNED( "extendedLimits", 1 ), YAML_UNSIGNED( "extendedTrims", 1 ), YAML_UNSIGNED( "throttleReversed", 1 ), + YAML_UNSIGNED( "enableCustomThrottleWarning", 1 ), + YAML_PADDING( 7 ), + YAML_SIGNED( "customThrottleWarningPosition", 8 ), YAML_UNSIGNED( "beepANACenter", 16 ), YAML_ARRAY("mixData", 160, 64, struct_MixData, NULL), YAML_ARRAY("limitData", 104, 32, struct_LimitData, NULL), @@ -905,7 +908,7 @@ static const struct YamlNode struct_PartialModel[] = { YAML_END }; -#define MAX_RADIODATA_MODELDATA_PARTIALMODEL_STR_LEN 24 +#define MAX_RADIODATA_MODELDATA_PARTIALMODEL_STR_LEN 29 static const struct YamlNode __RadioData_root_node = YAML_ROOT( struct_RadioData ); diff --git a/radio/src/storage/yaml/yaml_datastructs_x12s.cpp b/radio/src/storage/yaml/yaml_datastructs_x12s.cpp index 15e2c93ad..56f315b47 100644 --- a/radio/src/storage/yaml/yaml_datastructs_x12s.cpp +++ b/radio/src/storage/yaml/yaml_datastructs_x12s.cpp @@ -861,6 +861,9 @@ static const struct YamlNode struct_ModelData[] = { YAML_UNSIGNED( "extendedLimits", 1 ), YAML_UNSIGNED( "extendedTrims", 1 ), YAML_UNSIGNED( "throttleReversed", 1 ), + YAML_UNSIGNED( "enableCustomThrottleWarning", 1 ), + YAML_PADDING( 7 ), + YAML_SIGNED( "customThrottleWarningPosition", 8 ), YAML_UNSIGNED( "beepANACenter", 16 ), YAML_ARRAY("mixData", 160, 64, struct_MixData, NULL), YAML_ARRAY("limitData", 104, 32, struct_LimitData, NULL), @@ -903,7 +906,7 @@ static const struct YamlNode struct_PartialModel[] = { YAML_END }; -#define MAX_RADIODATA_MODELDATA_PARTIALMODEL_STR_LEN 24 +#define MAX_RADIODATA_MODELDATA_PARTIALMODEL_STR_LEN 29 static const struct YamlNode __RadioData_root_node = YAML_ROOT( struct_RadioData ); diff --git a/radio/src/storage/yaml/yaml_datastructs_x7.cpp b/radio/src/storage/yaml/yaml_datastructs_x7.cpp index 8b842b8ac..61550025a 100644 --- a/radio/src/storage/yaml/yaml_datastructs_x7.cpp +++ b/radio/src/storage/yaml/yaml_datastructs_x7.cpp @@ -811,6 +811,9 @@ static const struct YamlNode struct_ModelData[] = { YAML_UNSIGNED( "extendedLimits", 1 ), YAML_UNSIGNED( "extendedTrims", 1 ), YAML_UNSIGNED( "throttleReversed", 1 ), + YAML_UNSIGNED( "enableCustomThrottleWarning", 1 ), + YAML_PADDING( 7 ), + YAML_SIGNED( "customThrottleWarningPosition", 8 ), YAML_UNSIGNED( "beepANACenter", 16 ), YAML_ARRAY("mixData", 160, 64, struct_MixData, NULL), YAML_ARRAY("limitData", 88, 32, struct_LimitData, NULL), @@ -853,7 +856,7 @@ static const struct YamlNode struct_PartialModel[] = { YAML_END }; -#define MAX_RADIODATA_MODELDATA_PARTIALMODEL_STR_LEN 24 +#define MAX_RADIODATA_MODELDATA_PARTIALMODEL_STR_LEN 29 static const struct YamlNode __RadioData_root_node = YAML_ROOT( struct_RadioData ); diff --git a/radio/src/storage/yaml/yaml_datastructs_x9d.cpp b/radio/src/storage/yaml/yaml_datastructs_x9d.cpp index bc715f6f8..8616e716b 100644 --- a/radio/src/storage/yaml/yaml_datastructs_x9d.cpp +++ b/radio/src/storage/yaml/yaml_datastructs_x9d.cpp @@ -824,6 +824,9 @@ static const struct YamlNode struct_ModelData[] = { YAML_UNSIGNED( "extendedLimits", 1 ), YAML_UNSIGNED( "extendedTrims", 1 ), YAML_UNSIGNED( "throttleReversed", 1 ), + YAML_UNSIGNED( "enableCustomThrottleWarning", 1 ), + YAML_PADDING( 7 ), + YAML_SIGNED( "customThrottleWarningPosition", 8 ), YAML_UNSIGNED( "beepANACenter", 16 ), YAML_ARRAY("mixData", 160, 64, struct_MixData, NULL), YAML_ARRAY("limitData", 104, 32, struct_LimitData, NULL), @@ -868,7 +871,7 @@ static const struct YamlNode struct_PartialModel[] = { YAML_END }; -#define MAX_RADIODATA_MODELDATA_PARTIALMODEL_STR_LEN 24 +#define MAX_RADIODATA_MODELDATA_PARTIALMODEL_STR_LEN 29 static const struct YamlNode __RadioData_root_node = YAML_ROOT( struct_RadioData ); diff --git a/radio/src/storage/yaml/yaml_datastructs_x9e.cpp b/radio/src/storage/yaml/yaml_datastructs_x9e.cpp index 700c2aa2a..ff83b6b90 100644 --- a/radio/src/storage/yaml/yaml_datastructs_x9e.cpp +++ b/radio/src/storage/yaml/yaml_datastructs_x9e.cpp @@ -863,6 +863,9 @@ static const struct YamlNode struct_ModelData[] = { YAML_UNSIGNED( "extendedLimits", 1 ), YAML_UNSIGNED( "extendedTrims", 1 ), YAML_UNSIGNED( "throttleReversed", 1 ), + YAML_UNSIGNED( "enableCustomThrottleWarning", 1 ), + YAML_PADDING( 7 ), + YAML_SIGNED( "customThrottleWarningPosition", 8 ), YAML_UNSIGNED( "beepANACenter", 16 ), YAML_ARRAY("mixData", 160, 64, struct_MixData, NULL), YAML_ARRAY("limitData", 104, 32, struct_LimitData, NULL), @@ -908,7 +911,7 @@ static const struct YamlNode struct_PartialModel[] = { YAML_END }; -#define MAX_RADIODATA_MODELDATA_PARTIALMODEL_STR_LEN 24 +#define MAX_RADIODATA_MODELDATA_PARTIALMODEL_STR_LEN 29 static const struct YamlNode __RadioData_root_node = YAML_ROOT( struct_RadioData ); diff --git a/radio/src/storage/yaml/yaml_datastructs_x9lite.cpp b/radio/src/storage/yaml/yaml_datastructs_x9lite.cpp index 5adfd5feb..e10bb4cc6 100644 --- a/radio/src/storage/yaml/yaml_datastructs_x9lite.cpp +++ b/radio/src/storage/yaml/yaml_datastructs_x9lite.cpp @@ -796,6 +796,9 @@ static const struct YamlNode struct_ModelData[] = { YAML_UNSIGNED( "extendedLimits", 1 ), YAML_UNSIGNED( "extendedTrims", 1 ), YAML_UNSIGNED( "throttleReversed", 1 ), + YAML_UNSIGNED( "enableCustomThrottleWarning", 1 ), + YAML_PADDING( 7 ), + YAML_SIGNED( "customThrottleWarningPosition", 8 ), YAML_UNSIGNED( "beepANACenter", 16 ), YAML_ARRAY("mixData", 160, 64, struct_MixData, NULL), YAML_ARRAY("limitData", 88, 32, struct_LimitData, NULL), @@ -838,7 +841,7 @@ static const struct YamlNode struct_PartialModel[] = { YAML_END }; -#define MAX_RADIODATA_MODELDATA_PARTIALMODEL_STR_LEN 24 +#define MAX_RADIODATA_MODELDATA_PARTIALMODEL_STR_LEN 29 static const struct YamlNode __RadioData_root_node = YAML_ROOT( struct_RadioData ); diff --git a/radio/src/storage/yaml/yaml_datastructs_x9lites.cpp b/radio/src/storage/yaml/yaml_datastructs_x9lites.cpp index e231d7064..9fdf8a2dc 100644 --- a/radio/src/storage/yaml/yaml_datastructs_x9lites.cpp +++ b/radio/src/storage/yaml/yaml_datastructs_x9lites.cpp @@ -806,6 +806,9 @@ static const struct YamlNode struct_ModelData[] = { YAML_UNSIGNED( "extendedLimits", 1 ), YAML_UNSIGNED( "extendedTrims", 1 ), YAML_UNSIGNED( "throttleReversed", 1 ), + YAML_UNSIGNED( "enableCustomThrottleWarning", 1 ), + YAML_PADDING( 7 ), + YAML_SIGNED( "customThrottleWarningPosition", 8 ), YAML_UNSIGNED( "beepANACenter", 16 ), YAML_ARRAY("mixData", 160, 64, struct_MixData, NULL), YAML_ARRAY("limitData", 88, 32, struct_LimitData, NULL), @@ -848,7 +851,7 @@ static const struct YamlNode struct_PartialModel[] = { YAML_END }; -#define MAX_RADIODATA_MODELDATA_PARTIALMODEL_STR_LEN 24 +#define MAX_RADIODATA_MODELDATA_PARTIALMODEL_STR_LEN 29 static const struct YamlNode __RadioData_root_node = YAML_ROOT( struct_RadioData ); diff --git a/radio/src/storage/yaml/yaml_datastructs_xlite.cpp b/radio/src/storage/yaml/yaml_datastructs_xlite.cpp index c0f3b891e..818d2f41b 100644 --- a/radio/src/storage/yaml/yaml_datastructs_xlite.cpp +++ b/radio/src/storage/yaml/yaml_datastructs_xlite.cpp @@ -803,6 +803,9 @@ static const struct YamlNode struct_ModelData[] = { YAML_UNSIGNED( "extendedLimits", 1 ), YAML_UNSIGNED( "extendedTrims", 1 ), YAML_UNSIGNED( "throttleReversed", 1 ), + YAML_UNSIGNED( "enableCustomThrottleWarning", 1 ), + YAML_PADDING( 7 ), + YAML_SIGNED( "customThrottleWarningPosition", 8 ), YAML_UNSIGNED( "beepANACenter", 16 ), YAML_ARRAY("mixData", 160, 64, struct_MixData, NULL), YAML_ARRAY("limitData", 88, 32, struct_LimitData, NULL), @@ -845,7 +848,7 @@ static const struct YamlNode struct_PartialModel[] = { YAML_END }; -#define MAX_RADIODATA_MODELDATA_PARTIALMODEL_STR_LEN 24 +#define MAX_RADIODATA_MODELDATA_PARTIALMODEL_STR_LEN 29 static const struct YamlNode __RadioData_root_node = YAML_ROOT( struct_RadioData ); diff --git a/radio/src/storage/yaml/yaml_datastructs_xlites.cpp b/radio/src/storage/yaml/yaml_datastructs_xlites.cpp index 5b39f7ca6..e3ef655f3 100644 --- a/radio/src/storage/yaml/yaml_datastructs_xlites.cpp +++ b/radio/src/storage/yaml/yaml_datastructs_xlites.cpp @@ -807,6 +807,9 @@ static const struct YamlNode struct_ModelData[] = { YAML_UNSIGNED( "extendedLimits", 1 ), YAML_UNSIGNED( "extendedTrims", 1 ), YAML_UNSIGNED( "throttleReversed", 1 ), + YAML_UNSIGNED( "enableCustomThrottleWarning", 1 ), + YAML_PADDING( 7 ), + YAML_SIGNED( "customThrottleWarningPosition", 8 ), YAML_UNSIGNED( "beepANACenter", 16 ), YAML_ARRAY("mixData", 160, 64, struct_MixData, NULL), YAML_ARRAY("limitData", 88, 32, struct_LimitData, NULL), @@ -849,7 +852,7 @@ static const struct YamlNode struct_PartialModel[] = { YAML_END }; -#define MAX_RADIODATA_MODELDATA_PARTIALMODEL_STR_LEN 24 +#define MAX_RADIODATA_MODELDATA_PARTIALMODEL_STR_LEN 29 static const struct YamlNode __RadioData_root_node = YAML_ROOT( struct_RadioData ); diff --git a/radio/src/storage/yaml/yaml_datastructs_zorro.cpp b/radio/src/storage/yaml/yaml_datastructs_zorro.cpp index 9729df645..49564eace 100644 --- a/radio/src/storage/yaml/yaml_datastructs_zorro.cpp +++ b/radio/src/storage/yaml/yaml_datastructs_zorro.cpp @@ -811,6 +811,9 @@ static const struct YamlNode struct_ModelData[] = { YAML_UNSIGNED( "extendedLimits", 1 ), YAML_UNSIGNED( "extendedTrims", 1 ), YAML_UNSIGNED( "throttleReversed", 1 ), + YAML_UNSIGNED( "enableCustomThrottleWarning", 1 ), + YAML_PADDING( 7 ), + YAML_SIGNED( "customThrottleWarningPosition", 8 ), YAML_UNSIGNED( "beepANACenter", 16 ), YAML_ARRAY("mixData", 160, 64, struct_MixData, NULL), YAML_ARRAY("limitData", 88, 32, struct_LimitData, NULL), @@ -853,7 +856,7 @@ static const struct YamlNode struct_PartialModel[] = { YAML_END }; -#define MAX_RADIODATA_MODELDATA_PARTIALMODEL_STR_LEN 24 +#define MAX_RADIODATA_MODELDATA_PARTIALMODEL_STR_LEN 29 static const struct YamlNode __RadioData_root_node = YAML_ROOT( struct_RadioData ); diff --git a/radio/src/translations.cpp b/radio/src/translations.cpp index 9388945a3..8b47003aa 100644 --- a/radio/src/translations.cpp +++ b/radio/src/translations.cpp @@ -403,6 +403,8 @@ const char STR_WARN_5VOLTS[] = TR_WARN_5VOLTS; const char STR_CAT_NOT_EMPTY[] = TR_CAT_NOT_EMPTY; const char STR_WARNING[] = TR_WARNING; const char STR_THROTTLE_WARNING[] = TR_THROTTLE_WARNING; +const char STR_CUSTOM_THROTTLE_WARNING[] = TR_CUSTOM_THROTTLE_WARNING; +const char STR_CUSTOM_THROTTLE_WARNING_VAL[] = TR_CUSTOM_THROTTLE_WARNING_VAL; const char STR_ALARMSWARN[] = TR_ALARMSWARN; const char STR_SWITCHWARN[] = TR_SWITCHWARN; const char STR_FAILSAFEWARN[] = TR_FAILSAFEWARN; diff --git a/radio/src/translations.h b/radio/src/translations.h index a6565953b..c7835f24b 100644 --- a/radio/src/translations.h +++ b/radio/src/translations.h @@ -336,6 +336,8 @@ extern const char STR_PWR_OFF_DELAY[]; extern const char STR_PWR_OFF_DELAYS[]; #endif extern const char STR_THROTTLE_WARNING[]; +extern const char STR_CUSTOM_THROTTLE_WARNING[]; +extern const char STR_CUSTOM_THROTTLE_WARNING_VAL[]; extern const char STR_SWITCHWARNING[]; extern const char STR_POTWARNINGSTATE[]; extern const char STR_POTWARNING[]; diff --git a/radio/src/translations/cn.h.txt b/radio/src/translations/cn.h.txt index 1ed96b80c..5eddcf7ef 100644 --- a/radio/src/translations/cn.h.txt +++ b/radio/src/translations/cn.h.txt @@ -482,6 +482,8 @@ #define TR_PWR_ON_DELAY "开机延迟" #define TR_PWR_OFF_DELAY "关机延迟" #define TR_THROTTLE_WARNING TR(INDENT "T-Warning", INDENT "油门状态") +#define TR_CUSTOM_THROTTLE_WARNING TR(INDENT INDENT INDENT INDENT "Cust-Pos", INDENT INDENT INDENT INDENT "Custom position?") +#define TR_CUSTOM_THROTTLE_WARNING_VAL TR("Pos. %", "Position %") #define TR_SWITCHWARNING TR(INDENT "S-Warning", INDENT "开关位置") #define TR_POTWARNINGSTATE TR(INDENT "Pot&Slid.", INDENT "旋钮和滑块") #define TR_SLIDERWARNING TR(INDENT "Slid. pos.", INDENT "滑块位置") diff --git a/radio/src/translations/cz.h.txt b/radio/src/translations/cz.h.txt index 0e6ccda9d..4fbd7770c 100644 --- a/radio/src/translations/cz.h.txt +++ b/radio/src/translations/cz.h.txt @@ -523,6 +523,8 @@ #define TR_PWR_ON_DELAY "Pwr On delay" #define TR_PWR_OFF_DELAY "Pwr Off delay" #define TR_THROTTLE_WARNING TR("* Plyn", INDENT "Kontrola plynu") +#define TR_CUSTOM_THROTTLE_WARNING TR(INDENT INDENT INDENT INDENT "Cust-Pos", INDENT INDENT INDENT INDENT "Custom position?") +#define TR_CUSTOM_THROTTLE_WARNING_VAL TR("Pos. %", "Position %") #define TR_SWITCHWARNING TR("* Spínače", INDENT "Polohy spínačů") #define TR_POTWARNINGSTATE TR("* Pot&Slid.", INDENT "Kontrola Pot&Slid.") #define TR_SLIDERWARNING TR("* Slidery", INDENT "Pozice sliderů") diff --git a/radio/src/translations/de.h.txt b/radio/src/translations/de.h.txt index bddaea9f0..1eb6816e7 100644 --- a/radio/src/translations/de.h.txt +++ b/radio/src/translations/de.h.txt @@ -526,6 +526,8 @@ #define TR_PWR_ON_DELAY "Pwr On delay" #define TR_PWR_OFF_DELAY "Pwr Off delay" #define TR_THROTTLE_WARNING TR("Gasalarm", INDENT "Gas Alarm") +#define TR_CUSTOM_THROTTLE_WARNING TR(INDENT INDENT INDENT INDENT "Cust-Pos", INDENT INDENT INDENT INDENT "Custom position?") +#define TR_CUSTOM_THROTTLE_WARNING_VAL TR("Pos. %", "Position %") #define TR_SWITCHWARNING TR("Sch. Alarm", INDENT "Schalter-Alarm") #define TR_POTWARNINGSTATE TR(INDENT "Pot&Slid.", INDENT "Pots & sliders") #define TR_SLIDERWARNING TR(INDENT "Slid. pos.", INDENT "Slider positions") diff --git a/radio/src/translations/en.h.txt b/radio/src/translations/en.h.txt index d8e054196..4635b8e47 100644 --- a/radio/src/translations/en.h.txt +++ b/radio/src/translations/en.h.txt @@ -524,6 +524,8 @@ #define TR_PWR_ON_DELAY "Pwr On delay" #define TR_PWR_OFF_DELAY "Pwr Off delay" #define TR_THROTTLE_WARNING TR(INDENT "T-Warning", INDENT "Throttle state") +#define TR_CUSTOM_THROTTLE_WARNING TR(INDENT INDENT INDENT INDENT "Cust-Pos", INDENT INDENT INDENT INDENT "Custom position?") +#define TR_CUSTOM_THROTTLE_WARNING_VAL TR("Pos. %", "Position %") #define TR_SWITCHWARNING TR(INDENT "S-Warning", INDENT "Switch positions") #define TR_POTWARNINGSTATE TR(INDENT "Pot&Slid.", INDENT "Pots & sliders") #define TR_SLIDERWARNING TR(INDENT "Slid. pos.", INDENT "Slider positions") diff --git a/radio/src/translations/es.h.txt b/radio/src/translations/es.h.txt index 955c58a2b..378e2d136 100644 --- a/radio/src/translations/es.h.txt +++ b/radio/src/translations/es.h.txt @@ -523,6 +523,8 @@ #define TR_PWR_ON_DELAY TR("Atraso On", "Atraso encendido") #define TR_PWR_OFF_DELAY TR("Atraso Off", "Atraso apagado") #define TR_THROTTLE_WARNING TR("Aviso-A", INDENT "Aviso acelerador") +#define TR_CUSTOM_THROTTLE_WARNING TR(INDENT INDENT INDENT INDENT "Cust-Pos", INDENT INDENT INDENT INDENT "Custom position?") +#define TR_CUSTOM_THROTTLE_WARNING_VAL TR("Pos. %", "Position %") #define TR_SWITCHWARNING TR("Aviso-I", INDENT "Aviso interruptor") #define TR_POTWARNINGSTATE TR(INDENT "Pot&Slid.", INDENT "Pots & sliders") #define TR_SLIDERWARNING TR(INDENT "Pos. slid.", INDENT "Posiciones slider") diff --git a/radio/src/translations/fi.h.txt b/radio/src/translations/fi.h.txt index 0ddf5d669..a45b06b51 100644 --- a/radio/src/translations/fi.h.txt +++ b/radio/src/translations/fi.h.txt @@ -537,6 +537,8 @@ #define TR_PWR_ON_DELAY "Pwr On delay" #define TR_PWR_OFF_DELAY "Pwr Off delay" #define TR_THROTTLE_WARNING TR("T-Warning", INDENT "Throttle Warning") +#define TR_CUSTOM_THROTTLE_WARNING TR(INDENT INDENT INDENT INDENT "Cust-Pos", INDENT INDENT INDENT INDENT "Custom position?") +#define TR_CUSTOM_THROTTLE_WARNING_VAL TR("Pos. %", "Position %") #define TR_SWITCHWARNING TR("S-Warning", INDENT "Switch Warning") #define TR_POTWARNINGSTATE TR(INDENT "Pot&Slid.", INDENT "Pots & sliders") #define TR_SLIDERWARNING TR(INDENT "Slid. pos.", INDENT "Slider positions") diff --git a/radio/src/translations/fr.h.txt b/radio/src/translations/fr.h.txt index 7d163b4e9..884bbbce5 100644 --- a/radio/src/translations/fr.h.txt +++ b/radio/src/translations/fr.h.txt @@ -544,6 +544,8 @@ #define TR_PWR_ON_DELAY "Délai btn ON" #define TR_PWR_OFF_DELAY "Délai btn OFF" #define TR_THROTTLE_WARNING TR(INDENT "Alerte gaz", INDENT "Alerte gaz") +#define TR_CUSTOM_THROTTLE_WARNING TR(INDENT INDENT INDENT INDENT "Cust-Pos", INDENT INDENT INDENT INDENT "Custom position?") +#define TR_CUSTOM_THROTTLE_WARNING_VAL TR("Pos. %", "Position %") #define TR_SWITCHWARNING TR(INDENT "Alerte int", INDENT "Pos. interrupteurs") #define TR_POTWARNINGSTATE TR(INDENT "Pot&Slid.", INDENT "Pots & sliders") #define TR_SLIDERWARNING TR(INDENT "Slid. pos.", INDENT "Slider positions") diff --git a/radio/src/translations/it.h.txt b/radio/src/translations/it.h.txt index 3b5ee9f28..ecef0cb0d 100644 --- a/radio/src/translations/it.h.txt +++ b/radio/src/translations/it.h.txt @@ -548,6 +548,8 @@ #define TR_PWR_ON_DELAY "Rit. accens." #define TR_PWR_OFF_DELAY "Rit. spegni." #define TR_THROTTLE_WARNING TR(INDENT "All. Mot.", INDENT "Allarme Motore") +#define TR_CUSTOM_THROTTLE_WARNING TR(INDENT INDENT INDENT INDENT "Cust-Pos", INDENT INDENT INDENT INDENT "Custom position?") +#define TR_CUSTOM_THROTTLE_WARNING_VAL TR("Pos. %", "Position %") #define TR_SWITCHWARNING TR(INDENT "Avv. Int.", INDENT "Avviso Interr.") #define TR_POTWARNINGSTATE TR(INDENT "Pot&Slid.", INDENT "Pots & sliders") #define TR_SLIDERWARNING TR(INDENT "Pos. slid.", INDENT "Posizione slider") diff --git a/radio/src/translations/nl.h.txt b/radio/src/translations/nl.h.txt index 8bffd0916..196e7ebca 100644 --- a/radio/src/translations/nl.h.txt +++ b/radio/src/translations/nl.h.txt @@ -528,6 +528,8 @@ #define TR_PWR_ON_DELAY "Pwr On delay" #define TR_PWR_OFF_DELAY "Pwr Off delay" #define TR_THROTTLE_WARNING TR(INDENT "T-Warning", INDENT "Throttle Status") +#define TR_CUSTOM_THROTTLE_WARNING TR(INDENT INDENT INDENT INDENT "Cust-Pos", INDENT INDENT INDENT INDENT "Custom position?") +#define TR_CUSTOM_THROTTLE_WARNING_VAL TR("Pos. %", "Position %") #define TR_SWITCHWARNING TR(INDENT "S-Warning", INDENT "Switch Posities") #define TR_POTWARNINGSTATE TR(INDENT "Pot&Slid.", INDENT "Pots & sliders") #define TR_SLIDERWARNING TR(INDENT "Slid. pos.", INDENT "Slider positions") diff --git a/radio/src/translations/pl.h.txt b/radio/src/translations/pl.h.txt index 95e5dcbd2..65b17a93e 100644 --- a/radio/src/translations/pl.h.txt +++ b/radio/src/translations/pl.h.txt @@ -544,6 +544,8 @@ #define TR_PWR_ON_DELAY "Pwr On delay" #define TR_PWR_OFF_DELAY "Pwr Off delay" #define TR_THROTTLE_WARNING TR(INDENT"OstrzGaz", INDENT "OstrzeżenieGaz") +#define TR_CUSTOM_THROTTLE_WARNING TR(INDENT INDENT INDENT INDENT "InnePoł", INDENT INDENT INDENT INDENT "Inne położenie?") +#define TR_CUSTOM_THROTTLE_WARNING_VAL TR("Poł. %", "Położenie %") #define TR_SWITCHWARNING TR(INDENT "OstrzPrzeł", INDENT "PozycjaPrzeł") #define TR_POTWARNINGSTATE TR(INDENT "Pot&Slid.", INDENT "Pots & sliders") #define TR_SLIDERWARNING TR(INDENT "Slid. pos.", INDENT "Slider positions") diff --git a/radio/src/translations/pt.h.txt b/radio/src/translations/pt.h.txt index 540e423a4..dc1c6b09e 100644 --- a/radio/src/translations/pt.h.txt +++ b/radio/src/translations/pt.h.txt @@ -548,6 +548,8 @@ #define TR_PWR_ON_DELAY "Pwr On delay" #define TR_PWR_OFF_DELAY "Pwr Off delay" #define TR_THROTTLE_WARNING TR("Avisa Acel", INDENT "Avisa Acel") +#define TR_CUSTOM_THROTTLE_WARNING TR(INDENT INDENT INDENT INDENT "Cust-Pos", INDENT INDENT INDENT INDENT "Custom position?") +#define TR_CUSTOM_THROTTLE_WARNING_VAL TR("Pos. %", "Position %") #define TR_SWITCHWARNING TR("Avisa Chav", INDENT "Avisa Chav") #define TR_POTWARNINGSTATE TR(INDENT "Pot&Slid.", INDENT "Pots & sliders") #define TR_SLIDERWARNING TR(INDENT "Slid. pos.", INDENT "Slider positions") diff --git a/radio/src/translations/se.h.txt b/radio/src/translations/se.h.txt index 14efd3499..1e7b51a91 100644 --- a/radio/src/translations/se.h.txt +++ b/radio/src/translations/se.h.txt @@ -551,6 +551,8 @@ #define TR_PWR_OFF_DELAY "Pwr Off delay" #define TR_BLCOLOR "Color" #define TR_THROTTLE_WARNING TR("Gasvarning", INDENT "Gasvarning") +#define TR_CUSTOM_THROTTLE_WARNING TR(INDENT INDENT INDENT INDENT "Cust-Pos", INDENT INDENT INDENT INDENT "Custom position?") +#define TR_CUSTOM_THROTTLE_WARNING_VAL TR("Pos. %", "Position %") #define TR_SWITCHWARNING TR("Bryt.varn.", INDENT "Brytarvarning") #define TR_POTWARNINGSTATE TR(INDENT "Pot&Slid.", INDENT "Pots & sliders") #define TR_SLIDERWARNING TR(INDENT "Slid. pos.", INDENT "Slider positions") diff --git a/radio/src/translations/tw.h.txt b/radio/src/translations/tw.h.txt index 67cf8a64d..5e2bd9756 100644 --- a/radio/src/translations/tw.h.txt +++ b/radio/src/translations/tw.h.txt @@ -482,6 +482,8 @@ #define TR_PWR_ON_DELAY "開機延遲" #define TR_PWR_OFF_DELAY "關機延遲" #define TR_THROTTLE_WARNING TR(INDENT "T-Warning", INDENT "油門狀態") +#define TR_CUSTOM_THROTTLE_WARNING TR(INDENT INDENT INDENT INDENT "Cust-Pos", INDENT INDENT INDENT INDENT "Custom position?") +#define TR_CUSTOM_THROTTLE_WARNING_VAL TR("Pos. %", "Position %") #define TR_SWITCHWARNING TR(INDENT "S-Warning", INDENT "開關位置") #define TR_POTWARNINGSTATE TR(INDENT "Pot&Slid.", INDENT "旋鈕和滑塊") #define TR_SLIDERWARNING TR(INDENT "Slid. pos.", INDENT "滑塊位置")