diff --git a/companion/src/firmwares/edgetx/yaml_generalsettings.cpp b/companion/src/firmwares/edgetx/yaml_generalsettings.cpp index 439f45aa351..e8cc1e06391 100644 --- a/companion/src/firmwares/edgetx/yaml_generalsettings.cpp +++ b/companion/src/firmwares/edgetx/yaml_generalsettings.cpp @@ -176,6 +176,9 @@ Node convert::encode(const GeneralSettings& rhs) node["beepMode"] = rhs.beeperMode; node["disableAlarmWarning"] = (int)rhs.disableAlarmWarning; node["disableRssiPoweroffAlarm"] = (int)rhs.disableRssiPoweroffAlarm; + node["customWarningEnable"] = (int)rhs.customWarningEnable; + node["customWarningTitle"] = rhs.customWarningTitle; + node["customWarningText"] = rhs.customWarningText; node["USBMode"] = rhs.usbMode; node["stickDeadZone"] = rhs.stickDeadZone; node["jackMode"] = rhs.jackMode; @@ -384,6 +387,9 @@ bool convert::decode(const Node& node, GeneralSettings& rhs) node["beepMode"] >> rhs.beeperMode; node["disableAlarmWarning"] >> rhs.disableAlarmWarning; node["disableRssiPoweroffAlarm"] >> rhs.disableRssiPoweroffAlarm; + node["customWarningEnable"] >> rhs.customWarningEnable; + node["customWarningTitle"] >> rhs.customWarningTitle; + node["customWarningText"] >> rhs.customWarningText; node["USBMode"] >> rhs.usbMode; node["stickDeadZone"] >> rhs.stickDeadZone; node["jackMode"] >> rhs.jackMode; diff --git a/companion/src/firmwares/generalsettings.h b/companion/src/firmwares/generalsettings.h index 0709a67ca87..6a001a6a9ec 100644 --- a/companion/src/firmwares/generalsettings.h +++ b/companion/src/firmwares/generalsettings.h @@ -102,6 +102,8 @@ constexpr int TTS_LANGUAGE_LEN {2}; constexpr int HARDWARE_NAME_LEN {3}; constexpr int REGISTRATION_ID_LEN {8}; constexpr int SELECTED_THEME_NAME_LEN {26}; +constexpr int CUSTOM_WARNING_TITLE_LEN {8}; +constexpr int CUSTOM_WARNING_TEXT_LEN {32}; class GeneralSettings { Q_DECLARE_TR_FUNCTIONS(GeneralSettings) @@ -205,6 +207,9 @@ class GeneralSettings { BeeperMode beeperMode; bool disableAlarmWarning; bool disableRssiPoweroffAlarm; + bool customWarningEnable; + char customWarningTitle[CUSTOM_WARNING_TITLE_LEN + 1]; + char customWarningText[CUSTOM_WARNING_TEXT_LEN + 1]; unsigned int usbMode; unsigned int stickDeadZone; unsigned int jackMode; diff --git a/companion/src/generaledit/generalsetup.cpp b/companion/src/generaledit/generalsetup.cpp index b2538343a82..649bf5d909f 100644 --- a/companion/src/generaledit/generalsetup.cpp +++ b/companion/src/generaledit/generalsetup.cpp @@ -250,6 +250,11 @@ ui(new Ui::GeneralSetup) ui->rssiPowerOffWarnChkB->setChecked(!generalSettings.disableRssiPoweroffAlarm); // Default is zero=checked + ui->customWarningEnable->setChecked(generalSettings.customWarningEnable); + ui->customWarningTitle->setText(generalSettings.customWarningTitle); + ui->customWarningText->setText(generalSettings.customWarningText); + + if (IS_FAMILY_HORUS_OR_T16(firmware->getBoard())) { ui->splashScreenDuration->hide(); ui->splashScreenLabel->hide(); @@ -730,6 +735,30 @@ void GeneralSetupPanel::on_rssiPowerOffWarnChkB_stateChanged(int) emit modified(); } +void GeneralSetupPanel::on_customWarningEnable_stateChanged(int) +{ + generalSettings.customWarningEnable = ui->customWarningEnable->isChecked() ? 1 : 0; + emit modified(); +} + +void GeneralSetupPanel::on_customWarningTitle_editingFinished() +{ + //copy ownerID back to generalSettings.registrationId + QByteArray array = ui->customWarningTitle->text().toLocal8Bit(); + strncpy(generalSettings.customWarningTitle, array, 8); + generalSettings.customWarningTitle[8] = '\0'; + emit modified(); +} + +void GeneralSetupPanel::on_customWarningText_editingFinished() +{ + //copy ownerID back to generalSettings.registrationId + QByteArray array = ui->customWarningText->text().toLocal8Bit(); + strncpy(generalSettings.customWarningText, array, 32); + generalSettings.customWarningText[32] = '\0'; + 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 2c8366fd56d..c27756fc1a8 100644 --- a/companion/src/generaledit/generalsetup.h +++ b/companion/src/generaledit/generalsetup.h @@ -40,6 +40,9 @@ class GeneralSetupPanel : public GeneralPanel void on_splashScreenDuration_currentIndexChanged(int index); void on_alarmwarnChkB_stateChanged(int); void on_rssiPowerOffWarnChkB_stateChanged(int); + void on_customWarningEnable_stateChanged(int); + void on_customWarningTitle_editingFinished(); + void on_customWarningText_editingFinished(); 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 1f096eb0e71..4da76474c9b 100644 --- a/companion/src/generaledit/generalsetup.ui +++ b/companion/src/generaledit/generalsetup.ui @@ -1176,8 +1176,22 @@ p, li { white-space: pre-wrap; } QLayout::SetDefaultConstraint - - + + + + Custom Warning + + + + + + + Measurement Units + + + + + 0 @@ -1190,11 +1204,8 @@ p, li { white-space: pre-wrap; } 0 - - - - Contrast + Haptic Mode @@ -1234,27 +1245,65 @@ p, li { white-space: pre-wrap; } - - - - GPS Coordinates - - - - - + + - Metric + DMS - Imperial + NMEA + + + + + 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 + + + + + + + sec + + + 3 + + + @@ -1274,8 +1323,8 @@ p, li { white-space: pre-wrap; } - - + + 0 @@ -1288,247 +1337,113 @@ p, li { white-space: pre-wrap; } 22 - - - - - - - - If not zero will sound beeps if the transmitter has been left without inputs for the specified number of minutes. - - - min - - - 120 - - - - - - - - - - - - - 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) + X-Short - Mode 2 (RUD THR ELE AIL) + Short - Mode 3 (AIL ELE THR RUD) + Normal - Mode 4 (AIL THR ELE RUD) + Long + + + + + X-Long - - + + + + USB Mode + + + + + + + Custom Warning Title + + + + + - + 0 0 - - - 0 - 0 - - - LCD Display Type + Default Channel Order - - - - - - - - - - <html><head/><body><p>Channel order</p><p><br/></p><p>Defines the order of the default mixes created on a new model.</p></body></html> - - - 0 - - - - R E T A - - - - - R E A T - - - - - R T E A - - - - - R T A E - - - - - R A E T - - - - - R A T E - - - - - E R T A - - - - - E R A T - - - - - E T R A - - - - - E T A R - - + + - E A R T + 4800 Baud - E A T R + 9600 Baud - T R E A + 14400 Baud - T R A E + 19200 Baud - T E R A + 38400 Baud - T E A R + 57600 Baud - T A R E + 76800 Baud - T A E R - - - - - A R E T - - - - - A R T E - - - - - A E R T - - - - - A E T R - - - - - A T R E - - - - - A T E R + 115200 Baud - - - - - 0 - 0 - - + + - Play Delay (switch mid position) + Power On Delay - - + + 0 @@ -1548,38 +1463,23 @@ Mode 4: - Battery warning voltage. -This is the threashhold where the battery warning sounds. - -Acceptable values are 3v..12v - - - - - - V - - - 1 + - 3.000000000000000 + 10 - 12.000000000000000 - - - 0.100000000000000 + 45 - 9.600000000000000 + 25 - - + + - + 0 0 @@ -1590,35 +1490,41 @@ Acceptable values are 3v..12v 22 - - -2 - - - 2 - - - 1 + + + 16777215 + 16777215 + - - Qt::Horizontal + + <!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> - - - - - Power On Delay + + + + true - - + + - Jack Mode + Power Off Delay - + @@ -1631,21 +1537,27 @@ Acceptable values are 3v..12v - - + + - + 0 0 + + + 0 + 0 + + - Default Channel Order + Beeper Mode - - + + 0 @@ -1654,20 +1566,84 @@ Acceptable values are 3v..12v - 20 + 0 0 - - - - Battery Warning + Battery Meter Range - - + + + + + + + 0 + 0 + + + + + --- + + + + + 2s + + + + + 3s + + + + + 4s + + + + + 6s + + + + + 8s + + + + + 10s + + + + + 15s + + + + + + + + + + Qt::Vertical + + + + 20 + 40 + + + + + + 0 @@ -1681,76 +1657,40 @@ Acceptable values are 3v..12v - Haptic Strength + Show Splash Screen on Startup - - + + + + + 0 + 0 + + + + + 0 + 22 + + - - - Min - - + + Standard + - - - v - - - 1 - - - 3.000000000000000 - - - 16.000000000000000 - - - 0.100000000000000 - - - 9.000000000000000 - - - - - - - Max - - - - - - - v - - - 1 - - - 3.000000000000000 - - - 16.000000000000000 - - - 0.100000000000000 - - - 12.000000000000000 - - + + Optrex + - + - - + + - + 0 0 @@ -1761,35 +1701,99 @@ Acceptable values are 3v..12v 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> + Beeper volume + +0 - Quiet. No beeps at all. +1 - No Keys. Normal beeps but menu keys do not beep. +2 - Normal. +3 - Loud. +4 - Extra loud. - + + + Quiet + + + + + Alarms Only + + + + + No Keys + + + + + All + + + + + + + - - true + + + + 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 @@ -1803,12 +1807,12 @@ p, li { white-space: pre-wrap; } - Beeper Length + Inactivity Timer - - + + 0 @@ -1818,92 +1822,57 @@ p, li { white-space: pre-wrap; } 0 - 22 + 0 + + + + + Contrast + + + + + + + + 0 + 0 + + + + + 0 + 0 + + + + Beeper Length + + + + + - X-Short - - - - - Short - - - - - Normal + Ask on Connect - Long + Audio - X-Long + Trainer - - - - - - - 0 - 0 - - - - - --- - - - - - 2s - - - - - 3s - - - - - 4s - - - - - 6s - - - - - 8s - - - - - 10s - - - - - 15s - - - - - - - - + + 0 @@ -1917,136 +1886,155 @@ p, li { white-space: pre-wrap; } - Inactivity Timer + Haptic Length - - - - Qt::Vertical - - - - 20 - 40 - + + + + Jack Mode - + - - + + + + + + + + + + <html><head/><body><p>Channel order</p><p><br/></p><p>Defines the order of the default mixes created on a new model.</p></body></html> + + + 0 + + + + R E T A + + + + + R E A T + + + + + R T E A + + + + + R T A E + + + + + R A E T + + + + + R A T E + + + + + E R T A + + + + + E R A T + + + + + E T R A + + + + + E T A R + + + + + E A R T + + - Ask on Connect + E A T R - Audio + T R E A - Trainer + T R A E - - - - - 4800 Baud + T E R A - 9600 Baud + T E A R - 14400 Baud + T A R E - 19200 Baud + T A E R - 38400 Baud + A R E T - 57600 Baud + A R T E - 76800 Baud + A E R T - 115200 Baud + A E T R - - - - - - - 0 - 0 - - - - - 0 - 22 - - - - - - - - - - - - - 10 - - - 45 - - - 25 - - - - - - DMS + A T R E - NMEA + A T E R - - + + 0 @@ -2055,71 +2043,95 @@ p, li { white-space: pre-wrap; } - 0 + 20 0 - - Haptic Length - - - - - - - - 0 - 0 - - - - - 0 - 0 - + + - Beeper Mode + Battery Warning - - + + - + 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 + Play Delay (switch mid position) - - + + + + + + Min + + + + + + + v + + + 1 + + + 3.000000000000000 + + + 16.000000000000000 + + + 0.100000000000000 + + + 9.000000000000000 + + + + + + + Max + + + + + + + v + + + 1 + + + 3.000000000000000 + + + 16.000000000000000 + + + 0.100000000000000 + + + 12.000000000000000 + + + + + + + 0 @@ -2133,7 +2145,7 @@ p, li { white-space: pre-wrap; } - Battery Meter Range + RSSI Poweroff Warning @@ -2162,97 +2174,44 @@ p, li { white-space: pre-wrap; } <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 - - - - Low EEPROM Warning - - - - - - - - 0 - 0 - - - - - 0 - 0 - - - - RSSI Poweroff Warning - - - - - - - - 0 - 0 - - - - - 0 - 0 - +<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> - Haptic Mode + + + + true - - + + - + 0 0 - + - 0 - 22 + 16777215 + 16777215 - - - Standard - - - - - Optrex - - + + + + + + 8 + + + + + + + 32 + @@ -2296,8 +2255,8 @@ p, li { white-space: pre-wrap; } - - + + 0 @@ -2317,56 +2276,49 @@ p, li { white-space: pre-wrap; } - Beeper volume + Battery warning voltage. +This is the threashhold where the battery warning sounds. -0 - Quiet. No beeps at all. -1 - No Keys. Normal beeps but menu keys do not beep. -2 - Normal. -3 - Loud. -4 - Extra loud. +Acceptable values are 3v..12v + + + + + + V + + + 1 + + + 3.000000000000000 + + + 12.000000000000000 + + + 0.100000000000000 + + + 9.600000000000000 - - - Quiet - - - - - Alarms Only - - - - - No Keys - - - - - All - - - - - - - 0 - 0 - - - - - 0 - 0 - + + + + Stick Mode + + + + - Show Splash Screen on Startup + GPS Coordinates - + @@ -2399,21 +2351,26 @@ p, li { white-space: pre-wrap; } - - - - Stick Mode + + + + + 0 + 0 + + + + + 0 + 0 + - - - - - USB Mode + Haptic Strength - + @@ -2437,32 +2394,119 @@ p, li { white-space: pre-wrap; } - - + + + + + Metric + + + + + Imperial + + + + + + + + + 0 + 0 + + + + + 0 + 22 + + + + -2 + + + 2 + + + 1 + + + Qt::Horizontal + + + + + + + + 0 + 0 + + + + + 0 + 0 + + - Measurement Units + LCD Display Type - - + + + + + 0 + 0 + + + + + 0 + 0 + + - Power Off Delay + Low EEPROM Warning - - + + + + + 0 + 0 + + + + + 0 + 22 + + + + + + + + + + If not zero will sound beeps if the transmitter has been left without inputs for the specified number of minutes. + - sec + min - 3 + 120 - - + + sec @@ -2471,6 +2515,13 @@ p, li { white-space: pre-wrap; } + + + + Custom Warning Text + + + diff --git a/radio/src/dataconstants.h b/radio/src/dataconstants.h index 08ea06e26d3..f3ad843aa2c 100644 --- a/radio/src/dataconstants.h +++ b/radio/src/dataconstants.h @@ -676,5 +676,7 @@ enum ModelOverridableEnable { }; #define SELECTED_THEME_NAME_LEN 26 +#define CUSTOM_WARNING_TITLE_LEN 8 +#define CUSTOM_WARNING_TEXT_LEN 32 #endif // _DATACONSTANTS_H_ diff --git a/radio/src/datastructs.h b/radio/src/datastructs.h index 3ff6089b8d2..96ae8d141ea 100644 --- a/radio/src/datastructs.h +++ b/radio/src/datastructs.h @@ -117,42 +117,42 @@ static inline void check_struct() CHKSIZE(TrainerData, 16); #if defined(PCBXLITES) - CHKSIZE(RadioData, 872); + CHKSIZE(RadioData, 914); CHKSIZE(ModelData, 6265); #elif defined(PCBXLITE) - CHKSIZE(RadioData, 870); + CHKSIZE(RadioData, 912); CHKSIZE(ModelData, 6265); #elif defined(RADIO_TPRO) - CHKSIZE(RadioData, 859); + CHKSIZE(RadioData, 901); CHKSIZE(ModelData, 6290); #elif defined(RADIO_TPROV2) - CHKSIZE(RadioData, 859); + CHKSIZE(RadioData, 901); CHKSIZE(ModelData, 6290); #elif defined(RADIO_T20) - CHKSIZE(RadioData, 859); + CHKSIZE(RadioData, 901); CHKSIZE(ModelData, 6326); #elif defined(RADIO_BOXER) - CHKSIZE(RadioData, 870); + CHKSIZE(RadioData, 912); CHKSIZE(ModelData, 6265); #elif defined(PCBX7) - CHKSIZE(RadioData, 870); + CHKSIZE(RadioData, 912); CHKSIZE(ModelData, 6265); #elif defined(PCBX9E) - CHKSIZE(RadioData, 870); + CHKSIZE(RadioData, 912); CHKSIZE(ModelData, 6707); #elif defined(PCBX9D) || defined(PCBX9DP) - CHKSIZE(RadioData, 870); + CHKSIZE(RadioData, 912); CHKSIZE(ModelData, 6706); #elif defined(PCBHORUS) #if defined(PCBX10) - CHKSIZE(RadioData, 916); + CHKSIZE(RadioData, 958); CHKSIZE(ModelData, 15463); #else - CHKSIZE(RadioData, 916); + CHKSIZE(RadioData, 958); CHKSIZE(ModelData, 15463); #endif #elif defined(PCBNV14) - CHKSIZE(RadioData, 916); + CHKSIZE(RadioData, 958); CHKSIZE(ModelData, 15319); #endif diff --git a/radio/src/datastructs_private.h b/radio/src/datastructs_private.h index 8d40099333f..bf79a313dea 100644 --- a/radio/src/datastructs_private.h +++ b/radio/src/datastructs_private.h @@ -868,7 +868,7 @@ PACK(struct RadioData { int8_t antennaMode:2 ENUM(AntennaModes); uint8_t disableRtcWarning:1; uint8_t keysBacklight:1; - uint8_t spare1:1 SKIP; + NOBACKUP(uint8_t customWarningEnable:1); uint8_t internalModule ENUM(ModuleType); NOBACKUP(TrainerData trainer); NOBACKUP(uint8_t view); // index of view in main screen @@ -941,6 +941,8 @@ PACK(struct RadioData { THEME_DATA char ownerRegistrationID[PXX2_LEN_REGISTRATION_ID]; + char customWarningTitle[CUSTOM_WARNING_TITLE_LEN+1]; + char customWarningText[CUSTOM_WARNING_TEXT_LEN+1]; CUST_ATTR(rotEncDirection, r_rotEncDirection, nullptr); NOBACKUP(uint8_t rotEncMode:2); diff --git a/radio/src/gui/128x64/radio_setup.cpp b/radio/src/gui/128x64/radio_setup.cpp index a78632b2a1e..732e69bd9a9 100644 --- a/radio/src/gui/128x64/radio_setup.cpp +++ b/radio/src/gui/128x64/radio_setup.cpp @@ -89,6 +89,8 @@ enum { ITEM_RADIO_SETUP_MEMORY_WARNING, ITEM_RADIO_SETUP_ALARM_WARNING, ITEM_RADIO_SETUP_RSSI_POWEROFF_ALARM, + ITEM_RADIO_SETUP_CUSTOM_ALARM, + ITEM_RADIO_SETUP_CUSTOM_ALARM_TITLE, CASE_BACKLIGHT(ITEM_RADIO_SETUP_BACKLIGHT_LABEL) CASE_BACKLIGHT(ITEM_RADIO_SETUP_BACKLIGHT_MODE) CASE_BACKLIGHT(ITEM_RADIO_SETUP_BACKLIGHT_DELAY) @@ -161,9 +163,7 @@ void menuRadioSetup(event_t event) } #endif -#if defined(PXX2) uint8_t old_editMode = s_editMode; -#endif MENU(STR_RADIO_SETUP, menuTabGeneral, MENU_RADIO_SETUP, HEADER_LINE+ITEM_RADIO_SETUP_MAX, { HEADER_LINE_COLUMNS CASE_RTCLOCK(2) CASE_RTCLOCK(2) CASE_BATTGRAPH(1) @@ -183,7 +183,12 @@ void menuRadioSetup(event_t event) CASE_IMU(0) CASE_IMU(0) 0, LABEL(ALARMS), 0, CASE_CAPACITY(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, // inactivity warning + 0, // memory warning + 0, // alarm warning + 0, // RSSI power off alarm + 0, // Custom alarm + 0, // Custom alarm title CASE_BACKLIGHT(LABEL(BACKLIGHT)) CASE_BACKLIGHT(0) CASE_BACKLIGHT(0) @@ -494,6 +499,16 @@ void menuRadioSetup(event_t event) break; } + case ITEM_RADIO_SETUP_CUSTOM_ALARM: + lcdDrawText(INDENT_WIDTH, y, STR_CUSTOM_ALARM); + g_eeGeneral.customWarningEnable = editCheckBox(g_eeGeneral.customWarningEnable, RADIO_SETUP_2ND_COLUMN, y, nullptr, attr, event); + break; + + case ITEM_RADIO_SETUP_CUSTOM_ALARM_TITLE: + lcdDrawText(INDENT_WIDTH, y, STR_CUSTOM_ALARM_TITLE); + editName(RADIO_SETUP_2ND_COLUMN, y, g_eeGeneral.customWarningTitle, CUSTOM_WARNING_TITLE_LEN, event, attr, 0, old_editMode); + break; + #if defined(TX_CAPACITY_MEASUREMENT) case ITEM_RADIO_SETUP_CAPACITY_WARNING: lcdDrawTextAlignedLeft(y, STR_CAPAWARNING); diff --git a/radio/src/gui/212x64/radio_setup.cpp b/radio/src/gui/212x64/radio_setup.cpp index 2ba2e94157c..22e1671d179 100644 --- a/radio/src/gui/212x64/radio_setup.cpp +++ b/radio/src/gui/212x64/radio_setup.cpp @@ -76,6 +76,8 @@ enum MenuRadioSetupItems { ITEM_RADIO_SETUP_MEMORY_WARNING, ITEM_RADIO_SETUP_ALARM_WARNING, ITEM_RADIO_SETUP_RSSI_POWEROFF_ALARM, + ITEM_RADIO_SETUP_CUSTOM_ALARM, + ITEM_RADIO_SETUP_CUSTOM_ALARM_TITLE, ITEM_RADIO_SETUP_BACKLIGHT_LABEL, ITEM_RADIO_SETUP_BACKLIGHT_MODE, ITEM_RADIO_SETUP_BACKLIGHT_DELAY, @@ -146,9 +148,7 @@ void menuRadioSetup(event_t event) } #endif -#if defined(PXX2) uint8_t old_editMode = s_editMode; -#endif MENU(STR_RADIO_SETUP, menuTabGeneral, MENU_RADIO_SETUP, ITEM_RADIO_SETUP_MAX, { 2, // date @@ -179,6 +179,8 @@ void menuRadioSetup(event_t event) 0, // memory warning 0, // alarm warning 0, // RSSI power off alarm + 0, // Custom alarm + 0, // Custom alarm title LABEL(BACKLIGHT), 0, // backlight mode 0, // backlight delay @@ -456,6 +458,16 @@ void menuRadioSetup(event_t event) break; } + case ITEM_RADIO_SETUP_CUSTOM_ALARM: + lcdDrawText(INDENT_WIDTH, y, STR_CUSTOM_ALARM); + g_eeGeneral.customWarningEnable = editCheckBox(g_eeGeneral.customWarningEnable, RADIO_SETUP_2ND_COLUMN, y, nullptr, attr, event); + break; + + case ITEM_RADIO_SETUP_CUSTOM_ALARM_TITLE: + lcdDrawText(INDENT_WIDTH, y, STR_CUSTOM_ALARM_TITLE); + editName(RADIO_SETUP_2ND_COLUMN, y, g_eeGeneral.customWarningTitle, CUSTOM_WARNING_TITLE_LEN, event, attr, 0, old_editMode); + 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 43d9412bfc9..f0bd27fc144 100644 --- a/radio/src/gui/colorlcd/radio_setup.cpp +++ b/radio/src/gui/colorlcd/radio_setup.cpp @@ -429,6 +429,16 @@ class AlarmsPage : public SubPage { COLOR_THEME_PRIMARY1); new CheckBox(line, rect_t{}, GET_SET_INVERTED(g_eeGeneral.disableRssiPoweroffAlarm)); + line = body.newLine(&grid); + + // Custom warning + new StaticText(line, rect_t{}, TR_CUSTOM_ALARM, 0, COLOR_THEME_PRIMARY1); + new CheckBox(line, rect_t{}, GET_SET_DEFAULT(g_eeGeneral.customWarningEnable)); + line = body.newLine(&grid); + + // Custom warning title + new StaticText(line, rect_t{}, TR_CUSTOM_ALARM_TITLE, 0, COLOR_THEME_PRIMARY1); + new RadioTextEdit(line, rect_t{}, g_eeGeneral.customWarningTitle, CUSTOM_WARNING_TITLE_LEN); line = body.newLine(&grid); } }; diff --git a/radio/src/opentx.cpp b/radio/src/opentx.cpp index a9def90f9b2..34411ef2127 100644 --- a/radio/src/opentx.cpp +++ b/radio/src/opentx.cpp @@ -668,6 +668,8 @@ void checkAll() } disableVBatBridge(); + checkCustomWarning(); + if (g_model.displayChecklist && modelHasNotes()) { readModelNotes(); } @@ -849,6 +851,67 @@ void checkThrottleStick() } #endif +#if defined(COLORLCD) +void checkCustomWarning() +{ + if (g_eeGeneral.customWarningEnable) { + LED_ERROR_BEGIN(); + AUDIO_ERROR_MESSAGE(AU_NONE); + auto dialog = + new FullScreenDialog(WARNING_TYPE_ALERT, g_eeGeneral.customWarningTitle, + g_eeGeneral.customWarningText, STR_PRESS_ANY_KEY_TO_SKIP); + dialog->setCloseCondition([]() { return false; }); + dialog->runForever(); + LED_ERROR_END(); + } +} +#else +void checkCustomWarning() +{ + if (!g_eeGeneral.customWarningEnable) { + return; + } + + // first - display warning; also deletes inputs if any have been before + LED_ERROR_BEGIN(); + RAISE_ALERT(g_eeGeneral.customWarningTitle, g_eeGeneral.customWarningText, STR_PRESS_ANY_KEY_TO_SKIP, AU_NONE); + +#if defined(PWR_BUTTON_PRESS) + bool refresh = false; +#endif + + while (!keyDown()) { +#if defined(PWR_BUTTON_PRESS) + uint32_t power = pwrCheck(); + if (power == e_power_off) { + drawSleepBitmap(); + boardOff(); + break; + } + else if (power == e_power_press) { + 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); + refresh = false; + } +#else + if (pwrCheck() == e_power_off) { + break; + } +#endif + + checkBacklight(); + + WDG_RESET(); + + RTOS_WAIT_MS(10); + } + + LED_ERROR_END(); +} +#endif + void checkAlarm() // added by Gohst { if (g_eeGeneral.disableAlarmWarning) { diff --git a/radio/src/opentx.h b/radio/src/opentx.h index 3ee2f0d2583..445f5652a9d 100644 --- a/radio/src/opentx.h +++ b/radio/src/opentx.h @@ -511,6 +511,7 @@ void flightReset(uint8_t check=true); void checkLowEEPROM(); void checkThrottleStick(); +void checkCustomWarning(); void checkSwitches(); void checkAlarm(); void checkAll(); diff --git a/radio/src/translations.cpp b/radio/src/translations.cpp index 1f414fbe251..68eeb079219 100644 --- a/radio/src/translations.cpp +++ b/radio/src/translations.cpp @@ -239,6 +239,8 @@ 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_CUSTOM_ALARM_TITLE[] = TR_CUSTOM_ALARM_TITLE; +const char STR_CUSTOM_ALARM[] = TR_CUSTOM_ALARM; const char STR_MODEL_STILL_POWERED[] = TR_MODEL_STILL_POWERED; const char STR_USB_STILL_CONNECTED[] = TR_USB_STILL_CONNECTED; const char STR_MODEL_SHUTDOWN[] = TR_MODEL_SHUTDOWN; diff --git a/radio/src/translations.h b/radio/src/translations.h index adc739e62ac..80c03e7f296 100644 --- a/radio/src/translations.h +++ b/radio/src/translations.h @@ -383,6 +383,8 @@ 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_CUSTOM_ALARM_TITLE[]; +extern const char STR_CUSTOM_ALARM[]; extern const char STR_MODEL_STILL_POWERED[]; extern const char STR_USB_STILL_CONNECTED[]; extern const char STR_MODEL_SHUTDOWN[]; diff --git a/radio/src/translations/cn.h b/radio/src/translations/cn.h index 62389fa18c1..969590e8726 100644 --- a/radio/src/translations/cn.h +++ b/radio/src/translations/cn.h @@ -336,6 +336,8 @@ #define TR_MEMORYWARNING "内存不足" #define TR_ALARMWARNING "静音" #define TR_RSSI_SHUTDOWN_ALARM TR("关机检查RSSI", "关机时检查RSSI") +#define TR_CUSTOM_ALARM_TITLE "Custom-Title" +#define TR_CUSTOM_ALARM "Custom" #define TR_MODEL_STILL_POWERED "模型未断电" #define TR_USB_STILL_CONNECTED "USB未断开" #define TR_MODEL_SHUTDOWN "关机 ?" diff --git a/radio/src/translations/cz.h b/radio/src/translations/cz.h index 19d436eed99..79377dfd9c9 100644 --- a/radio/src/translations/cz.h +++ b/radio/src/translations/cz.h @@ -351,6 +351,8 @@ #define TR_MEMORYWARNING "Plná pamět'" #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_CUSTOM_ALARM_TITLE "Custom-Title" +#define TR_CUSTOM_ALARM "Custom" #define TR_FLYSKY_TELEMETRY TR("FlySky RSSI #", "Použít FlySky RSSI hodnotu bez škálování") #define TR_MODEL_STILL_POWERED "Model stále spuštěn" #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 b60e21ab3e5..cac892a33aa 100644 --- a/radio/src/translations/da.h +++ b/radio/src/translations/da.h @@ -351,6 +351,8 @@ #define TR_MEMORYWARNING "Lav hukommelse" #define TR_ALARMWARNING "Lyd fra" #define TR_RSSI_SHUTDOWN_ALARM TR("RSSI nedluk", "Check RSSI ved nedluk") +#define TR_CUSTOM_ALARM_TITLE "Custom-Title" +#define TR_CUSTOM_ALARM "Custom" #define TR_MODEL_STILL_POWERED "Model stadig med strøm" #define TR_USB_STILL_CONNECTED "USB stadig forbundet" #define TR_MODEL_SHUTDOWN "Luk ned?" diff --git a/radio/src/translations/de.h b/radio/src/translations/de.h index 4df42e0718c..b8fa3794ec3 100644 --- a/radio/src/translations/de.h +++ b/radio/src/translations/de.h @@ -346,6 +346,8 @@ #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_CUSTOM_ALARM_TITLE "Custom-Title" +#define TR_CUSTOM_ALARM "Custom" #define TR_FLYSKY_TELEMETRY TR("FlySky RSSI #", "Use FlySky RSSI value without rescalling") #define TR_MODEL_STILL_POWERED "Modell noch aktiv!" #define TR_USB_STILL_CONNECTED "USB noch verbunden" diff --git a/radio/src/translations/en.h b/radio/src/translations/en.h index d41ca653348..04e02667f37 100644 --- a/radio/src/translations/en.h +++ b/radio/src/translations/en.h @@ -347,6 +347,8 @@ #define TR_MEMORYWARNING "Memory low" #define TR_ALARMWARNING "Sound off" #define TR_RSSI_SHUTDOWN_ALARM TR("RSSI shutdown", "Check RSSI on shutdown") +#define TR_CUSTOM_ALARM_TITLE "Custom-Title" +#define TR_CUSTOM_ALARM "Custom" #define TR_MODEL_STILL_POWERED "Model still powered" #define TR_USB_STILL_CONNECTED "USB still connected" #define TR_MODEL_SHUTDOWN "Shutdown?" diff --git a/radio/src/translations/es.h b/radio/src/translations/es.h index ed12176271b..a05fbc869ab 100644 --- a/radio/src/translations/es.h +++ b/radio/src/translations/es.h @@ -344,6 +344,8 @@ #define TR_MEMORYWARNING "Memoria baja" #define TR_ALARMWARNING "Sin sonido" #define TR_RSSI_SHUTDOWN_ALARM TR("Apagado Rssi", "Check Rssi al apagar") +#define TR_CUSTOM_ALARM_TITLE "Custom-Title" +#define TR_CUSTOM_ALARM "Custom" #define TR_MODEL_STILL_POWERED "Modelo aun encendido" #define TR_USB_STILL_CONNECTED "USB still connected" #define TR_MODEL_SHUTDOWN "Apagar ?" diff --git a/radio/src/translations/fi.h b/radio/src/translations/fi.h index 132b214e02c..02a2505aeb6 100644 --- a/radio/src/translations/fi.h +++ b/radio/src/translations/fi.h @@ -359,6 +359,8 @@ #define TR_ALARMWARNING "Sound Off" #define TR_RSSI_SHUTDOWN_ALARM TR("Rssi Shutdown", "Check Rssi on Shutdown") #define TR_MODEL_STILL_POWERED "Model still powered" +#define TR_CUSTOM_ALARM_TITLE "Custom-Title" +#define TR_CUSTOM_ALARM "Custom" #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/fr.h b/radio/src/translations/fr.h index 61e6e1f1bd6..9408c5d45da 100644 --- a/radio/src/translations/fr.h +++ b/radio/src/translations/fr.h @@ -353,6 +353,8 @@ #define TR_MEMORYWARNING "Mémoire pleine" #define TR_ALARMWARNING TR("Silence", "Sons désact.") #define TR_RSSI_SHUTDOWN_ALARM TR("RSSI extinct.", "Vérif. RSSI à l'extinction") +#define TR_CUSTOM_ALARM_TITLE "Custom-Title" +#define TR_CUSTOM_ALARM "Custom" #define TR_FLYSKY_TELEMETRY TR("FlySky RSSI #", "Utiliser valeur RSSI FlySky sans étalonner") #define TR_MODEL_STILL_POWERED TR("Modèle alimenté", "Modèle encore alimenté") #define TR_USB_STILL_CONNECTED "USB encore connecté" diff --git a/radio/src/translations/it.h b/radio/src/translations/it.h index 63e34dee28a..eb035ccb347 100644 --- a/radio/src/translations/it.h +++ b/radio/src/translations/it.h @@ -345,6 +345,8 @@ #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_CUSTOM_ALARM_TITLE "Custom-Title" +#define TR_CUSTOM_ALARM "Custom" #define TR_MODEL_STILL_POWERED "Radio ancora\nconnessa" #define TR_USB_STILL_CONNECTED "USB ancora\nconnesso" #define TR_MODEL_SHUTDOWN "Spegnimento?" diff --git a/radio/src/translations/jp.h b/radio/src/translations/jp.h index 6d455cae74b..8069c164c4c 100644 --- a/radio/src/translations/jp.h +++ b/radio/src/translations/jp.h @@ -342,6 +342,8 @@ #define TR_MEMORYWARNING "メモリ低" #define TR_ALARMWARNING "音声OFF" #define TR_RSSI_SHUTDOWN_ALARM TR("RSSI shutdown", "シャットダウン時 RSSIを確認") +#define TR_CUSTOM_ALARM_TITLE "Custom-Title" +#define TR_CUSTOM_ALARM "Custom" #define TR_MODEL_STILL_POWERED "電源が入ったままです" #define TR_USB_STILL_CONNECTED "USBが接続されたままです" #define TR_MODEL_SHUTDOWN "シャットダウンしますか?" diff --git a/radio/src/translations/nl.h b/radio/src/translations/nl.h index 47770af0003..6be9622ffba 100644 --- a/radio/src/translations/nl.h +++ b/radio/src/translations/nl.h @@ -345,6 +345,8 @@ #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_CUSTOM_ALARM_TITLE "Custom-Title" +#define TR_CUSTOM_ALARM "Custom" #define TR_MODEL_STILL_POWERED "Model still powered" #define TR_USB_STILL_CONNECTED "USB still connected" #define TR_MODEL_SHUTDOWN "Shutdown ?" diff --git a/radio/src/translations/pl.h b/radio/src/translations/pl.h index 7acb18d19ec..6f35ff9cd0a 100644 --- a/radio/src/translations/pl.h +++ b/radio/src/translations/pl.h @@ -343,6 +343,8 @@ #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_CUSTOM_ALARM_TITLE "Własny-Tytuł" +#define TR_CUSTOM_ALARM "Własny" #define TR_MODEL_STILL_POWERED "Model jest włączony" #define TR_USB_STILL_CONNECTED "USB jest podłączone" #define TR_MODEL_SHUTDOWN "Wyłączyć?" diff --git a/radio/src/translations/pt.h b/radio/src/translations/pt.h index 2770684af8e..a590abe1bf9 100644 --- a/radio/src/translations/pt.h +++ b/radio/src/translations/pt.h @@ -347,6 +347,8 @@ #define TR_MEMORYWARNING "Memoria Baixa" #define TR_ALARMWARNING "Som Off" #define TR_RSSI_SHUTDOWN_ALARM TR("Rssi Shutdown", "Check Rssi on Shutdown") +#define TR_CUSTOM_ALARM_TITLE "Custom-Title" +#define TR_CUSTOM_ALARM "Custom" #define TR_MODEL_STILL_POWERED "Model still powered" #define TR_USB_STILL_CONNECTED "USB still connected" #define TR_MODEL_SHUTDOWN "Shutdown ?" diff --git a/radio/src/translations/se.h b/radio/src/translations/se.h index 4281e737498..dca339c4aed 100644 --- a/radio/src/translations/se.h +++ b/radio/src/translations/se.h @@ -362,6 +362,8 @@ #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_CUSTOM_ALARM_TITLE "Custom-Title" +#define TR_CUSTOM_ALARM "Custom" #define TR_MODEL_STILL_POWERED TR("Modell på","Modellen är på") #define TR_USB_STILL_CONNECTED "USB är ansluten" #define TR_MODEL_SHUTDOWN "Stänga av?" diff --git a/radio/src/translations/tw.h b/radio/src/translations/tw.h index 6281fa37d79..9204928702d 100644 --- a/radio/src/translations/tw.h +++ b/radio/src/translations/tw.h @@ -341,6 +341,8 @@ #define TR_MEMORYWARNING "內存不足" #define TR_ALARMWARNING "靜音" #define TR_RSSI_SHUTDOWN_ALARM TR("關機檢查RSSI", "關機時檢查RSSI") +#define TR_CUSTOM_ALARM_TITLE "Custom-Title" +#define TR_CUSTOM_ALARM "Custom" #define TR_MODEL_STILL_POWERED "模型未斷電" #define TR_USB_STILL_CONNECTED "USB未斷開" #define TR_MODEL_SHUTDOWN "關機 ?"