From 09d4066a23ce5482ca667036089c8b76bf15d435 Mon Sep 17 00:00:00 2001 From: 3djc Date: Wed, 8 May 2024 03:19:18 +0200 Subject: [PATCH] feat: add ability to disable trainer warning on shutdown (#4831) Co-authored-by: philmoz Co-authored-by: Peter Feerick --- .../firmwares/edgetx/yaml_generalsettings.cpp | 2 + companion/src/firmwares/generalsettings.h | 1 + companion/src/generaledit/generalsetup.cpp | 7 + companion/src/generaledit/generalsetup.h | 1 + companion/src/generaledit/generalsetup.ui | 1654 +++++++++-------- radio/src/datastructs.h | 6 +- radio/src/datastructs_private.h | 13 +- radio/src/gui/128x64/radio_setup.cpp | 11 +- radio/src/gui/212x64/radio_setup.cpp | 10 + radio/src/gui/colorlcd/radio_setup.cpp | 6 + radio/src/opentx.cpp | 6 +- .../storage/yaml/yaml_datastructs_128x64.cpp | 2 + .../storage/yaml/yaml_datastructs_nv14.cpp | 8 +- .../storage/yaml/yaml_datastructs_pl18.cpp | 8 +- .../src/storage/yaml/yaml_datastructs_t20.cpp | 2 + .../storage/yaml/yaml_datastructs_tpro.cpp | 2 + .../src/storage/yaml/yaml_datastructs_x10.cpp | 8 +- .../storage/yaml/yaml_datastructs_x12s.cpp | 8 +- .../src/storage/yaml/yaml_datastructs_x9d.cpp | 2 + .../src/storage/yaml/yaml_datastructs_x9e.cpp | 2 + .../storage/yaml/yaml_datastructs_xlites.cpp | 2 + radio/src/translations.cpp | 1 + radio/src/translations.h | 1 + radio/src/translations/cn.h | 1 + radio/src/translations/cz.h | 1 + radio/src/translations/da.h | 3 +- radio/src/translations/de.h | 3 +- radio/src/translations/en.h | 3 +- radio/src/translations/es.h | 1 + radio/src/translations/fi.h | 1 + radio/src/translations/fr.h | 1 + radio/src/translations/he.h | 1 + radio/src/translations/it.h | 1 + radio/src/translations/jp.h | 3 +- radio/src/translations/nl.h | 1 + radio/src/translations/pl.h | 3 +- radio/src/translations/pt.h | 3 +- radio/src/translations/ru.h | 1 + radio/src/translations/se.h | 1 + radio/src/translations/tw.h | 1 + radio/src/translations/ua.h | 1 + 41 files changed, 944 insertions(+), 849 deletions(-) diff --git a/companion/src/firmwares/edgetx/yaml_generalsettings.cpp b/companion/src/firmwares/edgetx/yaml_generalsettings.cpp index ae9e1883b..097267b9c 100644 --- a/companion/src/firmwares/edgetx/yaml_generalsettings.cpp +++ b/companion/src/firmwares/edgetx/yaml_generalsettings.cpp @@ -206,6 +206,7 @@ Node convert::encode(const GeneralSettings& rhs) node["alarmsFlash"] = (int)rhs.alarmsFlash; node["disableAlarmWarning"] = (int)rhs.disableAlarmWarning; node["disableRssiPoweroffAlarm"] = (int)rhs.disableRssiPoweroffAlarm; + node["disableTrainerPoweroffAlarm"] = (int)rhs.disableTrainerPoweroffAlarm; node["USBMode"] = rhs.usbMode; node["hatsMode"] = hatsModeLut << rhs.hatsMode; node["stickDeadZone"] = rhs.stickDeadZone; @@ -450,6 +451,7 @@ bool convert::decode(const Node& node, GeneralSettings& rhs) node["alarmsFlash"] >> rhs.alarmsFlash; node["disableAlarmWarning"] >> rhs.disableAlarmWarning; node["disableRssiPoweroffAlarm"] >> rhs.disableRssiPoweroffAlarm; + node["disableTrainerPoweroffAlarm"] >> rhs.disableTrainerPoweroffAlarm; node["USBMode"] >> rhs.usbMode; node["hatsMode"] >> hatsModeLut >> rhs.hatsMode; node["stickDeadZone"] >> rhs.stickDeadZone; diff --git a/companion/src/firmwares/generalsettings.h b/companion/src/firmwares/generalsettings.h index 6bd709fef..f217f0488 100644 --- a/companion/src/firmwares/generalsettings.h +++ b/companion/src/firmwares/generalsettings.h @@ -221,6 +221,7 @@ class GeneralSettings { BeeperMode beeperMode; bool disableAlarmWarning; bool disableRssiPoweroffAlarm; + bool disableTrainerPoweroffAlarm; unsigned int usbMode; unsigned int hatsMode; unsigned int stickDeadZone; diff --git a/companion/src/generaledit/generalsetup.cpp b/companion/src/generaledit/generalsetup.cpp index 00c2c8641..9e44a6d2b 100644 --- a/companion/src/generaledit/generalsetup.cpp +++ b/companion/src/generaledit/generalsetup.cpp @@ -271,6 +271,7 @@ ui(new Ui::GeneralSetup) ui->alarmwarnChkB->setChecked(!generalSettings.disableAlarmWarning); // Default is zero=checked ui->rssiPowerOffWarnChkB->setChecked(!generalSettings.disableRssiPoweroffAlarm); // Default is zero=checked + ui->trainerPowerOffWarnChkB->setChecked(!generalSettings.disableTrainerPoweroffAlarm); // Default is zero=checked ui->splashScreenDuration->setCurrentIndex(3-generalSettings.splashMode); if (IS_FAMILY_HORUS_OR_T16(firmware->getBoard())) { @@ -820,6 +821,12 @@ void GeneralSetupPanel::on_rssiPowerOffWarnChkB_stateChanged(int) emit modified(); } +void GeneralSetupPanel::on_trainerPowerOffWarnChkB_stateChanged(int) +{ + generalSettings.disableTrainerPoweroffAlarm = ui->trainerPowerOffWarnChkB->isChecked() ? 0 : 1; + emit modified(); +} + void GeneralSetupPanel::on_beeperCB_currentIndexChanged(int index) { generalSettings.beeperMode = (GeneralSettings::BeeperMode)(index-2); diff --git a/companion/src/generaledit/generalsetup.h b/companion/src/generaledit/generalsetup.h index 085e1bbd4..cd0a84c90 100644 --- a/companion/src/generaledit/generalsetup.h +++ b/companion/src/generaledit/generalsetup.h @@ -40,6 +40,7 @@ class GeneralSetupPanel : public GeneralPanel void on_splashScreenDuration_currentIndexChanged(int index); void on_alarmwarnChkB_stateChanged(int); void on_rssiPowerOffWarnChkB_stateChanged(int); + void on_trainerPowerOffWarnChkB_stateChanged(int); void on_gpsFormatCB_currentIndexChanged(int index); void on_displayTypeCB_currentIndexChanged(int index); void on_BLBright_SB_editingFinished(); diff --git a/companion/src/generaledit/generalsetup.ui b/companion/src/generaledit/generalsetup.ui index 0b741addf..a94331848 100644 --- a/companion/src/generaledit/generalsetup.ui +++ b/companion/src/generaledit/generalsetup.ui @@ -1260,42 +1260,15 @@ p, li { white-space: pre-wrap; } QLayout::SetDefaultConstraint - - - - - 0 - 0 - - - - - 0 - 22 - - - - - - - - - - - - - 10 - - - 45 - - - 25 + + + + Measurement Units - - + + 0 @@ -1309,47 +1282,26 @@ p, li { white-space: pre-wrap; } - Low EEPROM Warning + Haptic Strength - - - - - 0 - 0 - - - - - 16777215 - 16777215 - - - - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> -<html><head><meta name="qrichtext" content="1" /><style type="text/css"> -p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" text-decoration: underline;">Warnings</span></p> -<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">These will define startup warnings.</p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Throttle warning - will alert if the throttle is not at idle during startup</p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Switch warning - will alert if switches are not in their defaul position</p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Memory warning - will alert if there's not a lot of memory left</p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Silent mode warning - will alert you if the beeper is set to quiet (0)</p></body></html> - + + - - - - true + Jack Mode - - + + + + GPS Coordinates + + + + + 0 @@ -1363,18 +1315,12 @@ p, li { white-space: pre-wrap; } - RSSI Poweroff Warning + Show Splash Screen on Startup - - - - - 0 - 0 - - + + 0 @@ -1382,45 +1328,7 @@ p, li { white-space: pre-wrap; } - Battery Meter Range - - - - - - - - 0 - 0 - - - - - 0 - 0 - - - - Beeper Mode - - - - - - - - 0 - 0 - - - - - 0 - 0 - - - - Haptic Length + MAVLink Baud Rate @@ -1459,53 +1367,7 @@ p, li { white-space: pre-wrap; } - - - - - DMS - - - - - NMEA - - - - - - - - - Ask on Connect - - - - - Audio - - - - - Trainer - - - - - - - - Qt::Vertical - - - - 20 - 40 - - - - - + @@ -1549,56 +1411,6 @@ p, li { white-space: pre-wrap; } - - - - - 0 - 0 - - - - - 0 - 0 - - - - Haptic Mode - - - - - - - - Ask on Connect - - - - - Joystick (HID) - - - - - USB Mass Storage - - - - - USB Serial (CDC) - - - - - - - - Stick Mode - - - @@ -1625,17 +1437,7 @@ p, li { white-space: pre-wrap; } - - - - sec - - - 3 - - - - + @@ -1668,8 +1470,112 @@ p, li { white-space: pre-wrap; } - - + + + + + + + + + + Mode selection: + +Mode 1: + Left stick: Elevator, Rudder + Right stick: Throttle, Aileron + +Mode 2: + Left stick: Throttle, Rudder + Right stick: Elevator, Aileron + +Mode 3: + Left stick: Elevator, Aileron + Right stick: Throttle, Rudder + +Mode 4: + Left stick: Throttle, Aileron + Right stick: Elevator, Rudder + + + + + 1 + + + + Mode 1 (RUD ELE THR AIL) + + + + + Mode 2 (RUD THR ELE AIL) + + + + + Mode 3 (AIL ELE THR RUD) + + + + + Mode 4 (AIL THR ELE RUD) + + + + + + + + Hats Mode + + + + + + + + Ask on Connect + + + + + Joystick (HID) + + + + + USB Mass Storage + + + + + USB Serial (CDC) + + + + + + + + + Ask on Connect + + + + + Audio + + + + + Trainer + + + + + + 0 @@ -1683,7 +1589,169 @@ p, li { white-space: pre-wrap; } - Show Splash Screen on Startup + Low EEPROM Warning + + + + + + + + 0 + 0 + + + + + 0 + 0 + + + + Beeper Length + + + + + + + + 0 + 0 + + + + + 0 + 0 + + + + "No Sound" Warning + + + + + + + + + + 0 + 0 + + + + + --- + + + + + 2s + + + + + 3s + + + + + 4s + + + + + 6s + + + + + 8s + + + + + 10s + + + + + 15s + + + + + + + + + + PPM Units + + + + + + + + 0 + 0 + + + + + 0 + 22 + + + + -2 + + + 2 + + + 1 + + + Qt::Horizontal + + + + + + + + 0 + 0 + + + + + 16777215 + 16777215 + + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" text-decoration: underline;">Warnings</span></p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">These will define startup warnings.</p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Throttle warning - will alert if the throttle is not at idle during startup</p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Switch warning - will alert if switches are not in their defaul position</p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Memory warning - will alert if there's not a lot of memory left</p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Silent mode warning - will alert you if the beeper is set to quiet (0)</p></body></html> + + + + + + true @@ -1738,6 +1806,360 @@ p, li { white-space: pre-wrap; } + + + + + 0 + 0 + + + + + 0 + 22 + + + + + Quiet + + + + + Only Alarms + + + + + No Keys + + + + + All + + + + + + + + + + Min + + + + + + + v + + + 1 + + + 3.000000000000000 + + + 16.000000000000000 + + + 0.100000000000000 + + + 9.000000000000000 + + + + + + + Max + + + + + + + v + + + 1 + + + 3.000000000000000 + + + 16.000000000000000 + + + 0.100000000000000 + + + 12.000000000000000 + + + + + + + + + + + + + 0 + 0 + + + + + 0 + 22 + + + + + + + + + + Battery warning voltage. +This is the threshold where the battery warning sounds. + +Acceptable values are 3v..12v + + + + + + V + + + 1 + + + 3.000000000000000 + + + 12.000000000000000 + + + 0.100000000000000 + + + 9.600000000000000 + + + + + + + + 0 + 0 + + + + + 0 + 0 + + + + Haptic Mode + + + + + + + + 0 + 0 + + + + + 0 + 22 + + + + + 16777215 + 16777215 + + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" text-decoration: underline;">Warnings</span></p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">These will define startup warnings.</p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Throttle warning - will alert if the throttle is not at idle during startup</p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Switch warning - will alert if switches are not in their defaul position</p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Memory warning - will alert if there's not a lot of memory left</p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Silent mode warning - will alert you if the beeper is set to quiet (0)</p></body></html> + + + + + + true + + + + + + + + 0 + 0 + + + + + 0 + 22 + + + + + + + + + + + + + 10 + + + 45 + + + 25 + + + + + + + + + + + + + + Power Off Delay + + + + + + + + 0 + 0 + + + + + 0 + 0 + + + + LCD Display Type + + + + + + + + 0 + 0 + + + + + 0 + 22 + + + + + X-Short + + + + + Short + + + + + Normal + + + + + Long + + + + + X-Long + + + + + + + + Play Startup Sound + + + + + + + + 0 + 0 + + + + + 0 + 0 + + + + Inactivity Timer + + + + + + + sec + + + 3 + + + @@ -1779,38 +2201,179 @@ p, li { white-space: pre-wrap; } - - + + - Measurement Units + Power On Delay - - + + + + + 0 + 0 + + + + + 0 + 0 + + - Power Off Delay + Haptic Length - - - - - + + + + + 0 + 0 + + + + + 20 + 0 + + + + + - Hats Mode + Battery Warning + + + + + + + + 0 + 0 + + + + + 0 + 0 + + + + RSSI Poweroff Warning + + + + 0 + 0 + + + + Play Delay (switch mid position) + + + + + + + sec + + + 3 + + + + USB Mode - + + + + + 0 + 0 + + + + Default Channel Order + + + + + + + + 0 + 0 + + + + + 0 + 0 + + + + Beeper Mode + + + + + + + + 0 + 0 + + + + + 0 + 0 + + + + + + + Contrast + + + + + + + Stick Mode + + + + + + + + DMS + + + + + NMEA + + + + + @@ -1946,428 +2509,7 @@ p, li { white-space: pre-wrap; } - - - - - 0 - 0 - - - - Play Delay (switch mid position) - - - - - - - - 0 - 0 - - - - - 0 - 22 - - - - - - - - - - Battery warning voltage. -This is the threshold where the battery warning sounds. - -Acceptable values are 3v..12v - - - - - - V - - - 1 - - - 3.000000000000000 - - - 12.000000000000000 - - - 0.100000000000000 - - - 9.600000000000000 - - - - - - - - 0 - 0 - - - - - 0 - 22 - - - - -2 - - - 2 - - - 1 - - - Qt::Horizontal - - - - - - - Power On Delay - - - - - - - Jack Mode - - - - - - - - 0 - 0 - - - - MAVLink Baud Rate - - - - - - - - 0 - 0 - - - - Default Channel Order - - - - - - - - 0 - 0 - - - - - 20 - 0 - - - - - - - Battery Warning - - - - - - - - 0 - 0 - - - - - 0 - 0 - - - - Haptic Strength - - - - - - - - - Min - - - - - - - v - - - 1 - - - 3.000000000000000 - - - 16.000000000000000 - - - 0.100000000000000 - - - 9.000000000000000 - - - - - - - Max - - - - - - - v - - - 1 - - - 3.000000000000000 - - - 16.000000000000000 - - - 0.100000000000000 - - - 12.000000000000000 - - - - - - - - - - 0 - 0 - - - - - 0 - 22 - - - - - 16777215 - 16777215 - - - - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> -<html><head><meta name="qrichtext" content="1" /><style type="text/css"> -p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" text-decoration: underline;">Warnings</span></p> -<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">These will define startup warnings.</p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Throttle warning - will alert if the throttle is not at idle during startup</p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Switch warning - will alert if switches are not in their defaul position</p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Memory warning - will alert if there's not a lot of memory left</p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Silent mode warning - will alert you if the beeper is set to quiet (0)</p></body></html> - - - - - - true - - - - - - - - 0 - 0 - - - - - 0 - 0 - - - - Beeper Length - - - - - - - - 0 - 0 - - - - - 0 - 22 - - - - - X-Short - - - - - Short - - - - - Normal - - - - - Long - - - - - X-Long - - - - - - - - - - - 0 - 0 - - - - - --- - - - - - 2s - - - - - 3s - - - - - 4s - - - - - 6s - - - - - 8s - - - - - 10s - - - - - 15s - - - - - - - - - - - 0 - 0 - - - - - 0 - 0 - - - - Inactivity Timer - - - - - - - Play Startup Sound - - - - - - - - - - - + @@ -2381,25 +2523,6 @@ p, li { white-space: pre-wrap; } - - - - - 0 - 0 - - - - - 0 - 0 - - - - "No Sound" Warning - - - @@ -2431,137 +2554,8 @@ p, li { white-space: pre-wrap; } - - - - sec - - - 3 - - - - - - - - 0 - 0 - - - - - 0 - 0 - - - - - - - Contrast - - - - - - - - 0 - 0 - - - - - 0 - 22 - - - - - Quiet - - - - - Only Alarms - - - - - No Keys - - - - - All - - - - - - - - GPS Coordinates - - - - - - - - - - - - - Mode selection: - -Mode 1: - Left stick: Elevator, Rudder - Right stick: Throttle, Aileron - -Mode 2: - Left stick: Throttle, Rudder - Right stick: Elevator, Aileron - -Mode 3: - Left stick: Elevator, Aileron - Right stick: Throttle, Rudder - -Mode 4: - Left stick: Throttle, Aileron - Right stick: Elevator, Rudder - - - - - 1 - - - - Mode 1 (RUD ELE THR AIL) - - - - - Mode 2 (RUD THR ELE AIL) - - - - - Mode 3 (AIL ELE THR RUD) - - - - - Mode 4 (AIL THR ELE RUD) - - - - - - + + 0 @@ -2575,18 +2569,11 @@ Mode 4: - LCD Display Type + Battery Meter Range - - - - PPM Units - - - - + 0.-- @@ -2608,6 +2595,33 @@ Mode 4: + + + + Qt::Vertical + + + + 20 + 40 + + + + + + + + Trainer Poweroff Warning + + + + + + + + + + diff --git a/radio/src/datastructs.h b/radio/src/datastructs.h index 7fa6eab8b..fa8266ceb 100644 --- a/radio/src/datastructs.h +++ b/radio/src/datastructs.h @@ -154,14 +154,14 @@ static inline void check_struct() CHKSIZE(ModelData, 6706); #elif defined(PCBHORUS) #if defined(PCBX10) - CHKSIZE(RadioData, 836); + CHKSIZE(RadioData, 837); CHKSIZE(ModelData, 15607); #else - CHKSIZE(RadioData, 836); + CHKSIZE(RadioData, 837); CHKSIZE(ModelData, 15607); #endif #elif defined(PCBNV14) - CHKSIZE(RadioData, 836); + CHKSIZE(RadioData, 837); CHKSIZE(ModelData, 15463); #endif diff --git a/radio/src/datastructs_private.h b/radio/src/datastructs_private.h index 782ec6fb4..5fb2a88f3 100644 --- a/radio/src/datastructs_private.h +++ b/radio/src/datastructs_private.h @@ -955,8 +955,11 @@ PACK(struct RadioData { NOBACKUP(char selectedTheme[SELECTED_THEME_NAME_LEN]); #endif - // Radio level tabs control (global settings) #if defined(COLORLCD) + NOBACKUP(uint8_t labelSingleSelect:1); // 0 = multi-select, 1 = single select labels + NOBACKUP(uint8_t labelMultiMode:1); // 0 = match all labels (AND), 1 = match any labels (OR) + NOBACKUP(uint8_t favMultiMode:1); // 0 = match all (AND), 1 = match any (OR) + // Radio level tabs control (global settings) NOBACKUP(uint8_t modelSelectLayout:2); NOBACKUP(uint8_t radioThemesDisabled:1); #endif @@ -972,10 +975,12 @@ PACK(struct RadioData { NOBACKUP(uint8_t modelCustomScriptsDisabled:1); NOBACKUP(uint8_t modelTelemetryDisabled:1); + NOBACKUP(uint8_t disableTrainerPoweroffAlarm:1); + #if defined(COLORLCD) - uint8_t labelSingleSelect:1; // 0 = multi-select, 1 = single select labels - uint8_t labelMultiMode:1; // 0 = match all labels (AND), 1 = match any labels (OR) - uint8_t favMultiMode:1; // 0 = match all (AND), 1 = match any (OR) + NOBACKUP(uint8_t space:7 SKIP); +#else + NOBACKUP(uint8_t space:5 SKIP); #endif NOBACKUP(uint8_t getBrightness() const diff --git a/radio/src/gui/128x64/radio_setup.cpp b/radio/src/gui/128x64/radio_setup.cpp index 7ad925d16..9ca7cc7a8 100644 --- a/radio/src/gui/128x64/radio_setup.cpp +++ b/radio/src/gui/128x64/radio_setup.cpp @@ -82,6 +82,7 @@ enum { ITEM_RADIO_SETUP_MEMORY_WARNING, ITEM_RADIO_SETUP_ALARM_WARNING, ITEM_RADIO_SETUP_RSSI_POWEROFF_ALARM, + ITEM_RADIO_SETUP_TRAINER_POWEROFF_ALARM, CASE_BACKLIGHT(ITEM_RADIO_SETUP_BACKLIGHT_LABEL) CASE_BACKLIGHT(ITEM_RADIO_SETUP_BACKLIGHT_MODE) CASE_BACKLIGHT(ITEM_RADIO_SETUP_BACKLIGHT_DELAY) @@ -179,7 +180,7 @@ void menuRadioSetup(event_t event) CASE_IMU(0) CASE_IMU(0) LABEL(ALARMS), 0, - 0, 0, 0, 0, /* ITEM_RADIO_SETUP_INACTIVITY_ALARM ITEM_RADIO_SETUP_MEMORY_WARNING ITEM_RADIO_SETUP_ALARM_WARNING ITEM_RADIO_SETUP_RSSI_POWEROFF_ALARM */ + 0, 0, 0, 0, 0,/* ITEM_RADIO_SETUP_INACTIVITY_ALARM ITEM_RADIO_SETUP_MEMORY_WARNING ITEM_RADIO_SETUP_ALARM_WARNING ITEM_RADIO_SETUP_RSSI_POWEROFF_ALARM ITEM_RADIO_SETUP_TRAINER_POWEROFF_ALARM*/ CASE_BACKLIGHT(LABEL(BACKLIGHT)) CASE_BACKLIGHT(0) CASE_BACKLIGHT(0) @@ -512,6 +513,14 @@ void menuRadioSetup(event_t event) break; } + case ITEM_RADIO_SETUP_TRAINER_POWEROFF_ALARM: + { + lcdDrawText(INDENT_WIDTH, y, STR_TRAINER_SHUTDOWN_ALARM); + uint8_t b = 1 - g_eeGeneral.disableTrainerPoweroffAlarm; + g_eeGeneral.disableTrainerPoweroffAlarm = 1 - editCheckBox(b, LCD_W-9, y, nullptr, attr, event); + break; + } + case ITEM_RADIO_SETUP_INACTIVITY_ALARM: lcdDrawText(INDENT_WIDTH, y, STR_INACTIVITYALARM); lcdDrawNumber(LCD_W-7, y, g_eeGeneral.inactivityTimer, attr|RIGHT); diff --git a/radio/src/gui/212x64/radio_setup.cpp b/radio/src/gui/212x64/radio_setup.cpp index 92212808f..dc32976df 100644 --- a/radio/src/gui/212x64/radio_setup.cpp +++ b/radio/src/gui/212x64/radio_setup.cpp @@ -71,6 +71,7 @@ enum MenuRadioSetupItems { ITEM_RADIO_SETUP_MEMORY_WARNING, ITEM_RADIO_SETUP_ALARM_WARNING, ITEM_RADIO_SETUP_RSSI_POWEROFF_ALARM, + ITEM_RADIO_SETUP_TRAINER_POWEROFF_ALARM, ITEM_RADIO_SETUP_BACKLIGHT_LABEL, ITEM_RADIO_SETUP_BACKLIGHT_MODE, ITEM_RADIO_SETUP_BACKLIGHT_DELAY, @@ -182,6 +183,7 @@ void menuRadioSetup(event_t event) 0, // memory warning 0, // alarm warning 0, // RSSI power off alarm + 0, // Trainer power off alarm LABEL(BACKLIGHT), 0, // backlight mode 0, // backlight delay @@ -475,6 +477,14 @@ void menuRadioSetup(event_t event) break; } + case ITEM_RADIO_SETUP_TRAINER_POWEROFF_ALARM: + { + lcdDrawText(INDENT_WIDTH, y, STR_TRAINER_SHUTDOWN_ALARM); + uint8_t b = 1 - g_eeGeneral.disableTrainerPoweroffAlarm; + g_eeGeneral.disableTrainerPoweroffAlarm = 1 - editCheckBox(b, RADIO_SETUP_2ND_COLUMN, y, nullptr, attr, event); + break; + } + case ITEM_RADIO_SETUP_INACTIVITY_ALARM: lcdDrawText(INDENT_WIDTH, y, STR_INACTIVITYALARM); lcdDrawNumber(RADIO_SETUP_2ND_COLUMN, y, g_eeGeneral.inactivityTimer, attr|LEFT); diff --git a/radio/src/gui/colorlcd/radio_setup.cpp b/radio/src/gui/colorlcd/radio_setup.cpp index 0874eacb9..0cf844554 100644 --- a/radio/src/gui/colorlcd/radio_setup.cpp +++ b/radio/src/gui/colorlcd/radio_setup.cpp @@ -441,6 +441,12 @@ class AlarmsPage : public SubPage new ToggleSwitch(line, rect_t{}, GET_SET_INVERTED(g_eeGeneral.disableRssiPoweroffAlarm)); line = body->newLine(grid); + + // Trainer shutdown alarm + new StaticText(line, rect_t{}, STR_TRAINER_SHUTDOWN_ALARM); + new ToggleSwitch(line, rect_t{}, + GET_SET_INVERTED(g_eeGeneral.disableTrainerPoweroffAlarm)); + line = body->newLine(grid); } }; diff --git a/radio/src/opentx.cpp b/radio/src/opentx.cpp index ebe4c2c37..e8cc28dd7 100644 --- a/radio/src/opentx.cpp +++ b/radio/src/opentx.cpp @@ -1671,7 +1671,7 @@ uint32_t pwrCheck() while ( (usbPlugged() && getSelectedUsbMode() != USB_UNSELECTED_MODE) || (TELEMETRY_STREAMING() && !g_eeGeneral.disableRssiPoweroffAlarm) || - isTrainerConnected()) + (isTrainerConnected() && !g_eeGeneral.disableTrainerPoweroffAlarm)) #endif { @@ -1688,7 +1688,7 @@ uint32_t pwrCheck() msg = STR_USB_STILL_CONNECTED; msg_len = sizeof(TR_USB_STILL_CONNECTED); } - else if (isTrainerConnected()) { + else if (isTrainerConnected() && !g_eeGeneral.disableTrainerPoweroffAlarm) { msg = STR_TRAINER_STILL_CONNECTED; msg_len = sizeof(TR_TRAINER_STILL_CONNECTED); } @@ -1732,7 +1732,7 @@ uint32_t pwrCheck() return !TELEMETRY_STREAMING() || g_eeGeneral.disableRssiPoweroffAlarm; }; } - else if (!trainerConfirmed) { + else if (!trainerConfirmed && !g_eeGeneral.disableTrainerPoweroffAlarm) { message = STR_TRAINER_STILL_CONNECTED; closeCondition = [](){ return !isTrainerConnected(); diff --git a/radio/src/storage/yaml/yaml_datastructs_128x64.cpp b/radio/src/storage/yaml/yaml_datastructs_128x64.cpp index 3bb32e8f9..83021a1dd 100644 --- a/radio/src/storage/yaml/yaml_datastructs_128x64.cpp +++ b/radio/src/storage/yaml/yaml_datastructs_128x64.cpp @@ -357,6 +357,8 @@ static const struct YamlNode struct_RadioData[] = { YAML_UNSIGNED( "modelSFDisabled", 1 ), YAML_UNSIGNED( "modelCustomScriptsDisabled", 1 ), YAML_UNSIGNED( "modelTelemetryDisabled", 1 ), + YAML_UNSIGNED( "disableTrainerPoweroffAlarm", 1 ), + YAML_PADDING( 5 ), YAML_END }; static const struct YamlNode struct_unsigned_8[] = { diff --git a/radio/src/storage/yaml/yaml_datastructs_nv14.cpp b/radio/src/storage/yaml/yaml_datastructs_nv14.cpp index 6346aae48..a9f1fa523 100644 --- a/radio/src/storage/yaml/yaml_datastructs_nv14.cpp +++ b/radio/src/storage/yaml/yaml_datastructs_nv14.cpp @@ -367,6 +367,9 @@ static const struct YamlNode struct_RadioData[] = { YAML_SIGNED( "uartSampleMode", 2 ), YAML_UNSIGNED( "stickDeadZone", 3 ), YAML_STRING("selectedTheme", 26), + YAML_UNSIGNED( "labelSingleSelect", 1 ), + YAML_UNSIGNED( "labelMultiMode", 1 ), + YAML_UNSIGNED( "favMultiMode", 1 ), YAML_UNSIGNED( "modelSelectLayout", 2 ), YAML_UNSIGNED( "radioThemesDisabled", 1 ), YAML_UNSIGNED( "radioGFDisabled", 1 ), @@ -379,9 +382,8 @@ static const struct YamlNode struct_RadioData[] = { YAML_UNSIGNED( "modelSFDisabled", 1 ), YAML_UNSIGNED( "modelCustomScriptsDisabled", 1 ), YAML_UNSIGNED( "modelTelemetryDisabled", 1 ), - YAML_UNSIGNED( "labelSingleSelect", 1 ), - YAML_UNSIGNED( "labelMultiMode", 1 ), - YAML_UNSIGNED( "favMultiMode", 1 ), + YAML_UNSIGNED( "disableTrainerPoweroffAlarm", 1 ), + YAML_PADDING( 7 ), YAML_END }; static const struct YamlNode struct_unsigned_8[] = { diff --git a/radio/src/storage/yaml/yaml_datastructs_pl18.cpp b/radio/src/storage/yaml/yaml_datastructs_pl18.cpp index 1bd5989a5..68e81c152 100644 --- a/radio/src/storage/yaml/yaml_datastructs_pl18.cpp +++ b/radio/src/storage/yaml/yaml_datastructs_pl18.cpp @@ -367,6 +367,9 @@ static const struct YamlNode struct_RadioData[] = { YAML_SIGNED( "uartSampleMode", 2 ), YAML_UNSIGNED( "stickDeadZone", 3 ), YAML_STRING("selectedTheme", 26), + YAML_UNSIGNED( "labelSingleSelect", 1 ), + YAML_UNSIGNED( "labelMultiMode", 1 ), + YAML_UNSIGNED( "favMultiMode", 1 ), YAML_UNSIGNED( "modelSelectLayout", 2 ), YAML_UNSIGNED( "radioThemesDisabled", 1 ), YAML_UNSIGNED( "radioGFDisabled", 1 ), @@ -379,9 +382,8 @@ static const struct YamlNode struct_RadioData[] = { YAML_UNSIGNED( "modelSFDisabled", 1 ), YAML_UNSIGNED( "modelCustomScriptsDisabled", 1 ), YAML_UNSIGNED( "modelTelemetryDisabled", 1 ), - YAML_UNSIGNED( "labelSingleSelect", 1 ), - YAML_UNSIGNED( "labelMultiMode", 1 ), - YAML_UNSIGNED( "favMultiMode", 1 ), + YAML_UNSIGNED( "disableTrainerPoweroffAlarm", 1 ), + YAML_PADDING( 7 ), YAML_END }; static const struct YamlNode struct_unsigned_8[] = { diff --git a/radio/src/storage/yaml/yaml_datastructs_t20.cpp b/radio/src/storage/yaml/yaml_datastructs_t20.cpp index 86ec2bb9d..8420ff429 100644 --- a/radio/src/storage/yaml/yaml_datastructs_t20.cpp +++ b/radio/src/storage/yaml/yaml_datastructs_t20.cpp @@ -357,6 +357,8 @@ static const struct YamlNode struct_RadioData[] = { YAML_UNSIGNED( "modelSFDisabled", 1 ), YAML_UNSIGNED( "modelCustomScriptsDisabled", 1 ), YAML_UNSIGNED( "modelTelemetryDisabled", 1 ), + YAML_UNSIGNED( "disableTrainerPoweroffAlarm", 1 ), + YAML_PADDING( 5 ), YAML_END }; static const struct YamlNode struct_unsigned_8[] = { diff --git a/radio/src/storage/yaml/yaml_datastructs_tpro.cpp b/radio/src/storage/yaml/yaml_datastructs_tpro.cpp index 1291faed2..163f323e1 100644 --- a/radio/src/storage/yaml/yaml_datastructs_tpro.cpp +++ b/radio/src/storage/yaml/yaml_datastructs_tpro.cpp @@ -357,6 +357,8 @@ static const struct YamlNode struct_RadioData[] = { YAML_UNSIGNED( "modelSFDisabled", 1 ), YAML_UNSIGNED( "modelCustomScriptsDisabled", 1 ), YAML_UNSIGNED( "modelTelemetryDisabled", 1 ), + YAML_UNSIGNED( "disableTrainerPoweroffAlarm", 1 ), + YAML_PADDING( 5 ), YAML_END }; static const struct YamlNode struct_unsigned_8[] = { diff --git a/radio/src/storage/yaml/yaml_datastructs_x10.cpp b/radio/src/storage/yaml/yaml_datastructs_x10.cpp index 132c7a20f..ccf905dd9 100644 --- a/radio/src/storage/yaml/yaml_datastructs_x10.cpp +++ b/radio/src/storage/yaml/yaml_datastructs_x10.cpp @@ -369,6 +369,9 @@ static const struct YamlNode struct_RadioData[] = { YAML_SIGNED( "imuMax", 8 ), YAML_SIGNED( "imuOffset", 8 ), YAML_STRING("selectedTheme", 26), + YAML_UNSIGNED( "labelSingleSelect", 1 ), + YAML_UNSIGNED( "labelMultiMode", 1 ), + YAML_UNSIGNED( "favMultiMode", 1 ), YAML_UNSIGNED( "modelSelectLayout", 2 ), YAML_UNSIGNED( "radioThemesDisabled", 1 ), YAML_UNSIGNED( "radioGFDisabled", 1 ), @@ -381,9 +384,8 @@ static const struct YamlNode struct_RadioData[] = { YAML_UNSIGNED( "modelSFDisabled", 1 ), YAML_UNSIGNED( "modelCustomScriptsDisabled", 1 ), YAML_UNSIGNED( "modelTelemetryDisabled", 1 ), - YAML_UNSIGNED( "labelSingleSelect", 1 ), - YAML_UNSIGNED( "labelMultiMode", 1 ), - YAML_UNSIGNED( "favMultiMode", 1 ), + YAML_UNSIGNED( "disableTrainerPoweroffAlarm", 1 ), + YAML_PADDING( 7 ), YAML_END }; static const struct YamlNode struct_unsigned_8[] = { diff --git a/radio/src/storage/yaml/yaml_datastructs_x12s.cpp b/radio/src/storage/yaml/yaml_datastructs_x12s.cpp index 132c7a20f..ccf905dd9 100644 --- a/radio/src/storage/yaml/yaml_datastructs_x12s.cpp +++ b/radio/src/storage/yaml/yaml_datastructs_x12s.cpp @@ -369,6 +369,9 @@ static const struct YamlNode struct_RadioData[] = { YAML_SIGNED( "imuMax", 8 ), YAML_SIGNED( "imuOffset", 8 ), YAML_STRING("selectedTheme", 26), + YAML_UNSIGNED( "labelSingleSelect", 1 ), + YAML_UNSIGNED( "labelMultiMode", 1 ), + YAML_UNSIGNED( "favMultiMode", 1 ), YAML_UNSIGNED( "modelSelectLayout", 2 ), YAML_UNSIGNED( "radioThemesDisabled", 1 ), YAML_UNSIGNED( "radioGFDisabled", 1 ), @@ -381,9 +384,8 @@ static const struct YamlNode struct_RadioData[] = { YAML_UNSIGNED( "modelSFDisabled", 1 ), YAML_UNSIGNED( "modelCustomScriptsDisabled", 1 ), YAML_UNSIGNED( "modelTelemetryDisabled", 1 ), - YAML_UNSIGNED( "labelSingleSelect", 1 ), - YAML_UNSIGNED( "labelMultiMode", 1 ), - YAML_UNSIGNED( "favMultiMode", 1 ), + YAML_UNSIGNED( "disableTrainerPoweroffAlarm", 1 ), + YAML_PADDING( 7 ), YAML_END }; static const struct YamlNode struct_unsigned_8[] = { diff --git a/radio/src/storage/yaml/yaml_datastructs_x9d.cpp b/radio/src/storage/yaml/yaml_datastructs_x9d.cpp index 52c3f18ab..24d8b7c44 100644 --- a/radio/src/storage/yaml/yaml_datastructs_x9d.cpp +++ b/radio/src/storage/yaml/yaml_datastructs_x9d.cpp @@ -356,6 +356,8 @@ static const struct YamlNode struct_RadioData[] = { YAML_UNSIGNED( "modelSFDisabled", 1 ), YAML_UNSIGNED( "modelCustomScriptsDisabled", 1 ), YAML_UNSIGNED( "modelTelemetryDisabled", 1 ), + YAML_UNSIGNED( "disableTrainerPoweroffAlarm", 1 ), + YAML_PADDING( 5 ), YAML_END }; static const struct YamlNode struct_unsigned_8[] = { diff --git a/radio/src/storage/yaml/yaml_datastructs_x9e.cpp b/radio/src/storage/yaml/yaml_datastructs_x9e.cpp index 23a578e96..a359f0209 100644 --- a/radio/src/storage/yaml/yaml_datastructs_x9e.cpp +++ b/radio/src/storage/yaml/yaml_datastructs_x9e.cpp @@ -357,6 +357,8 @@ static const struct YamlNode struct_RadioData[] = { YAML_UNSIGNED( "modelSFDisabled", 1 ), YAML_UNSIGNED( "modelCustomScriptsDisabled", 1 ), YAML_UNSIGNED( "modelTelemetryDisabled", 1 ), + YAML_UNSIGNED( "disableTrainerPoweroffAlarm", 1 ), + YAML_PADDING( 5 ), YAML_END }; static const struct YamlNode struct_unsigned_8[] = { diff --git a/radio/src/storage/yaml/yaml_datastructs_xlites.cpp b/radio/src/storage/yaml/yaml_datastructs_xlites.cpp index 09bb49e92..1e7d745cc 100644 --- a/radio/src/storage/yaml/yaml_datastructs_xlites.cpp +++ b/radio/src/storage/yaml/yaml_datastructs_xlites.cpp @@ -360,6 +360,8 @@ static const struct YamlNode struct_RadioData[] = { YAML_UNSIGNED( "modelSFDisabled", 1 ), YAML_UNSIGNED( "modelCustomScriptsDisabled", 1 ), YAML_UNSIGNED( "modelTelemetryDisabled", 1 ), + YAML_UNSIGNED( "disableTrainerPoweroffAlarm", 1 ), + YAML_PADDING( 5 ), YAML_END }; static const struct YamlNode struct_unsigned_8[] = { diff --git a/radio/src/translations.cpp b/radio/src/translations.cpp index 469c476d3..1e849d328 100644 --- a/radio/src/translations.cpp +++ b/radio/src/translations.cpp @@ -241,6 +241,7 @@ const char STR_INACTIVITYALARM[] = TR_INACTIVITYALARM; const char STR_MEMORYWARNING[] = TR_MEMORYWARNING; const char STR_ALARMWARNING[] = TR_ALARMWARNING; const char STR_RSSI_SHUTDOWN_ALARM[] = TR_RSSI_SHUTDOWN_ALARM; +const char STR_TRAINER_SHUTDOWN_ALARM[] = TR_TRAINER_SHUTDOWN_ALARM; const char STR_MODEL_STILL_POWERED[] = TR_MODEL_STILL_POWERED; const char STR_TRAINER_STILL_CONNECTED[] = TR_TRAINER_STILL_CONNECTED; const char STR_USB_STILL_CONNECTED[] = TR_USB_STILL_CONNECTED; diff --git a/radio/src/translations.h b/radio/src/translations.h index 98c36488c..5dd86315a 100644 --- a/radio/src/translations.h +++ b/radio/src/translations.h @@ -403,6 +403,7 @@ extern const char STR_INACTIVITYALARM[]; extern const char STR_MEMORYWARNING[]; extern const char STR_ALARMWARNING[]; extern const char STR_RSSI_SHUTDOWN_ALARM[]; +extern const char STR_TRAINER_SHUTDOWN_ALARM[]; extern const char STR_MODEL_STILL_POWERED[]; extern const char STR_USB_STILL_CONNECTED[]; extern const char STR_TRAINER_STILL_CONNECTED[]; diff --git a/radio/src/translations/cn.h b/radio/src/translations/cn.h index 356eb932c..820a35fac 100644 --- a/radio/src/translations/cn.h +++ b/radio/src/translations/cn.h @@ -355,6 +355,7 @@ #define TR_MEMORYWARNING "内存不足" #define TR_ALARMWARNING "静音" #define TR_RSSI_SHUTDOWN_ALARM TR("关机检查RSSI", "关机时检查RSSI") +#define TR_TRAINER_SHUTDOWN_ALARM TR("Trainer alarm", "check trainer connection") #define TR_MODEL_STILL_POWERED "模型未断电" #define TR_TRAINER_STILL_CONNECTED "教练信号未断开" #define TR_USB_STILL_CONNECTED "USB未断开" diff --git a/radio/src/translations/cz.h b/radio/src/translations/cz.h index be867ce5b..50f2ed830 100644 --- a/radio/src/translations/cz.h +++ b/radio/src/translations/cz.h @@ -371,6 +371,7 @@ #define TR_ALARMWARNING TR3("Vypnutý zvuk", "Upozornit na vypnutý zvuk", "Upozornit na vyp. zvuk") #define TR_RSSI_SHUTDOWN_ALARM TR("Rssi při vyp.", "Hlídat RSSI při vypnutí") #define TR_FLYSKY_TELEMETRY TR("FlySky RSSI #", "Použít FlySky RSSI hodnotu bez škálování") +#define TR_TRAINER_SHUTDOWN_ALARM TR("Trenér vypnutí", "Kontrola trenéra při vypnutí") #define TR_MODEL_STILL_POWERED "Model stále spuštěn" #define TR_TRAINER_STILL_CONNECTED "Trenér stále připojen" #define TR_USB_STILL_CONNECTED "USB stále připojeno" diff --git a/radio/src/translations/da.h b/radio/src/translations/da.h index 5eb027140..ebaf438f0 100644 --- a/radio/src/translations/da.h +++ b/radio/src/translations/da.h @@ -364,7 +364,8 @@ #define TR_INACTIVITYALARM "Inaktiv" #define TR_MEMORYWARNING "Lav hukommelse" #define TR_ALARMWARNING "Lyd fra" -#define TR_RSSI_SHUTDOWN_ALARM TR("RSSI nedluk", "Check RSSI ved nedluk") +#define TR_RSSI_SHUTDOWN_ALARM TR("RSSI alarm", "Kontroller RSSI forbindelse") +#define TR_TRAINER_SHUTDOWN_ALARM TR("Træner alarm", "Kontroller træner forbindelse") #define TR_MODEL_STILL_POWERED "Model stadig med strøm" #define TR_TRAINER_STILL_CONNECTED "Træner fortsat forbundet" #define TR_USB_STILL_CONNECTED "USB stadig forbundet" diff --git a/radio/src/translations/de.h b/radio/src/translations/de.h index 5a2eddac2..b96e60f47 100644 --- a/radio/src/translations/de.h +++ b/radio/src/translations/de.h @@ -360,8 +360,9 @@ #define TR_INACTIVITYALARM TR("Inaktivität", "Inaktivität nach") #define TR_MEMORYWARNING "Speicher voll" #define TR_ALARMWARNING TR("Alle Töne aus?", "Alle Töne ganz aus?") -#define TR_RSSI_SHUTDOWN_ALARM TR(INDENT "RSSI-Chk aus?", INDENT "Prüfe RSSI bei Ausschalten") +#define TR_RSSI_SHUTDOWN_ALARM TR("RSSI b. Aussch.", "Prüfe RSSI bei Ausschalten") #define TR_FLYSKY_TELEMETRY TR("FlySky RSSI #", "Use FlySky RSSI value without rescalling") +#define TR_TRAINER_SHUTDOWN_ALARM TR("Trainer b. Aussch.", "Prüfe Trainer bei Ausschalten") #define TR_MODEL_STILL_POWERED "Modell noch aktiv!" #define TR_TRAINER_STILL_CONNECTED "Schüler noch verbunden" #define TR_USB_STILL_CONNECTED "USB noch verbunden" diff --git a/radio/src/translations/en.h b/radio/src/translations/en.h index c7cf2d439..ed67afebb 100644 --- a/radio/src/translations/en.h +++ b/radio/src/translations/en.h @@ -360,8 +360,9 @@ #define TR_MEMORYWARNING "Memory low" #define TR_ALARMWARNING "Sound off" #define TR_RSSI_SHUTDOWN_ALARM TR("RSSI shutdown", "Check RSSI on shutdown") +#define TR_TRAINER_SHUTDOWN_ALARM TR("Trainer shutdown", "Check trainer on shutdown") #define TR_MODEL_STILL_POWERED "Model still powered" -#define TR_TRAINER_STILL_CONNECTED "Trainer still connected" +#define TR_TRAINER_STILL_CONNECTED TR("Trainer still on","Trainer still connected") #define TR_USB_STILL_CONNECTED "USB still connected" #define TR_MODEL_SHUTDOWN "Shutdown?" #define TR_PRESS_ENTER_TO_CONFIRM "Press enter to confirm" diff --git a/radio/src/translations/es.h b/radio/src/translations/es.h index 41ccf93d9..2e010cf60 100644 --- a/radio/src/translations/es.h +++ b/radio/src/translations/es.h @@ -358,6 +358,7 @@ #define TR_MEMORYWARNING "Memoria baja" #define TR_ALARMWARNING "Sin sonido" #define TR_RSSI_SHUTDOWN_ALARM TR("Apagado Rssi", "Check Rssi al apagar") +#define TR_TRAINER_SHUTDOWN_ALARM TR("Trainer alarm", "check trainer connection") #define TR_MODEL_STILL_POWERED "Modelo aun encendido" #define TR_TRAINER_STILL_CONNECTED "Trainer still connected" #define TR_USB_STILL_CONNECTED "USB still connected" diff --git a/radio/src/translations/fi.h b/radio/src/translations/fi.h index a94f08fd3..a2b0b6577 100644 --- a/radio/src/translations/fi.h +++ b/radio/src/translations/fi.h @@ -372,6 +372,7 @@ #define TR_MEMORYWARNING "Memory Low" #define TR_ALARMWARNING "Sound Off" #define TR_RSSI_SHUTDOWN_ALARM TR("Rssi Shutdown", "Check Rssi on Shutdown") +#define TR_TRAINER_SHUTDOWN_ALARM TR("Trainer alarm", "check trainer connection") #define TR_MODEL_STILL_POWERED "Model still powered" #define TR_TRAINER_STILL_CONNECTED "Trainer still connected" #define TR_USB_STILL_CONNECTED "USB still connected" diff --git a/radio/src/translations/fr.h b/radio/src/translations/fr.h index 42a19addf..8ac102cac 100644 --- a/radio/src/translations/fr.h +++ b/radio/src/translations/fr.h @@ -368,6 +368,7 @@ #define TR_ALARMWARNING TR("Silence", "Sons désact.") #define TR_RSSI_SHUTDOWN_ALARM TR("RSSI extinct.", "Vérif. RSSI à l'extinction") #define TR_FLYSKY_TELEMETRY TR("FlySky RSSI #", "Utiliser valeur RSSI FlySky sans étalonner") +#define TR_TRAINER_SHUTDOWN_ALARM TR("Trainer shutdown", "Vérifier écolage avant extinction") #define TR_MODEL_STILL_POWERED TR("Modèle alimenté", "Modèle encore alimenté") #define TR_TRAINER_STILL_CONNECTED "Élève encore connecté" #define TR_USB_STILL_CONNECTED "USB encore connecté" diff --git a/radio/src/translations/he.h b/radio/src/translations/he.h index 3a9cfbd03..d8aa21dd2 100644 --- a/radio/src/translations/he.h +++ b/radio/src/translations/he.h @@ -364,6 +364,7 @@ #define TR_MEMORYWARNING "נפח זיכרון נמוך" #define TR_ALARMWARNING "sound off" #define TR_RSSI_SHUTDOWN_ALARM TR("RSSI shutdown", "בדיקת חיבור למקלט בכיבוי") +#define TR_TRAINER_SHUTDOWN_ALARM TR("Trainer alarm", "check trainer connection") #define TR_MODEL_STILL_POWERED "מודל עדיין פעיל" #define TR_TRAINER_STILL_CONNECTED "מצב חניך עדיין מחובר" #define TR_USB_STILL_CONNECTED "חיבור עדיין מחובר" diff --git a/radio/src/translations/it.h b/radio/src/translations/it.h index 4867b8f71..d5375e50d 100644 --- a/radio/src/translations/it.h +++ b/radio/src/translations/it.h @@ -360,6 +360,7 @@ #define TR_MEMORYWARNING TR(INDENT "Avv. Mem.", INDENT "Avviso Memoria") #define TR_ALARMWARNING "Suono spento" #define TR_RSSI_SHUTDOWN_ALARM TR("RSSI spento", "controlla RSSI spegnendo") +#define TR_TRAINER_SHUTDOWN_ALARM TR("Spegnimento Trainer", "Controllo trainer allo spegnimento") #define TR_MODEL_STILL_POWERED "Radio ancora\nconnessa" #define TR_TRAINER_STILL_CONNECTED "Trainer ancora\nconnesso" #define TR_USB_STILL_CONNECTED "USB ancora\nconnesso" diff --git a/radio/src/translations/jp.h b/radio/src/translations/jp.h index dcb9853aa..e0df47931 100644 --- a/radio/src/translations/jp.h +++ b/radio/src/translations/jp.h @@ -358,7 +358,8 @@ #define TR_INACTIVITYALARM "無効な状態" #define TR_MEMORYWARNING "メモリ低" #define TR_ALARMWARNING "音声OFF" -#define TR_RSSI_SHUTDOWN_ALARM TR("RSSI shutdown", "シャットダウン時 RSSIを確認") +#define TR_RSSI_SHUTDOWN_ALARM TR("RSSI shutdown", "シャットダウン時にRSSIをチェック") +#define TR_TRAINER_SHUTDOWN_ALARM TR("Trainer shutdown", "シャットダウン時にトレーナーをチェック") #define TR_MODEL_STILL_POWERED "電源が入ったままです" #define TR_TRAINER_STILL_CONNECTED "トレーナー通信はまだ継続しています" #define TR_USB_STILL_CONNECTED "USBが接続されたままです" diff --git a/radio/src/translations/nl.h b/radio/src/translations/nl.h index bba91130d..8a07ad424 100644 --- a/radio/src/translations/nl.h +++ b/radio/src/translations/nl.h @@ -358,6 +358,7 @@ #define TR_MEMORYWARNING "Geheugen laag" #define TR_ALARMWARNING TR("Al Geluid uit?", "Al het geluid uit?") #define TR_RSSI_SHUTDOWN_ALARM TR("Rssi Shutdown", "Check Rssi on Shutdown") +#define TR_TRAINER_SHUTDOWN_ALARM TR("Trainer alarm", "check trainer connection") #define TR_MODEL_STILL_POWERED "Model still powered" #define TR_TRAINER_STILL_CONNECTED "Trainer still connected" #define TR_USB_STILL_CONNECTED "USB still connected" diff --git a/radio/src/translations/pl.h b/radio/src/translations/pl.h index 5d7af557e..71abc5d9c 100644 --- a/radio/src/translations/pl.h +++ b/radio/src/translations/pl.h @@ -356,7 +356,8 @@ #define TR_INACTIVITYALARM "Alarm bezczynności" #define TR_MEMORYWARNING "Pełna pamięć" #define TR_ALARMWARNING "Wyłącz dźwięk" -#define TR_RSSI_SHUTDOWN_ALARM TR("Rssi Shutdown", "Check Rssi on Shutdown") +#define TR_RSSI_SHUTDOWN_ALARM TR("RSSI wyłączanie", "Sprawdzaj RSSI przy wyłączaniu") +#define TR_TRAINER_SHUTDOWN_ALARM TR("Trener wyłączanie", "Sprawdzaj trener przy wyłączaniu") #define TR_MODEL_STILL_POWERED "Model jest włączony" #define TR_TRAINER_STILL_CONNECTED "Uczeń ciągle podłączony" #define TR_USB_STILL_CONNECTED "USB jest podłączone" diff --git a/radio/src/translations/pt.h b/radio/src/translations/pt.h index 40142ac3f..23881ed1e 100644 --- a/radio/src/translations/pt.h +++ b/radio/src/translations/pt.h @@ -362,7 +362,8 @@ #define TR_INACTIVITYALARM "Inatividade" #define TR_MEMORYWARNING "Memory low" #define TR_ALARMWARNING "Som desligado" -#define TR_RSSI_SHUTDOWN_ALARM TR("RSSI Deslig.", "Checar RSSI qnd desligar") +#define TR_RSSI_SHUTDOWN_ALARM TR("RSSI ao desl.", "Checar RSSI ao desligar") +#define TR_TRAINER_SHUTDOWN_ALARM TR("Trainer ao desl", "Checar trainer ao desligar") #define TR_MODEL_STILL_POWERED "Modelo ainda ligado" #define TR_TRAINER_STILL_CONNECTED "Trainer ainda conectado" #define TR_USB_STILL_CONNECTED "USB ainda ligado" diff --git a/radio/src/translations/ru.h b/radio/src/translations/ru.h index 984aed3ca..b32a811d6 100644 --- a/radio/src/translations/ru.h +++ b/radio/src/translations/ru.h @@ -362,6 +362,7 @@ #define TR_MEMORYWARNING "Память заканч" #define TR_ALARMWARNING "Звук Выкл" #define TR_RSSI_SHUTDOWN_ALARM TR("RSSI выкл", "RSSI выкл") +#define TR_TRAINER_SHUTDOWN_ALARM TR("ВЫК Тренер", "Проверьте работу тренера при ВЫКЛ") #define TR_MODEL_STILL_POWERED "Модель работает" #define TR_TRAINER_STILL_CONNECTED "Тренер подкл" #define TR_USB_STILL_CONNECTED "USB подкл" diff --git a/radio/src/translations/se.h b/radio/src/translations/se.h index f50f0129f..018e3a65d 100644 --- a/radio/src/translations/se.h +++ b/radio/src/translations/se.h @@ -375,6 +375,7 @@ #define TR_MEMORYWARNING "Lite minne" #define TR_ALARMWARNING "Ljud av" #define TR_RSSI_SHUTDOWN_ALARM TR("RSSI avstängn.", "Kolla RSSI vid avstängning") +#define TR_TRAINER_SHUTDOWN_ALARM TR("Lärare alarm", "Kolla läraranslutningen") #define TR_MODEL_STILL_POWERED TR("Modell på","Modellen är på") #define TR_TRAINER_STILL_CONNECTED "Lärare fortfarande ansluten" #define TR_USB_STILL_CONNECTED "USB är ansluten" diff --git a/radio/src/translations/tw.h b/radio/src/translations/tw.h index 77779f42a..2ff67eb43 100644 --- a/radio/src/translations/tw.h +++ b/radio/src/translations/tw.h @@ -360,6 +360,7 @@ #define TR_MEMORYWARNING "內存不足" #define TR_ALARMWARNING "靜音" #define TR_RSSI_SHUTDOWN_ALARM TR("關機檢查RSSI", "關機時檢查RSSI") +#define TR_TRAINER_SHUTDOWN_ALARM TR("Trainer alarm", "check trainer connection") #define TR_MODEL_STILL_POWERED "模型未斷電" #define TR_TRAINER_STILL_CONNECTED "教練信號未斷開" #define TR_USB_STILL_CONNECTED "USB未斷開" diff --git a/radio/src/translations/ua.h b/radio/src/translations/ua.h index 21962cb54..621b140f3 100644 --- a/radio/src/translations/ua.h +++ b/radio/src/translations/ua.h @@ -362,6 +362,7 @@ #define TR_MEMORYWARNING "Пам'ять закінч." #define TR_ALARMWARNING "Звук вимк." #define TR_RSSI_SHUTDOWN_ALARM TR("RSSI вимк.", "Перевір RSSI при вимкн.") /*need to be clarified by context*/ +#define TR_TRAINER_SHUTDOWN_ALARM TR("Тренер при вимк", "Перевіряти тренер при вимиканні") #define TR_MODEL_STILL_POWERED "Модель досі під живленням" #define TR_TRAINER_STILL_CONNECTED "Трен. досі підключено" #define TR_USB_STILL_CONNECTED "USB досі підключено"