From 75e85666238860a9b2f5c6a4124c10a04b1c8209 Mon Sep 17 00:00:00 2001 From: philmoz Date: Sun, 19 Oct 2025 13:30:20 +1100 Subject: [PATCH] feat(bw): add 'Model quick select' option (#6688) --- .../src/firmwares/edgetx/yaml_generalsettings.cpp | 2 +- companion/src/generaledit/generalsetup.cpp | 5 ++--- radio/src/datastructs_private.h | 11 ++++++----- radio/src/gui/128x64/model_select.cpp | 2 ++ radio/src/gui/128x64/radio_setup.cpp | 9 +++++++++ radio/src/gui/212x64/model_select.cpp | 2 ++ radio/src/gui/212x64/radio_setup.cpp | 9 +++++++++ radio/src/storage/yaml/yaml_datastructs_128x64.cpp | 3 ++- radio/src/storage/yaml/yaml_datastructs_f16.cpp | 6 +++--- radio/src/storage/yaml/yaml_datastructs_gx12.cpp | 3 ++- radio/src/storage/yaml/yaml_datastructs_nb4p.cpp | 6 +++--- radio/src/storage/yaml/yaml_datastructs_nv14.cpp | 6 +++--- radio/src/storage/yaml/yaml_datastructs_pa01.cpp | 6 +++--- radio/src/storage/yaml/yaml_datastructs_pl18.cpp | 6 +++--- radio/src/storage/yaml/yaml_datastructs_pl18u.cpp | 6 +++--- radio/src/storage/yaml/yaml_datastructs_st16.cpp | 6 +++--- radio/src/storage/yaml/yaml_datastructs_t15.cpp | 6 +++--- radio/src/storage/yaml/yaml_datastructs_t15pro.cpp | 6 +++--- radio/src/storage/yaml/yaml_datastructs_t20.cpp | 3 ++- radio/src/storage/yaml/yaml_datastructs_tpro.cpp | 3 ++- radio/src/storage/yaml/yaml_datastructs_tx15.cpp | 6 +++--- radio/src/storage/yaml/yaml_datastructs_x10.cpp | 6 +++--- radio/src/storage/yaml/yaml_datastructs_x9d.cpp | 3 ++- radio/src/storage/yaml/yaml_datastructs_x9dp2019.cpp | 3 ++- radio/src/storage/yaml/yaml_datastructs_x9e.cpp | 3 ++- radio/src/storage/yaml/yaml_datastructs_xlite.cpp | 3 ++- radio/src/storage/yaml/yaml_datastructs_xlites.cpp | 3 ++- radio/src/translations/string_list.h | 2 +- 28 files changed, 83 insertions(+), 52 deletions(-) diff --git a/companion/src/firmwares/edgetx/yaml_generalsettings.cpp b/companion/src/firmwares/edgetx/yaml_generalsettings.cpp index 367919f64..54e4a0080 100644 --- a/companion/src/firmwares/edgetx/yaml_generalsettings.cpp +++ b/companion/src/firmwares/edgetx/yaml_generalsettings.cpp @@ -256,8 +256,8 @@ Node convert::encode(const GeneralSettings& rhs) node["varioRepeat"] = rhs.varioRepeat; node["backgroundVolume"] = rhs.backgroundVolume + 2; node["dontPlayHello"] = (int)rhs.dontPlayHello; + node["modelQuickSelect"] = (int)rhs.modelQuickSelect; if (hasColorLcd) { - node["modelQuickSelect"] = (int)rhs.modelQuickSelect; node["modelSelectLayout"] = rhs.modelSelectLayout; node["labelSingleSelect"] = rhs.labelSingleSelect; node["labelMultiMode"] = rhs.labelMultiMode; diff --git a/companion/src/generaledit/generalsetup.cpp b/companion/src/generaledit/generalsetup.cpp index 39638e763..5742d4ab9 100644 --- a/companion/src/generaledit/generalsetup.cpp +++ b/companion/src/generaledit/generalsetup.cpp @@ -527,16 +527,15 @@ void GeneralSetupPanel::setValues() ui->startSoundCB->setChecked(!generalSettings.dontPlayHello); + ui->modelQuickSelect_CB->setChecked(generalSettings.modelQuickSelect); + if (Boards::getCapability(board, Board::HasColorLcd)) { - ui->modelQuickSelect_CB->setChecked(generalSettings.modelQuickSelect); ui->modelSelectLayout_CB->setCurrentIndex(generalSettings.modelSelectLayout); ui->labelSingleSelect_CB->setCurrentIndex(generalSettings.labelSingleSelect); ui->labelMultiMode_CB->setCurrentIndex(generalSettings.labelMultiMode); ui->favMultiMode_CB->setCurrentIndex(generalSettings.favMultiMode); showLabelSelectOptions(); } else { - ui->label_modelQuickSelect->hide(); - ui->modelQuickSelect_CB->hide(); ui->label_modelSelectLayout->hide(); ui->modelSelectLayout_CB->hide(); ui->label_labelSingleSelect->hide(); diff --git a/radio/src/datastructs_private.h b/radio/src/datastructs_private.h index c7aeb341d..901573bb3 100644 --- a/radio/src/datastructs_private.h +++ b/radio/src/datastructs_private.h @@ -937,8 +937,7 @@ PACK(struct TrainerData { #if defined(COLORLCD) #define EXTRA_GENERAL_FIELDS \ NOBACKUP(char currModelFilename[LEN_MODEL_FILENAME+1]); \ - NOBACKUP(uint8_t modelQuickSelect:1); \ - NOBACKUP(uint8_t blOffBright:7); \ + NOBACKUP(uint8_t blOffBright); \ NOBACKUP(char bluetoothName[LEN_BLUETOOTH_NAME]); #else #define EXTRA_GENERAL_FIELDS \ @@ -1113,13 +1112,15 @@ PACK(struct RadioData { NOBACKUP(uint8_t disableTrainerPoweroffAlarm:1); NOBACKUP(uint8_t disablePwrOnOffHaptic:1); + NOBACKUP(uint8_t modelQuickSelect:1); + #if defined(COLORLCD) - NOBACKUP(uint8_t spare:6 SKIP); + NOBACKUP(uint8_t spare:5 SKIP); #elif LCD_W == 128 uint8_t invertLCD:1; // Invert B&W LCD display - NOBACKUP(uint8_t spare:3 SKIP); + NOBACKUP(uint8_t spare:2 SKIP); #else - NOBACKUP(uint8_t spare:4 SKIP); + NOBACKUP(uint8_t spare:3 SKIP); #endif NOBACKUP(uint8_t pwrOffIfInactive); diff --git a/radio/src/gui/128x64/model_select.cpp b/radio/src/gui/128x64/model_select.cpp index d642c4880..ae5fc4b05 100644 --- a/radio/src/gui/128x64/model_select.cpp +++ b/radio/src/gui/128x64/model_select.cpp @@ -42,6 +42,8 @@ void onModelSelectMenu(const char * result) return; } selectModel(sub); + if (g_eeGeneral.modelQuickSelect && result == STR_SELECT_MODEL) + popMenu(); } else if (result == STR_COPY_MODEL) { s_copyMode = COPY_MODE; diff --git a/radio/src/gui/128x64/radio_setup.cpp b/radio/src/gui/128x64/radio_setup.cpp index 6e13f613e..b51f96b48 100644 --- a/radio/src/gui/128x64/radio_setup.cpp +++ b/radio/src/gui/128x64/radio_setup.cpp @@ -89,6 +89,7 @@ enum { CASE_PWR_BUTTON_PRESS(ITEM_RADIO_SETUP_PWR_OFF_SPEED) CASE_PWR_BUTTON_PRESS(ITEM_RADIO_SETUP_PWR_AUTO_OFF) CASE_HAPTIC(ITEM_RADIO_SETUP_PWR_ON_OFF_HAPTIC) + ITEM_MODEL_QUICK_SELECT, CASE_PXX2(ITEM_RADIO_SETUP_OWNER_ID) CASE_GPS(ITEM_RADIO_SETUP_LABEL_GPS) CASE_GPS(ITEM_RADIO_SETUP_TIMEZONE) @@ -220,6 +221,7 @@ void menuRadioSetup(event_t event) CASE_PWR_BUTTON_PRESS(0) CASE_PWR_BUTTON_PRESS(0) CASE_HAPTIC(0) // power on/off haptic + 0, // Model quick select CASE_PXX2(0) /* owner registration ID */ // GPS CASE_GPS(LABEL(GPS)) @@ -631,6 +633,13 @@ void menuRadioSetup(event_t event) } #endif + case ITEM_MODEL_QUICK_SELECT: + lcdDrawTextAlignedLeft(y, STR_MODEL_QUICK_SELECT); + g_eeGeneral.modelQuickSelect = + editCheckBox(g_eeGeneral.modelQuickSelect, LCD_W - 9, y, + nullptr, attr, event); + break; + #if defined(PXX2) case ITEM_RADIO_SETUP_OWNER_ID: lcdDrawTextAlignedLeft(y, STR_OWNER_ID); diff --git a/radio/src/gui/212x64/model_select.cpp b/radio/src/gui/212x64/model_select.cpp index 1812cc8e9..c5a7fe688 100644 --- a/radio/src/gui/212x64/model_select.cpp +++ b/radio/src/gui/212x64/model_select.cpp @@ -33,6 +33,8 @@ void onModelSelectMenu(const char * result) return; } selectModel(sub); + if (g_eeGeneral.modelQuickSelect && result == STR_SELECT_MODEL) + popMenu(); } else if (result == STR_COPY_MODEL) { s_copyMode = COPY_MODE; diff --git a/radio/src/gui/212x64/radio_setup.cpp b/radio/src/gui/212x64/radio_setup.cpp index 14def4ff0..d27619dcf 100644 --- a/radio/src/gui/212x64/radio_setup.cpp +++ b/radio/src/gui/212x64/radio_setup.cpp @@ -85,6 +85,7 @@ enum MenuRadioSetupItems { CASE_PWR_BUTTON_PRESS(ITEM_RADIO_SETUP_PWR_OFF_SPEED) CASE_PWR_BUTTON_PRESS(ITEM_RADIO_SETUP_PWR_AUTO_OFF) CASE_HAPTIC(ITEM_RADIO_SETUP_PWR_ON_OFF_HAPTIC) + ITEM_MODEL_QUICK_SELECT, #if defined(PXX2) ITEM_RADIO_SETUP_OWNER_ID, #endif @@ -218,6 +219,7 @@ void menuRadioSetup(event_t event) CASE_PWR_BUTTON_PRESS(0) // pwr off speed CASE_PWR_BUTTON_PRESS(0) // pwr auto off CASE_HAPTIC(0) // power on/off haptic + 0, // Model quick select CASE_PXX2(0) // owner registration ID // GPS CASE_GPS(LABEL(GPS)) @@ -599,6 +601,13 @@ void menuRadioSetup(event_t event) } #endif + case ITEM_MODEL_QUICK_SELECT: + lcdDrawTextAlignedLeft(y, STR_MODEL_QUICK_SELECT); + g_eeGeneral.modelQuickSelect = + editCheckBox(g_eeGeneral.modelQuickSelect, RADIO_SETUP_2ND_COLUMN, y, + nullptr, attr, event); + break; + #if defined(GPS) case ITEM_RADIO_SETUP_LABEL_GPS: lcdDrawTextAlignedLeft(y, STR_GPS); diff --git a/radio/src/storage/yaml/yaml_datastructs_128x64.cpp b/radio/src/storage/yaml/yaml_datastructs_128x64.cpp index 1db00afad..890293d18 100644 --- a/radio/src/storage/yaml/yaml_datastructs_128x64.cpp +++ b/radio/src/storage/yaml/yaml_datastructs_128x64.cpp @@ -379,8 +379,9 @@ static const struct YamlNode struct_RadioData[] = { YAML_UNSIGNED( "modelTelemetryDisabled", 1 ), YAML_UNSIGNED( "disableTrainerPoweroffAlarm", 1 ), YAML_UNSIGNED( "disablePwrOnOffHaptic", 1 ), + YAML_UNSIGNED( "modelQuickSelect", 1 ), YAML_UNSIGNED( "invertLCD", 1 ), - YAML_PADDING( 3 ), + YAML_PADDING( 2 ), YAML_UNSIGNED( "pwrOffIfInactive", 8 ), YAML_END }; diff --git a/radio/src/storage/yaml/yaml_datastructs_f16.cpp b/radio/src/storage/yaml/yaml_datastructs_f16.cpp index 69ad0e413..d87c66a13 100644 --- a/radio/src/storage/yaml/yaml_datastructs_f16.cpp +++ b/radio/src/storage/yaml/yaml_datastructs_f16.cpp @@ -378,8 +378,7 @@ static const struct YamlNode struct_RadioData[] = { YAML_ARRAY("switchConfig", 32, 20, struct_switchDef, switchIsActive), YAML_ARRAY("flexSwitches", 0, MAX_FLEX_SWITCHES, struct_flexSwitch, flex_sw_valid), YAML_STRING("currModelFilename", 17), - YAML_UNSIGNED( "modelQuickSelect", 1 ), - YAML_UNSIGNED( "blOffBright", 7 ), + YAML_UNSIGNED( "blOffBright", 8 ), YAML_STRING("bluetoothName", 10), YAML_STRING("ownerRegistrationID", 8), YAML_CUSTOM("rotEncDirection",r_rotEncDirection,nullptr), @@ -406,7 +405,8 @@ static const struct YamlNode struct_RadioData[] = { YAML_UNSIGNED( "modelTelemetryDisabled", 1 ), YAML_UNSIGNED( "disableTrainerPoweroffAlarm", 1 ), YAML_UNSIGNED( "disablePwrOnOffHaptic", 1 ), - YAML_PADDING( 6 ), + YAML_UNSIGNED( "modelQuickSelect", 1 ), + YAML_PADDING( 5 ), YAML_UNSIGNED( "pwrOffIfInactive", 8 ), YAML_END }; diff --git a/radio/src/storage/yaml/yaml_datastructs_gx12.cpp b/radio/src/storage/yaml/yaml_datastructs_gx12.cpp index 75b79c689..2aee55bcc 100644 --- a/radio/src/storage/yaml/yaml_datastructs_gx12.cpp +++ b/radio/src/storage/yaml/yaml_datastructs_gx12.cpp @@ -403,8 +403,9 @@ static const struct YamlNode struct_RadioData[] = { YAML_UNSIGNED( "modelTelemetryDisabled", 1 ), YAML_UNSIGNED( "disableTrainerPoweroffAlarm", 1 ), YAML_UNSIGNED( "disablePwrOnOffHaptic", 1 ), + YAML_UNSIGNED( "modelQuickSelect", 1 ), YAML_UNSIGNED( "invertLCD", 1 ), - YAML_PADDING( 3 ), + YAML_PADDING( 2 ), YAML_UNSIGNED( "pwrOffIfInactive", 8 ), YAML_END }; diff --git a/radio/src/storage/yaml/yaml_datastructs_nb4p.cpp b/radio/src/storage/yaml/yaml_datastructs_nb4p.cpp index 5182a29f7..268108a96 100644 --- a/radio/src/storage/yaml/yaml_datastructs_nb4p.cpp +++ b/radio/src/storage/yaml/yaml_datastructs_nb4p.cpp @@ -371,8 +371,7 @@ static const struct YamlNode struct_RadioData[] = { YAML_ARRAY("switchConfig", 32, 20, struct_switchDef, switchIsActive), YAML_ARRAY("flexSwitches", 0, MAX_FLEX_SWITCHES, struct_flexSwitch, flex_sw_valid), YAML_STRING("currModelFilename", 17), - YAML_UNSIGNED( "modelQuickSelect", 1 ), - YAML_UNSIGNED( "blOffBright", 7 ), + YAML_UNSIGNED( "blOffBright", 8 ), YAML_STRING("bluetoothName", 10), YAML_STRING("ownerRegistrationID", 8), YAML_CUSTOM("rotEncDirection",r_rotEncDirection,nullptr), @@ -397,7 +396,8 @@ static const struct YamlNode struct_RadioData[] = { YAML_UNSIGNED( "modelTelemetryDisabled", 1 ), YAML_UNSIGNED( "disableTrainerPoweroffAlarm", 1 ), YAML_UNSIGNED( "disablePwrOnOffHaptic", 1 ), - YAML_PADDING( 6 ), + YAML_UNSIGNED( "modelQuickSelect", 1 ), + YAML_PADDING( 5 ), YAML_UNSIGNED( "pwrOffIfInactive", 8 ), YAML_END }; diff --git a/radio/src/storage/yaml/yaml_datastructs_nv14.cpp b/radio/src/storage/yaml/yaml_datastructs_nv14.cpp index 8c3b0e2e4..52344460a 100644 --- a/radio/src/storage/yaml/yaml_datastructs_nv14.cpp +++ b/radio/src/storage/yaml/yaml_datastructs_nv14.cpp @@ -378,8 +378,7 @@ static const struct YamlNode struct_RadioData[] = { YAML_ARRAY("switchConfig", 32, 20, struct_switchDef, switchIsActive), YAML_ARRAY("flexSwitches", 0, MAX_FLEX_SWITCHES, struct_flexSwitch, flex_sw_valid), YAML_STRING("currModelFilename", 17), - YAML_UNSIGNED( "modelQuickSelect", 1 ), - YAML_UNSIGNED( "blOffBright", 7 ), + YAML_UNSIGNED( "blOffBright", 8 ), YAML_STRING("bluetoothName", 10), YAML_STRING("ownerRegistrationID", 8), YAML_CUSTOM("rotEncDirection",r_rotEncDirection,nullptr), @@ -404,7 +403,8 @@ static const struct YamlNode struct_RadioData[] = { YAML_UNSIGNED( "modelTelemetryDisabled", 1 ), YAML_UNSIGNED( "disableTrainerPoweroffAlarm", 1 ), YAML_UNSIGNED( "disablePwrOnOffHaptic", 1 ), - YAML_PADDING( 6 ), + YAML_UNSIGNED( "modelQuickSelect", 1 ), + YAML_PADDING( 5 ), YAML_UNSIGNED( "pwrOffIfInactive", 8 ), YAML_END }; diff --git a/radio/src/storage/yaml/yaml_datastructs_pa01.cpp b/radio/src/storage/yaml/yaml_datastructs_pa01.cpp index ab465da0b..fa459fd78 100644 --- a/radio/src/storage/yaml/yaml_datastructs_pa01.cpp +++ b/radio/src/storage/yaml/yaml_datastructs_pa01.cpp @@ -401,8 +401,7 @@ static const struct YamlNode struct_RadioData[] = { YAML_ARRAY("switchConfig", 80, 20, struct_switchDef, switchIsActive), YAML_ARRAY("flexSwitches", 0, MAX_FLEX_SWITCHES, struct_flexSwitch, flex_sw_valid), YAML_STRING("currModelFilename", 17), - YAML_UNSIGNED( "modelQuickSelect", 1 ), - YAML_UNSIGNED( "blOffBright", 7 ), + YAML_UNSIGNED( "blOffBright", 8 ), YAML_STRING("bluetoothName", 10), YAML_STRING("ownerRegistrationID", 8), YAML_CUSTOM("rotEncDirection",r_rotEncDirection,nullptr), @@ -428,7 +427,8 @@ static const struct YamlNode struct_RadioData[] = { YAML_UNSIGNED( "modelTelemetryDisabled", 1 ), YAML_UNSIGNED( "disableTrainerPoweroffAlarm", 1 ), YAML_UNSIGNED( "disablePwrOnOffHaptic", 1 ), - YAML_PADDING( 6 ), + YAML_UNSIGNED( "modelQuickSelect", 1 ), + YAML_PADDING( 5 ), YAML_UNSIGNED( "pwrOffIfInactive", 8 ), YAML_END }; diff --git a/radio/src/storage/yaml/yaml_datastructs_pl18.cpp b/radio/src/storage/yaml/yaml_datastructs_pl18.cpp index fe612fea6..0a69538bc 100644 --- a/radio/src/storage/yaml/yaml_datastructs_pl18.cpp +++ b/radio/src/storage/yaml/yaml_datastructs_pl18.cpp @@ -378,8 +378,7 @@ static const struct YamlNode struct_RadioData[] = { YAML_ARRAY("switchConfig", 32, 20, struct_switchDef, switchIsActive), YAML_ARRAY("flexSwitches", 0, MAX_FLEX_SWITCHES, struct_flexSwitch, flex_sw_valid), YAML_STRING("currModelFilename", 17), - YAML_UNSIGNED( "modelQuickSelect", 1 ), - YAML_UNSIGNED( "blOffBright", 7 ), + YAML_UNSIGNED( "blOffBright", 8 ), YAML_STRING("bluetoothName", 10), YAML_STRING("ownerRegistrationID", 8), YAML_CUSTOM("rotEncDirection",r_rotEncDirection,nullptr), @@ -404,7 +403,8 @@ static const struct YamlNode struct_RadioData[] = { YAML_UNSIGNED( "modelTelemetryDisabled", 1 ), YAML_UNSIGNED( "disableTrainerPoweroffAlarm", 1 ), YAML_UNSIGNED( "disablePwrOnOffHaptic", 1 ), - YAML_PADDING( 6 ), + YAML_UNSIGNED( "modelQuickSelect", 1 ), + YAML_PADDING( 5 ), YAML_UNSIGNED( "pwrOffIfInactive", 8 ), YAML_END }; diff --git a/radio/src/storage/yaml/yaml_datastructs_pl18u.cpp b/radio/src/storage/yaml/yaml_datastructs_pl18u.cpp index 91e12a002..bfbeddbf0 100644 --- a/radio/src/storage/yaml/yaml_datastructs_pl18u.cpp +++ b/radio/src/storage/yaml/yaml_datastructs_pl18u.cpp @@ -371,8 +371,7 @@ static const struct YamlNode struct_RadioData[] = { YAML_ARRAY("switchConfig", 32, 20, struct_switchDef, switchIsActive), YAML_ARRAY("flexSwitches", 0, MAX_FLEX_SWITCHES, struct_flexSwitch, flex_sw_valid), YAML_STRING("currModelFilename", 17), - YAML_UNSIGNED( "modelQuickSelect", 1 ), - YAML_UNSIGNED( "blOffBright", 7 ), + YAML_UNSIGNED( "blOffBright", 8 ), YAML_STRING("bluetoothName", 10), YAML_STRING("ownerRegistrationID", 8), YAML_CUSTOM("rotEncDirection",r_rotEncDirection,nullptr), @@ -397,7 +396,8 @@ static const struct YamlNode struct_RadioData[] = { YAML_UNSIGNED( "modelTelemetryDisabled", 1 ), YAML_UNSIGNED( "disableTrainerPoweroffAlarm", 1 ), YAML_UNSIGNED( "disablePwrOnOffHaptic", 1 ), - YAML_PADDING( 6 ), + YAML_UNSIGNED( "modelQuickSelect", 1 ), + YAML_PADDING( 5 ), YAML_UNSIGNED( "pwrOffIfInactive", 8 ), YAML_END }; diff --git a/radio/src/storage/yaml/yaml_datastructs_st16.cpp b/radio/src/storage/yaml/yaml_datastructs_st16.cpp index 9733a5941..cb3e0b81c 100644 --- a/radio/src/storage/yaml/yaml_datastructs_st16.cpp +++ b/radio/src/storage/yaml/yaml_datastructs_st16.cpp @@ -401,8 +401,7 @@ static const struct YamlNode struct_RadioData[] = { YAML_ARRAY("switchConfig", 80, 20, struct_switchDef, switchIsActive), YAML_ARRAY("flexSwitches", 0, MAX_FLEX_SWITCHES, struct_flexSwitch, flex_sw_valid), YAML_STRING("currModelFilename", 17), - YAML_UNSIGNED( "modelQuickSelect", 1 ), - YAML_UNSIGNED( "blOffBright", 7 ), + YAML_UNSIGNED( "blOffBright", 8 ), YAML_STRING("bluetoothName", 10), YAML_STRING("ownerRegistrationID", 8), YAML_CUSTOM("rotEncDirection",r_rotEncDirection,nullptr), @@ -428,7 +427,8 @@ static const struct YamlNode struct_RadioData[] = { YAML_UNSIGNED( "modelTelemetryDisabled", 1 ), YAML_UNSIGNED( "disableTrainerPoweroffAlarm", 1 ), YAML_UNSIGNED( "disablePwrOnOffHaptic", 1 ), - YAML_PADDING( 6 ), + YAML_UNSIGNED( "modelQuickSelect", 1 ), + YAML_PADDING( 5 ), YAML_UNSIGNED( "pwrOffIfInactive", 8 ), YAML_END }; diff --git a/radio/src/storage/yaml/yaml_datastructs_t15.cpp b/radio/src/storage/yaml/yaml_datastructs_t15.cpp index c78b50a5a..5ee0572d2 100644 --- a/radio/src/storage/yaml/yaml_datastructs_t15.cpp +++ b/radio/src/storage/yaml/yaml_datastructs_t15.cpp @@ -386,8 +386,7 @@ static const struct YamlNode struct_RadioData[] = { YAML_ARRAY("switchConfig", 32, 20, struct_switchDef, switchIsActive), YAML_ARRAY("flexSwitches", 0, MAX_FLEX_SWITCHES, struct_flexSwitch, flex_sw_valid), YAML_STRING("currModelFilename", 17), - YAML_UNSIGNED( "modelQuickSelect", 1 ), - YAML_UNSIGNED( "blOffBright", 7 ), + YAML_UNSIGNED( "blOffBright", 8 ), YAML_STRING("bluetoothName", 10), YAML_STRING("ownerRegistrationID", 8), YAML_CUSTOM("rotEncDirection",r_rotEncDirection,nullptr), @@ -414,7 +413,8 @@ static const struct YamlNode struct_RadioData[] = { YAML_UNSIGNED( "modelTelemetryDisabled", 1 ), YAML_UNSIGNED( "disableTrainerPoweroffAlarm", 1 ), YAML_UNSIGNED( "disablePwrOnOffHaptic", 1 ), - YAML_PADDING( 6 ), + YAML_UNSIGNED( "modelQuickSelect", 1 ), + YAML_PADDING( 5 ), YAML_UNSIGNED( "pwrOffIfInactive", 8 ), YAML_END }; diff --git a/radio/src/storage/yaml/yaml_datastructs_t15pro.cpp b/radio/src/storage/yaml/yaml_datastructs_t15pro.cpp index 9733a5941..cb3e0b81c 100644 --- a/radio/src/storage/yaml/yaml_datastructs_t15pro.cpp +++ b/radio/src/storage/yaml/yaml_datastructs_t15pro.cpp @@ -401,8 +401,7 @@ static const struct YamlNode struct_RadioData[] = { YAML_ARRAY("switchConfig", 80, 20, struct_switchDef, switchIsActive), YAML_ARRAY("flexSwitches", 0, MAX_FLEX_SWITCHES, struct_flexSwitch, flex_sw_valid), YAML_STRING("currModelFilename", 17), - YAML_UNSIGNED( "modelQuickSelect", 1 ), - YAML_UNSIGNED( "blOffBright", 7 ), + YAML_UNSIGNED( "blOffBright", 8 ), YAML_STRING("bluetoothName", 10), YAML_STRING("ownerRegistrationID", 8), YAML_CUSTOM("rotEncDirection",r_rotEncDirection,nullptr), @@ -428,7 +427,8 @@ static const struct YamlNode struct_RadioData[] = { YAML_UNSIGNED( "modelTelemetryDisabled", 1 ), YAML_UNSIGNED( "disableTrainerPoweroffAlarm", 1 ), YAML_UNSIGNED( "disablePwrOnOffHaptic", 1 ), - YAML_PADDING( 6 ), + YAML_UNSIGNED( "modelQuickSelect", 1 ), + YAML_PADDING( 5 ), YAML_UNSIGNED( "pwrOffIfInactive", 8 ), YAML_END }; diff --git a/radio/src/storage/yaml/yaml_datastructs_t20.cpp b/radio/src/storage/yaml/yaml_datastructs_t20.cpp index 62cc1b270..1e6dceaec 100644 --- a/radio/src/storage/yaml/yaml_datastructs_t20.cpp +++ b/radio/src/storage/yaml/yaml_datastructs_t20.cpp @@ -388,8 +388,9 @@ static const struct YamlNode struct_RadioData[] = { YAML_UNSIGNED( "modelTelemetryDisabled", 1 ), YAML_UNSIGNED( "disableTrainerPoweroffAlarm", 1 ), YAML_UNSIGNED( "disablePwrOnOffHaptic", 1 ), + YAML_UNSIGNED( "modelQuickSelect", 1 ), YAML_UNSIGNED( "invertLCD", 1 ), - YAML_PADDING( 3 ), + YAML_PADDING( 2 ), YAML_UNSIGNED( "pwrOffIfInactive", 8 ), YAML_END }; diff --git a/radio/src/storage/yaml/yaml_datastructs_tpro.cpp b/radio/src/storage/yaml/yaml_datastructs_tpro.cpp index 2302b663a..f4987223a 100644 --- a/radio/src/storage/yaml/yaml_datastructs_tpro.cpp +++ b/radio/src/storage/yaml/yaml_datastructs_tpro.cpp @@ -388,8 +388,9 @@ static const struct YamlNode struct_RadioData[] = { YAML_UNSIGNED( "modelTelemetryDisabled", 1 ), YAML_UNSIGNED( "disableTrainerPoweroffAlarm", 1 ), YAML_UNSIGNED( "disablePwrOnOffHaptic", 1 ), + YAML_UNSIGNED( "modelQuickSelect", 1 ), YAML_UNSIGNED( "invertLCD", 1 ), - YAML_PADDING( 3 ), + YAML_PADDING( 2 ), YAML_UNSIGNED( "pwrOffIfInactive", 8 ), YAML_END }; diff --git a/radio/src/storage/yaml/yaml_datastructs_tx15.cpp b/radio/src/storage/yaml/yaml_datastructs_tx15.cpp index 9733a5941..cb3e0b81c 100644 --- a/radio/src/storage/yaml/yaml_datastructs_tx15.cpp +++ b/radio/src/storage/yaml/yaml_datastructs_tx15.cpp @@ -401,8 +401,7 @@ static const struct YamlNode struct_RadioData[] = { YAML_ARRAY("switchConfig", 80, 20, struct_switchDef, switchIsActive), YAML_ARRAY("flexSwitches", 0, MAX_FLEX_SWITCHES, struct_flexSwitch, flex_sw_valid), YAML_STRING("currModelFilename", 17), - YAML_UNSIGNED( "modelQuickSelect", 1 ), - YAML_UNSIGNED( "blOffBright", 7 ), + YAML_UNSIGNED( "blOffBright", 8 ), YAML_STRING("bluetoothName", 10), YAML_STRING("ownerRegistrationID", 8), YAML_CUSTOM("rotEncDirection",r_rotEncDirection,nullptr), @@ -428,7 +427,8 @@ static const struct YamlNode struct_RadioData[] = { YAML_UNSIGNED( "modelTelemetryDisabled", 1 ), YAML_UNSIGNED( "disableTrainerPoweroffAlarm", 1 ), YAML_UNSIGNED( "disablePwrOnOffHaptic", 1 ), - YAML_PADDING( 6 ), + YAML_UNSIGNED( "modelQuickSelect", 1 ), + YAML_PADDING( 5 ), YAML_UNSIGNED( "pwrOffIfInactive", 8 ), YAML_END }; diff --git a/radio/src/storage/yaml/yaml_datastructs_x10.cpp b/radio/src/storage/yaml/yaml_datastructs_x10.cpp index 66b7d8a93..c73bb6ef6 100644 --- a/radio/src/storage/yaml/yaml_datastructs_x10.cpp +++ b/radio/src/storage/yaml/yaml_datastructs_x10.cpp @@ -377,8 +377,7 @@ static const struct YamlNode struct_RadioData[] = { YAML_ARRAY("switchConfig", 32, 20, struct_switchDef, switchIsActive), YAML_ARRAY("flexSwitches", 0, MAX_FLEX_SWITCHES, struct_flexSwitch, flex_sw_valid), YAML_STRING("currModelFilename", 17), - YAML_UNSIGNED( "modelQuickSelect", 1 ), - YAML_UNSIGNED( "blOffBright", 7 ), + YAML_UNSIGNED( "blOffBright", 8 ), YAML_STRING("bluetoothName", 10), YAML_STRING("ownerRegistrationID", 8), YAML_CUSTOM("rotEncDirection",r_rotEncDirection,nullptr), @@ -405,7 +404,8 @@ static const struct YamlNode struct_RadioData[] = { YAML_UNSIGNED( "modelTelemetryDisabled", 1 ), YAML_UNSIGNED( "disableTrainerPoweroffAlarm", 1 ), YAML_UNSIGNED( "disablePwrOnOffHaptic", 1 ), - YAML_PADDING( 6 ), + YAML_UNSIGNED( "modelQuickSelect", 1 ), + YAML_PADDING( 5 ), YAML_UNSIGNED( "pwrOffIfInactive", 8 ), YAML_END }; diff --git a/radio/src/storage/yaml/yaml_datastructs_x9d.cpp b/radio/src/storage/yaml/yaml_datastructs_x9d.cpp index a746bbe34..ea5edac3b 100644 --- a/radio/src/storage/yaml/yaml_datastructs_x9d.cpp +++ b/radio/src/storage/yaml/yaml_datastructs_x9d.cpp @@ -379,7 +379,8 @@ static const struct YamlNode struct_RadioData[] = { YAML_UNSIGNED( "modelTelemetryDisabled", 1 ), YAML_UNSIGNED( "disableTrainerPoweroffAlarm", 1 ), YAML_UNSIGNED( "disablePwrOnOffHaptic", 1 ), - YAML_PADDING( 4 ), + YAML_UNSIGNED( "modelQuickSelect", 1 ), + YAML_PADDING( 3 ), YAML_UNSIGNED( "pwrOffIfInactive", 8 ), YAML_END }; diff --git a/radio/src/storage/yaml/yaml_datastructs_x9dp2019.cpp b/radio/src/storage/yaml/yaml_datastructs_x9dp2019.cpp index a746bbe34..ea5edac3b 100644 --- a/radio/src/storage/yaml/yaml_datastructs_x9dp2019.cpp +++ b/radio/src/storage/yaml/yaml_datastructs_x9dp2019.cpp @@ -379,7 +379,8 @@ static const struct YamlNode struct_RadioData[] = { YAML_UNSIGNED( "modelTelemetryDisabled", 1 ), YAML_UNSIGNED( "disableTrainerPoweroffAlarm", 1 ), YAML_UNSIGNED( "disablePwrOnOffHaptic", 1 ), - YAML_PADDING( 4 ), + YAML_UNSIGNED( "modelQuickSelect", 1 ), + YAML_PADDING( 3 ), YAML_UNSIGNED( "pwrOffIfInactive", 8 ), YAML_END }; diff --git a/radio/src/storage/yaml/yaml_datastructs_x9e.cpp b/radio/src/storage/yaml/yaml_datastructs_x9e.cpp index 1299ae64a..9d79dc589 100644 --- a/radio/src/storage/yaml/yaml_datastructs_x9e.cpp +++ b/radio/src/storage/yaml/yaml_datastructs_x9e.cpp @@ -379,7 +379,8 @@ static const struct YamlNode struct_RadioData[] = { YAML_UNSIGNED( "modelTelemetryDisabled", 1 ), YAML_UNSIGNED( "disableTrainerPoweroffAlarm", 1 ), YAML_UNSIGNED( "disablePwrOnOffHaptic", 1 ), - YAML_PADDING( 4 ), + YAML_UNSIGNED( "modelQuickSelect", 1 ), + YAML_PADDING( 3 ), YAML_UNSIGNED( "pwrOffIfInactive", 8 ), YAML_END }; diff --git a/radio/src/storage/yaml/yaml_datastructs_xlite.cpp b/radio/src/storage/yaml/yaml_datastructs_xlite.cpp index 1db00afad..890293d18 100644 --- a/radio/src/storage/yaml/yaml_datastructs_xlite.cpp +++ b/radio/src/storage/yaml/yaml_datastructs_xlite.cpp @@ -379,8 +379,9 @@ static const struct YamlNode struct_RadioData[] = { YAML_UNSIGNED( "modelTelemetryDisabled", 1 ), YAML_UNSIGNED( "disableTrainerPoweroffAlarm", 1 ), YAML_UNSIGNED( "disablePwrOnOffHaptic", 1 ), + YAML_UNSIGNED( "modelQuickSelect", 1 ), YAML_UNSIGNED( "invertLCD", 1 ), - YAML_PADDING( 3 ), + YAML_PADDING( 2 ), YAML_UNSIGNED( "pwrOffIfInactive", 8 ), YAML_END }; diff --git a/radio/src/storage/yaml/yaml_datastructs_xlites.cpp b/radio/src/storage/yaml/yaml_datastructs_xlites.cpp index 763f8e792..ed54cd6b6 100644 --- a/radio/src/storage/yaml/yaml_datastructs_xlites.cpp +++ b/radio/src/storage/yaml/yaml_datastructs_xlites.cpp @@ -383,8 +383,9 @@ static const struct YamlNode struct_RadioData[] = { YAML_UNSIGNED( "modelTelemetryDisabled", 1 ), YAML_UNSIGNED( "disableTrainerPoweroffAlarm", 1 ), YAML_UNSIGNED( "disablePwrOnOffHaptic", 1 ), + YAML_UNSIGNED( "modelQuickSelect", 1 ), YAML_UNSIGNED( "invertLCD", 1 ), - YAML_PADDING( 3 ), + YAML_PADDING( 2 ), YAML_UNSIGNED( "pwrOffIfInactive", 8 ), YAML_END }; diff --git a/radio/src/translations/string_list.h b/radio/src/translations/string_list.h index 9430d859a..f65c4503e 100644 --- a/radio/src/translations/string_list.h +++ b/radio/src/translations/string_list.h @@ -843,7 +843,6 @@ STR(WIDGET_TIMER) STR(WIDGET_VALUE) STR(LEFT_STICK) STR(SHOW_MIXER_MONITORS) -STR(MODEL_QUICK_SELECT) STR(LOADING) STR(DELETE_THEME) STR(SAVE_THEME) @@ -893,6 +892,7 @@ STR(BLOFFBRIGHTNESS) STR(KEYS_BACKLIGHT) #endif +STR(MODEL_QUICK_SELECT) STR(TIMEZONE) STR(ADJUST_RTC) STR(GPS)