From 827e35c21c501349acea8ec64b411f3adbeba1d8 Mon Sep 17 00:00:00 2001 From: Phil Mitchell Date: Sat, 8 Apr 2023 20:12:16 +1000 Subject: [PATCH] Enable startup splash screen duration for color LCD radios. Add option to disable startup sound. Add Companion support for changes. --- .../firmwares/edgetx/yaml_generalsettings.cpp | 10 +- companion/src/firmwares/generalsettings.h | 1 + companion/src/generaledit/generalsetup.cpp | 15 +- companion/src/generaledit/generalsetup.h | 1 + companion/src/generaledit/generalsetup.ui | 1536 +++++++++-------- radio/src/datastructs_private.h | 11 +- radio/src/gui/128x64/radio_setup.cpp | 7 + radio/src/gui/212x64/radio_setup.cpp | 7 + radio/src/gui/colorlcd/radio_setup.cpp | 22 +- radio/src/opentx.cpp | 3 +- radio/src/opentx.h | 4 +- .../storage/yaml/yaml_datastructs_boxer.cpp | 2 +- .../storage/yaml/yaml_datastructs_lr3pro.cpp | 2 +- .../storage/yaml/yaml_datastructs_nv14.cpp | 4 +- .../src/storage/yaml/yaml_datastructs_t12.cpp | 2 +- .../src/storage/yaml/yaml_datastructs_t8.cpp | 2 +- .../storage/yaml/yaml_datastructs_tlite.cpp | 2 +- .../storage/yaml/yaml_datastructs_tpro.cpp | 2 +- .../storage/yaml/yaml_datastructs_tx12.cpp | 2 +- .../storage/yaml/yaml_datastructs_tx12mk2.cpp | 2 +- .../src/storage/yaml/yaml_datastructs_x10.cpp | 4 +- .../storage/yaml/yaml_datastructs_x12s.cpp | 4 +- .../src/storage/yaml/yaml_datastructs_x7.cpp | 2 +- .../src/storage/yaml/yaml_datastructs_x9d.cpp | 2 +- .../src/storage/yaml/yaml_datastructs_x9e.cpp | 2 +- .../storage/yaml/yaml_datastructs_x9lite.cpp | 2 +- .../storage/yaml/yaml_datastructs_x9lites.cpp | 2 +- .../storage/yaml/yaml_datastructs_xlite.cpp | 2 +- .../storage/yaml/yaml_datastructs_xlites.cpp | 2 +- .../storage/yaml/yaml_datastructs_zorro.cpp | 2 +- radio/src/tasks.cpp | 43 +- radio/src/translations.cpp | 4 + radio/src/translations.h | 4 + radio/src/translations/cn.h | 1 + radio/src/translations/cz.h | 1 + radio/src/translations/da.h | 1 + radio/src/translations/de.h | 1 + radio/src/translations/en.h | 1 + radio/src/translations/es.h | 1 + radio/src/translations/fi.h | 1 + radio/src/translations/fr.h | 1 + radio/src/translations/it.h | 1 + radio/src/translations/jp.h | 1 + radio/src/translations/nl.h | 1 + radio/src/translations/pl.h | 1 + radio/src/translations/pt.h | 1 + radio/src/translations/se.h | 1 + radio/src/translations/tw.h | 1 + radio/src/translations/untranslated.h | 3 + 49 files changed, 918 insertions(+), 812 deletions(-) diff --git a/companion/src/firmwares/edgetx/yaml_generalsettings.cpp b/companion/src/firmwares/edgetx/yaml_generalsettings.cpp index 5646ed5aa60..f0cac8cbef3 100644 --- a/companion/src/firmwares/edgetx/yaml_generalsettings.cpp +++ b/companion/src/firmwares/edgetx/yaml_generalsettings.cpp @@ -186,9 +186,7 @@ Node convert::encode(const GeneralSettings& rhs) node["internalModuleBaudrate"] = internalModuleBaudrate.value; node["internalModule"] = LookupValue(internalModuleLut, rhs.internalModule); - if (!IS_FAMILY_HORUS_OR_T16(fw->getBoard())) { - node["splashMode"] = rhs.splashMode; - } + node["splashMode"] = rhs.splashMode; node["lightAutoOff"] = rhs.backlightDelay; node["templateSetup"] = rhs.templateSetup; node["hapticLength"] = rhs.hapticLength + 2; @@ -218,6 +216,7 @@ Node convert::encode(const GeneralSettings& rhs) node["varioRange"] = rhs.varioRange * 15; node["varioRepeat"] = rhs.varioRepeat; node["backgroundVolume"] = rhs.backgroundVolume + 2; + node["dontPlayHello"] = (int)rhs.dontPlayHello; if (Boards::getCapability(fw->getBoard(), Board::HasColorLcd)) { node["modelQuickSelect"] = (int)rhs.modelQuickSelect; } @@ -384,9 +383,7 @@ bool convert::decode(const Node& node, GeneralSettings& rhs) rhs.internalModule = Boards::getDefaultInternalModules(fw->getBoard()); } - if (!IS_FAMILY_HORUS_OR_T16(fw->getBoard())) { - node["splashMode"] >> rhs.splashMode; - } + node["splashMode"] >> rhs.splashMode; node["lightAutoOff"] >> rhs.backlightDelay; node["templateSetup"] >> rhs.templateSetup; node["hapticLength"] >> ioffset_int(rhs.hapticLength, 2); @@ -419,6 +416,7 @@ bool convert::decode(const Node& node, GeneralSettings& rhs) node["varioRepeat"] >> rhs.varioRepeat; node["backgroundVolume"] >> ioffset_int(rhs.backgroundVolume, 2); node["modelQuickSelect"] >> rhs.modelQuickSelect; + node["dontPlayHello"] >> rhs.dontPlayHello; // depreciated v2.7 replaced by serialPort if (node["auxSerialMode"]) { diff --git a/companion/src/firmwares/generalsettings.h b/companion/src/firmwares/generalsettings.h index b611382677e..431f5f5ab51 100644 --- a/companion/src/firmwares/generalsettings.h +++ b/companion/src/firmwares/generalsettings.h @@ -219,6 +219,7 @@ class GeneralSettings { bool preBeep; bool flashBeep; int splashMode; + bool dontPlayHello; unsigned int backlightDelay; unsigned int templateSetup; //RETA order according to chout_ar array int PPM_Multiplier; diff --git a/companion/src/generaledit/generalsetup.cpp b/companion/src/generaledit/generalsetup.cpp index 63eca907420..eb2984a2fbc 100644 --- a/companion/src/generaledit/generalsetup.cpp +++ b/companion/src/generaledit/generalsetup.cpp @@ -250,12 +250,9 @@ ui(new Ui::GeneralSetup) ui->rssiPowerOffWarnChkB->setChecked(!generalSettings.disableRssiPoweroffAlarm); // Default is zero=checked + ui->splashScreenDuration->setCurrentIndex(3-generalSettings.splashMode); if (IS_FAMILY_HORUS_OR_T16(firmware->getBoard())) { - ui->splashScreenDuration->hide(); - ui->splashScreenLabel->hide(); - } - else { - ui->splashScreenDuration->setCurrentIndex(3-generalSettings.splashMode); + ui->splashScreenDuration->setItemText(0, QCoreApplication::translate("GeneralSetup", "1s", nullptr)); } if (!firmware->getCapability(PwrButtonPress)) { @@ -466,6 +463,8 @@ void GeneralSetupPanel::setValues() ui->registrationId->setText(generalSettings.registrationId); + ui->startSoundCB->setChecked(!generalSettings.dontPlayHello); + if (Boards::getCapability(firmware->getBoard(), Board::HasColorLcd)) { ui->modelQuickSelect_CB->setChecked(generalSettings.modelQuickSelect); } else { @@ -799,3 +798,9 @@ void GeneralSetupPanel::on_modelQuickSelect_CB_stateChanged(int) generalSettings.modelQuickSelect = ui->modelQuickSelect_CB->isChecked(); emit modified(); } + +void GeneralSetupPanel::on_startSoundCB_stateChanged(int) +{ + generalSettings.dontPlayHello = !ui->startSoundCB->isChecked(); + emit modified(); +} diff --git a/companion/src/generaledit/generalsetup.h b/companion/src/generaledit/generalsetup.h index 2c8366fd56d..da3e3c4d988 100644 --- a/companion/src/generaledit/generalsetup.h +++ b/companion/src/generaledit/generalsetup.h @@ -93,6 +93,7 @@ class GeneralSetupPanel : public GeneralPanel void on_pwrOffDelay_valueChanged(int); void on_modelQuickSelect_CB_stateChanged(int); + void on_startSoundCB_stateChanged(int); private: Ui::GeneralSetup *ui; diff --git a/companion/src/generaledit/generalsetup.ui b/companion/src/generaledit/generalsetup.ui index 1f096eb0e71..edee0d1c7bb 100644 --- a/companion/src/generaledit/generalsetup.ui +++ b/companion/src/generaledit/generalsetup.ui @@ -1176,87 +1176,132 @@ p, li { white-space: pre-wrap; } QLayout::SetDefaultConstraint - - - - - 0 - 0 - + + + + Qt::Vertical - + - 0 - 0 + 20 + 40 - - - - - Contrast - + + + + + + + Ask on Connect + + + + + Audio + + + + + Trainer + + - - - - - 0 - 0 - - - - - 0 - 22 - - + + - Quiet + 4800 Baud - Only Alarms + 9600 Baud - No Keys + 14400 Baud - All + 19200 Baud + + + + + 38400 Baud + + + + + 57600 Baud + + + + + 76800 Baud + + + + + 115200 Baud - - - - GPS Coordinates + + + + + 0 + 0 + + + + + 0 + 22 + + + + + + + + + + + + + 10 + + + 45 + + + 25 - - + + - Metric + DMS - Imperial + NMEA - - + + 0 @@ -1270,12 +1315,12 @@ p, li { white-space: pre-wrap; } - "No Sound" Warning + Haptic Length - - + + 0 @@ -1285,82 +1330,51 @@ p, li { white-space: pre-wrap; } 0 - 22 + 0 - - - - - - - - If not zero will sound beeps if the transmitter has been left without inputs for the specified number of minutes. - - - min - - - 120 + + Beeper Mode - - - - + + + + + 0 + 0 + - - + + + 16777215 + 16777215 + - 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 - - + <!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> - - 1 + + + + + true - - - 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 @@ -1374,161 +1388,222 @@ Mode 4: - LCD Display Type + Battery Meter Range - - - - + + + + + 0 + 0 + - - + + + 16777215 + 16777215 + - <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 + <!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 + + + + Low EEPROM Warning + + + + + + + + 0 + 0 + + + + + 0 + 0 + + + + RSSI Poweroff Warning + + + + + + + + 0 + 0 + + + + + 0 + 0 + + + + Haptic Mode + + + + + + + + 0 + 0 + + + + + 0 + 22 + - 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 - - - - - E A T R - - - - - T R E A - - - - - T R A E + Standard - T E R A + Optrex + + + + + + + 0 + 0 + + + + + 0 + 22 + + - T E A R + X-Short - T A R E + Short - T A E R + Normal - A R E T + Long - A R T E + X-Long + + + + + + + 0 + 0 + + + + + 0 + 22 + + + + + + + + + + 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. + - A E R T + Quiet - A E T R + Alarms Only - A T R E + No Keys - A T E R + All - - - - - 0 - 0 - - - - Play Delay (switch mid position) - - - - - + + 0 @@ -1538,9 +1613,16 @@ Mode 4: 0 - 22 + 0 + + Show Splash Screen on Startup + + + + + @@ -1548,104 +1630,104 @@ Mode 4: - Battery warning voltage. -This is the threashhold where the battery warning sounds. - -Acceptable values are 3v..12v - - - + <!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=" font-size:8pt;">LCD Screen Contrast</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">Values can be 20-45</span></p></body></html> - V - - - 1 + ms - 3.000000000000000 + 0 - 12.000000000000000 + 1000 - 0.100000000000000 + 10 - 9.600000000000000 + 0 - - - - - 0 - 0 - - - - - 0 - 22 - - - - -2 - - - 2 - - - 1 + + + + Stick Mode - - Qt::Horizontal + + + + + + USB Mode - - + + + + + Ask on Connect + + + + + Joystick (HID) + + + + + USB Mass Storage + + + + + USB Serial (CDC) + + + + + + - Power On Delay + Measurement Units - - + + - Jack Mode + Power Off Delay - - - - - 0 - 0 - + + + + sec - - MAVLink Baud Rate + + 3 - - - - - 0 - 0 - + + + + sec - - Default Channel Order + + 3 - - + + 0 @@ -1654,20 +1736,20 @@ Acceptable values are 3v..12v - 20 + 0 0 - + - Battery Warning + Contrast - - + + 0 @@ -1677,119 +1759,54 @@ Acceptable values are 3v..12v 0 - 0 + 22 - - Haptic Strength - - - - - - - - Min - - + + Quiet + - - - v - - - 1 - - - 3.000000000000000 - - - 16.000000000000000 - - - 0.100000000000000 - - - 9.000000000000000 - - + + Only Alarms + - - - Max - - + + No Keys + - - - v - - - 1 - - - 3.000000000000000 - - - 16.000000000000000 - - - 0.100000000000000 - - - 12.000000000000000 - - + + All + - + - - - - - 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 + GPS Coordinates - - + + + + + Metric + + + + + Imperial + + + + + + 0 @@ -1803,12 +1820,12 @@ p, li { white-space: pre-wrap; } - Beeper Length + "No Sound" Warning - - + + 0 @@ -1821,89 +1838,79 @@ 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 + - X-Short - - - - - Short + Mode 1 (RUD ELE THR AIL) - Normal + Mode 2 (RUD THR ELE AIL) - Long + Mode 3 (AIL ELE THR RUD) - X-Long + Mode 4 (AIL THR ELE RUD) - - - - - - - 0 - 0 - - - - - --- - - - - - 2s - - - - - 3s - - - - - 4s - - - - - 6s - - - - - 8s - - - - - 10s - - - - - 15s - - - - - - - - + + 0 @@ -1917,88 +1924,161 @@ p, li { white-space: pre-wrap; } - Inactivity Timer + LCD Display Type - - - - Qt::Vertical + + + + - - - 20 - 40 - + + + + + <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 - - - - - Ask on Connect + R E T A - Audio + R E A T - Trainer + R T E A - - - - - 4800 Baud + R T A E - 9600 Baud + R A E T - 14400 Baud + R A T E - 19200 Baud + E R T A - 38400 Baud + E R A T - 57600 Baud + E T R A + + + + + E T A R + + + + + E A R T + + + + + E A T R + + + + + T R E A + + + + + T R A E + + + + + T E R A + + + + + T E A R + + + + + T A R E + + + + + T A E R + + + + + A R E T + + + + + A R T E + + + + + A E R T + + + + + A E T R - 76800 Baud + A T R E - 115200 Baud + A T E R - - + + + + + 0 + 0 + + + + Play Delay (switch mid position) + + + + + 0 @@ -2018,37 +2098,38 @@ p, li { white-space: pre-wrap; } - + Battery warning voltage. +This is the threashhold where the battery warning sounds. + +Acceptable values are 3v..12v + + + + + + V + + + 1 - 10 + 3.000000000000000 - 45 + 12.000000000000000 + + + 0.100000000000000 - 25 + 9.600000000000000 - - - - - DMS - - - - - NMEA - - - - - - + + - + 0 0 @@ -2056,76 +2137,39 @@ p, li { white-space: pre-wrap; } 0 - 0 + 22 - - Haptic Length + + -2 - - - - - - - 0 - 0 - + + 2 - - - 0 - 0 - + + 1 - - Beeper Mode + + 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 + Power On Delay - - - - - 0 - 0 - + + + + Jack Mode + + + + 0 @@ -2133,47 +2177,25 @@ p, li { white-space: pre-wrap; } - Battery Meter Range + MAVLink Baud Rate - - + + - + 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 + Default Channel Order - - + + 0 @@ -2182,17 +2204,20 @@ p, li { white-space: pre-wrap; } - 0 + 20 0 + + + - Low EEPROM Warning + Battery Warning - - + + 0 @@ -2206,14 +2231,76 @@ p, li { white-space: pre-wrap; } - RSSI Poweroff Warning + 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 @@ -2221,16 +2308,38 @@ p, li { white-space: pre-wrap; } 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> + - Haptic Mode + + + + true - - + + 0 @@ -2240,23 +2349,16 @@ p, li { white-space: pre-wrap; } 0 - 22 + 0 - - - Standard - - - - - Optrex - - + + Beeper Length + - - + + 0 @@ -2296,59 +2398,62 @@ p, li { white-space: pre-wrap; } - - - - - 0 - 0 - - - - - 0 - 22 - - - - - - - - - - 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 - + + + + 0 + 0 + + + + + --- + + + + + 2s + + + + + 3s + + + + + 4s + + + + + 6s + + + + + 8s + + + + + 10s + + + + + 15s + + + - + - - + + 0 @@ -2362,112 +2467,21 @@ p, li { white-space: pre-wrap; } - Show Splash Screen on Startup - - - - - - - - - - - - - <!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=" font-size:8pt;">LCD Screen Contrast</span></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">Values can be 20-45</span></p></body></html> - - - ms - - - 0 - - - 1000 - - - 10 - - - 0 - - - - - - - Stick Mode - - - - - - - USB Mode - - - - - - - - Ask on Connect - - - - - Joystick (HID) - - - - - USB Mass Storage - - - - - USB Serial (CDC) - - - - - - - - Measurement Units + Inactivity Timer - - + + - Power Off Delay + Play Startup Sound - - - sec - - - 3 - - - - - - - sec - - - 3 + + + diff --git a/radio/src/datastructs_private.h b/radio/src/datastructs_private.h index f6cd6a27684..fe67598e695 100644 --- a/radio/src/datastructs_private.h +++ b/radio/src/datastructs_private.h @@ -792,12 +792,6 @@ PACK(struct TrainerData { NOBACKUP(TrainerMix mix[4]); }); -#if defined(COLORLCD) - #define SPLASH_MODE uint8_t splashSpares:3 SKIP -#else - #define SPLASH_MODE int8_t splashMode:3 -#endif - #if defined(COLORLCD) #define EXTRA_GENERAL_FIELDS \ CUST_ARRAY(sticksConfig, struct_sticksConfig, stick_name_valid); \ @@ -863,7 +857,7 @@ PACK(struct RadioData { int8_t antennaMode:2 ENUM(AntennaModes); uint8_t disableRtcWarning:1; uint8_t keysBacklight:1; - NOBACKUP(uint8_t spare1:1 SKIP); + NOBACKUP(uint8_t dontPlayHello:1); NOBACKUP(uint8_t internalModule ENUM(ModuleType)); NOBACKUP(TrainerData trainer); NOBACKUP(uint8_t view); // index of view in main screen @@ -879,7 +873,7 @@ PACK(struct RadioData { NOBACKUP(uint8_t inactivityTimer); CUST_ATTR(telemetryBaudrate, r_telemetryBaudrate, nullptr); uint8_t internalModuleBaudrate:3; - SPLASH_MODE; /* 3bits */ + int8_t splashMode:3; /* 3bits */ int8_t hapticMode:2 CUST(r_beeperMode,w_beeperMode); int8_t switchesDelay; NOBACKUP(uint8_t lightAutoOff); @@ -955,7 +949,6 @@ PACK(struct RadioData { #undef TELEMETRY_DATA #undef SCRIPTS_DATA #undef CUSTOM_SCREENS_DATA -#undef SPLASH_MODE #undef EXTRA_GENERAL_FIELDS #undef THEME_DATA #undef NOBACKUP diff --git a/radio/src/gui/128x64/radio_setup.cpp b/radio/src/gui/128x64/radio_setup.cpp index 529f14badbd..5fe9d562c4d 100644 --- a/radio/src/gui/128x64/radio_setup.cpp +++ b/radio/src/gui/128x64/radio_setup.cpp @@ -89,6 +89,7 @@ enum { CASE_PWM_BACKLIGHT(ITEM_RADIO_SETUP_BACKLIGHT_BRIGHTNESS_ON) CASE_BACKLIGHT(ITEM_RADIO_SETUP_FLASH_BEEP) CASE_SPLASH_PARAM(ITEM_RADIO_SETUP_DISABLE_SPLASH) + ITEM_RADIO_SETUP_START_SOUND, CASE_PWR_BUTTON_PRESS(ITEM_RADIO_SETUP_PWR_ON_SPEED) CASE_PWR_BUTTON_PRESS(ITEM_RADIO_SETUP_PWR_OFF_SPEED) CASE_PXX2(ITEM_RADIO_SETUP_OWNER_ID) @@ -168,6 +169,7 @@ void menuRadioSetup(event_t event) CASE_PWM_BACKLIGHT(0) CASE_BACKLIGHT(0) CASE_SPLASH_PARAM(0) + 0, CASE_PWR_BUTTON_PRESS(0) CASE_PWR_BUTTON_PRESS(0) CASE_PXX2(0) /* owner registration ID */ @@ -544,6 +546,11 @@ void menuRadioSetup(event_t event) } #endif + case ITEM_RADIO_SETUP_START_SOUND: + lcdDrawTextAlignedLeft(y, STR_PLAY_HELLO); + g_eeGeneral.dontPlayHello = !editCheckBox(!g_eeGeneral.dontPlayHello, RADIO_SETUP_2ND_COLUMN, y, nullptr, attr, event ) ; + break; + #if defined(PWR_BUTTON_PRESS) case ITEM_RADIO_SETUP_PWR_ON_SPEED: lcdDrawTextAlignedLeft(y, STR_PWR_ON_DELAY); diff --git a/radio/src/gui/212x64/radio_setup.cpp b/radio/src/gui/212x64/radio_setup.cpp index de17bc68f33..609ea726bc3 100644 --- a/radio/src/gui/212x64/radio_setup.cpp +++ b/radio/src/gui/212x64/radio_setup.cpp @@ -80,6 +80,7 @@ enum MenuRadioSetupItems { CASE_PCBX9E_PCBX9DP(ITEM_RADIO_SETUP_BACKLIGHT_COLOR) ITEM_RADIO_SETUP_FLASH_BEEP, CASE_SPLASH_PARAM(ITEM_RADIO_SETUP_DISABLE_SPLASH) + ITEM_RADIO_SETUP_START_SOUND, CASE_PWR_BUTTON_PRESS(ITEM_RADIO_SETUP_PWR_ON_SPEED) CASE_PWR_BUTTON_PRESS(ITEM_RADIO_SETUP_PWR_OFF_SPEED) #if defined(PXX2) @@ -164,6 +165,7 @@ void menuRadioSetup(event_t event) CASE_PCBX9E_PCBX9DP(0) // backlight color 0, // flash beep CASE_SPLASH_PARAM(0) // disable splash + 0, CASE_PWR_BUTTON_PRESS(0) // pwr on speed CASE_PWR_BUTTON_PRESS(0) // pwr off speed CASE_PXX2(0) // owner registration ID @@ -497,6 +499,11 @@ void menuRadioSetup(event_t event) break; #endif + case ITEM_RADIO_SETUP_START_SOUND: + lcdDrawTextAlignedLeft(y, STR_PLAY_HELLO); + g_eeGeneral.dontPlayHello = !editCheckBox(!g_eeGeneral.dontPlayHello, RADIO_SETUP_2ND_COLUMN, y, nullptr, attr, event ) ; + break; + #if defined(PWR_BUTTON_PRESS) case ITEM_RADIO_SETUP_PWR_ON_SPEED: lcdDrawTextAlignedLeft(y, STR_PWR_ON_DELAY); diff --git a/radio/src/gui/colorlcd/radio_setup.cpp b/radio/src/gui/colorlcd/radio_setup.cpp index fc0437d4d0a..ba4da5c8a29 100644 --- a/radio/src/gui/colorlcd/radio_setup.cpp +++ b/radio/src/gui/colorlcd/radio_setup.cpp @@ -615,11 +615,27 @@ void RadioSetupPage::build(FormWindow * window) {STR_GPS, [](){new GpsPage();}}, }); + // Splash screen + auto line = window->newLine(&grid); + new StaticText(line, rect_t{}, STR_SPLASHSCREEN, 0, COLOR_THEME_PRIMARY1); + new Choice(line, rect_t{}, STR_SPLASHSCREEN_DELAYS, 0, 7, + [=]() -> int32_t { + return 3 - g_eeGeneral.splashMode; + }, + [=](int32_t newValue) { + g_eeGeneral.splashMode = 3 - newValue; + SET_DIRTY(); + }); + + // Play startup sound + line = window->newLine(&grid); + new StaticText(line, rect_t{}, STR_PLAY_HELLO, 0, COLOR_THEME_PRIMARY1); + new CheckBox(line, rect_t{}, GET_SET_INVERTED(g_eeGeneral.dontPlayHello)); #if defined(PWR_BUTTON_PRESS) // Pwr Off Delay { - auto line = window->newLine(&grid); + line = window->newLine(&grid); new StaticText(line, rect_t{}, STR_PWR_OFF_DELAY, 0, COLOR_THEME_PRIMARY1); new Choice(line, rect_t{}, STR_PWR_OFF_DELAYS, 0, 3, [=]() -> int32_t { @@ -635,7 +651,7 @@ void RadioSetupPage::build(FormWindow * window) #if defined(PXX2) // Owner ID { - auto line = window->newLine(&grid); + line = window->newLine(&grid); new StaticText(line, rect_t{}, STR_OWNER_ID, 0, COLOR_THEME_PRIMARY1); new RadioTextEdit(line, rect_t{}, g_eeGeneral.ownerRegistrationID, PXX2_LEN_REGISTRATION_ID); @@ -643,7 +659,7 @@ void RadioSetupPage::build(FormWindow * window) #endif // Country code - auto line = window->newLine(&grid); + line = window->newLine(&grid); new StaticText(line, rect_t{}, STR_COUNTRY_CODE, 0, COLOR_THEME_PRIMARY1); new Choice(line, rect_t{}, STR_COUNTRY_CODES, 0, 2, GET_SET_DEFAULT(g_eeGeneral.countryCode)); diff --git a/radio/src/opentx.cpp b/radio/src/opentx.cpp index e0780f05ee8..dda61a64580 100644 --- a/radio/src/opentx.cpp +++ b/radio/src/opentx.cpp @@ -1172,7 +1172,8 @@ void opentxStart(const uint8_t startOptions = OPENTX_START_DEFAULT_ARGS) #if defined(GUI) if (!calibration_needed && !(startOptions & OPENTX_START_NO_SPLASH)) { - AUDIO_HELLO(); + if (!g_eeGeneral.dontPlayHello) + AUDIO_HELLO(); doSplash(); } #endif diff --git a/radio/src/opentx.h b/radio/src/opentx.h index 2859be7ada0..6d0108b7567 100644 --- a/radio/src/opentx.h +++ b/radio/src/opentx.h @@ -367,9 +367,7 @@ inline bool SPLASH_NEEDED() #endif } -#if defined(PCBHORUS) - #define SPLASH_TIMEOUT 0 /* we use the splash duration to load stuff from the SD */ -#elif defined(PCBTARANIS) +#if defined(PCBHORUS) || defined(PCBTARANIS) #define SPLASH_TIMEOUT (g_eeGeneral.splashMode == -4 ? 1500 : (g_eeGeneral.splashMode <= 0 ? (400-g_eeGeneral.splashMode * 200) : (400 - g_eeGeneral.splashMode * 100))) #else #define SPLASH_TIMEOUT (4 * 100) // 4 seconds diff --git a/radio/src/storage/yaml/yaml_datastructs_boxer.cpp b/radio/src/storage/yaml/yaml_datastructs_boxer.cpp index 921ad403203..5480558f263 100644 --- a/radio/src/storage/yaml/yaml_datastructs_boxer.cpp +++ b/radio/src/storage/yaml/yaml_datastructs_boxer.cpp @@ -354,7 +354,7 @@ static const struct YamlNode struct_RadioData[] = { YAML_ENUM("antennaMode", 2, enum_AntennaModes), YAML_UNSIGNED( "disableRtcWarning", 1 ), YAML_UNSIGNED( "keysBacklight", 1 ), - YAML_PADDING( 1 ), + YAML_UNSIGNED( "dontPlayHello", 1 ), YAML_ENUM("internalModule", 8, enum_ModuleType), YAML_STRUCT("trainer", 128, struct_TrainerData, NULL), YAML_UNSIGNED( "view", 8 ), diff --git a/radio/src/storage/yaml/yaml_datastructs_lr3pro.cpp b/radio/src/storage/yaml/yaml_datastructs_lr3pro.cpp index ff8b9db83c7..e9d912392db 100644 --- a/radio/src/storage/yaml/yaml_datastructs_lr3pro.cpp +++ b/radio/src/storage/yaml/yaml_datastructs_lr3pro.cpp @@ -353,7 +353,7 @@ static const struct YamlNode struct_RadioData[] = { YAML_ENUM("antennaMode", 2, enum_AntennaModes), YAML_UNSIGNED( "disableRtcWarning", 1 ), YAML_UNSIGNED( "keysBacklight", 1 ), - YAML_PADDING( 1 ), + YAML_UNSIGNED( "dontPlayHello", 1 ), YAML_ENUM("internalModule", 8, enum_ModuleType), YAML_STRUCT("trainer", 128, struct_TrainerData, NULL), YAML_UNSIGNED( "view", 8 ), diff --git a/radio/src/storage/yaml/yaml_datastructs_nv14.cpp b/radio/src/storage/yaml/yaml_datastructs_nv14.cpp index d9b0f55bbd7..9f62f38b620 100644 --- a/radio/src/storage/yaml/yaml_datastructs_nv14.cpp +++ b/radio/src/storage/yaml/yaml_datastructs_nv14.cpp @@ -383,7 +383,7 @@ static const struct YamlNode struct_RadioData[] = { YAML_ENUM("antennaMode", 2, enum_AntennaModes), YAML_UNSIGNED( "disableRtcWarning", 1 ), YAML_UNSIGNED( "keysBacklight", 1 ), - YAML_PADDING( 1 ), + YAML_UNSIGNED( "dontPlayHello", 1 ), YAML_ENUM("internalModule", 8, enum_ModuleType), YAML_STRUCT("trainer", 128, struct_TrainerData, NULL), YAML_UNSIGNED( "view", 8 ), @@ -399,7 +399,7 @@ static const struct YamlNode struct_RadioData[] = { YAML_UNSIGNED( "inactivityTimer", 8 ), YAML_CUSTOM("telemetryBaudrate",r_telemetryBaudrate,nullptr), YAML_UNSIGNED( "internalModuleBaudrate", 3 ), - YAML_PADDING( 3 ), + YAML_SIGNED( "splashMode", 3 ), YAML_SIGNED_CUST( "hapticMode", 2, r_beeperMode, w_beeperMode ), YAML_SIGNED( "switchesDelay", 8 ), YAML_UNSIGNED( "lightAutoOff", 8 ), diff --git a/radio/src/storage/yaml/yaml_datastructs_t12.cpp b/radio/src/storage/yaml/yaml_datastructs_t12.cpp index bab1b14cf9b..3b6a3af3f75 100644 --- a/radio/src/storage/yaml/yaml_datastructs_t12.cpp +++ b/radio/src/storage/yaml/yaml_datastructs_t12.cpp @@ -353,7 +353,7 @@ static const struct YamlNode struct_RadioData[] = { YAML_ENUM("antennaMode", 2, enum_AntennaModes), YAML_UNSIGNED( "disableRtcWarning", 1 ), YAML_UNSIGNED( "keysBacklight", 1 ), - YAML_PADDING( 1 ), + YAML_UNSIGNED( "dontPlayHello", 1 ), YAML_ENUM("internalModule", 8, enum_ModuleType), YAML_STRUCT("trainer", 128, struct_TrainerData, NULL), YAML_UNSIGNED( "view", 8 ), diff --git a/radio/src/storage/yaml/yaml_datastructs_t8.cpp b/radio/src/storage/yaml/yaml_datastructs_t8.cpp index ff8b9db83c7..e9d912392db 100644 --- a/radio/src/storage/yaml/yaml_datastructs_t8.cpp +++ b/radio/src/storage/yaml/yaml_datastructs_t8.cpp @@ -353,7 +353,7 @@ static const struct YamlNode struct_RadioData[] = { YAML_ENUM("antennaMode", 2, enum_AntennaModes), YAML_UNSIGNED( "disableRtcWarning", 1 ), YAML_UNSIGNED( "keysBacklight", 1 ), - YAML_PADDING( 1 ), + YAML_UNSIGNED( "dontPlayHello", 1 ), YAML_ENUM("internalModule", 8, enum_ModuleType), YAML_STRUCT("trainer", 128, struct_TrainerData, NULL), YAML_UNSIGNED( "view", 8 ), diff --git a/radio/src/storage/yaml/yaml_datastructs_tlite.cpp b/radio/src/storage/yaml/yaml_datastructs_tlite.cpp index ff8b9db83c7..e9d912392db 100644 --- a/radio/src/storage/yaml/yaml_datastructs_tlite.cpp +++ b/radio/src/storage/yaml/yaml_datastructs_tlite.cpp @@ -353,7 +353,7 @@ static const struct YamlNode struct_RadioData[] = { YAML_ENUM("antennaMode", 2, enum_AntennaModes), YAML_UNSIGNED( "disableRtcWarning", 1 ), YAML_UNSIGNED( "keysBacklight", 1 ), - YAML_PADDING( 1 ), + YAML_UNSIGNED( "dontPlayHello", 1 ), YAML_ENUM("internalModule", 8, enum_ModuleType), YAML_STRUCT("trainer", 128, struct_TrainerData, NULL), YAML_UNSIGNED( "view", 8 ), diff --git a/radio/src/storage/yaml/yaml_datastructs_tpro.cpp b/radio/src/storage/yaml/yaml_datastructs_tpro.cpp index 72177494f55..fbd2d124a3d 100644 --- a/radio/src/storage/yaml/yaml_datastructs_tpro.cpp +++ b/radio/src/storage/yaml/yaml_datastructs_tpro.cpp @@ -361,7 +361,7 @@ static const struct YamlNode struct_RadioData[] = { YAML_ENUM("antennaMode", 2, enum_AntennaModes), YAML_UNSIGNED( "disableRtcWarning", 1 ), YAML_UNSIGNED( "keysBacklight", 1 ), - YAML_PADDING( 1 ), + YAML_UNSIGNED( "dontPlayHello", 1 ), YAML_ENUM("internalModule", 8, enum_ModuleType), YAML_STRUCT("trainer", 128, struct_TrainerData, NULL), YAML_UNSIGNED( "view", 8 ), diff --git a/radio/src/storage/yaml/yaml_datastructs_tx12.cpp b/radio/src/storage/yaml/yaml_datastructs_tx12.cpp index 2b1041a7a58..083de1062e2 100644 --- a/radio/src/storage/yaml/yaml_datastructs_tx12.cpp +++ b/radio/src/storage/yaml/yaml_datastructs_tx12.cpp @@ -353,7 +353,7 @@ static const struct YamlNode struct_RadioData[] = { YAML_ENUM("antennaMode", 2, enum_AntennaModes), YAML_UNSIGNED( "disableRtcWarning", 1 ), YAML_UNSIGNED( "keysBacklight", 1 ), - YAML_PADDING( 1 ), + YAML_UNSIGNED( "dontPlayHello", 1 ), YAML_ENUM("internalModule", 8, enum_ModuleType), YAML_STRUCT("trainer", 128, struct_TrainerData, NULL), YAML_UNSIGNED( "view", 8 ), diff --git a/radio/src/storage/yaml/yaml_datastructs_tx12mk2.cpp b/radio/src/storage/yaml/yaml_datastructs_tx12mk2.cpp index d5cac5a6764..254ae5939ec 100755 --- a/radio/src/storage/yaml/yaml_datastructs_tx12mk2.cpp +++ b/radio/src/storage/yaml/yaml_datastructs_tx12mk2.cpp @@ -353,7 +353,7 @@ static const struct YamlNode struct_RadioData[] = { YAML_ENUM("antennaMode", 2, enum_AntennaModes), YAML_UNSIGNED( "disableRtcWarning", 1 ), YAML_UNSIGNED( "keysBacklight", 1 ), - YAML_PADDING( 1 ), + YAML_UNSIGNED( "dontPlayHello", 1 ), YAML_ENUM("internalModule", 8, enum_ModuleType), YAML_STRUCT("trainer", 128, struct_TrainerData, NULL), YAML_UNSIGNED( "view", 8 ), diff --git a/radio/src/storage/yaml/yaml_datastructs_x10.cpp b/radio/src/storage/yaml/yaml_datastructs_x10.cpp index b97b67893f0..3f0e04d0b64 100644 --- a/radio/src/storage/yaml/yaml_datastructs_x10.cpp +++ b/radio/src/storage/yaml/yaml_datastructs_x10.cpp @@ -412,7 +412,7 @@ static const struct YamlNode struct_RadioData[] = { YAML_ENUM("antennaMode", 2, enum_AntennaModes), YAML_UNSIGNED( "disableRtcWarning", 1 ), YAML_UNSIGNED( "keysBacklight", 1 ), - YAML_PADDING( 1 ), + YAML_UNSIGNED( "dontPlayHello", 1 ), YAML_ENUM("internalModule", 8, enum_ModuleType), YAML_STRUCT("trainer", 128, struct_TrainerData, NULL), YAML_UNSIGNED( "view", 8 ), @@ -428,7 +428,7 @@ static const struct YamlNode struct_RadioData[] = { YAML_UNSIGNED( "inactivityTimer", 8 ), YAML_CUSTOM("telemetryBaudrate",r_telemetryBaudrate,nullptr), YAML_UNSIGNED( "internalModuleBaudrate", 3 ), - YAML_PADDING( 3 ), + YAML_SIGNED( "splashMode", 3 ), YAML_SIGNED_CUST( "hapticMode", 2, r_beeperMode, w_beeperMode ), YAML_SIGNED( "switchesDelay", 8 ), YAML_UNSIGNED( "lightAutoOff", 8 ), diff --git a/radio/src/storage/yaml/yaml_datastructs_x12s.cpp b/radio/src/storage/yaml/yaml_datastructs_x12s.cpp index 2312d3363d5..d73cce87892 100644 --- a/radio/src/storage/yaml/yaml_datastructs_x12s.cpp +++ b/radio/src/storage/yaml/yaml_datastructs_x12s.cpp @@ -410,7 +410,7 @@ static const struct YamlNode struct_RadioData[] = { YAML_ENUM("antennaMode", 2, enum_AntennaModes), YAML_UNSIGNED( "disableRtcWarning", 1 ), YAML_UNSIGNED( "keysBacklight", 1 ), - YAML_PADDING( 1 ), + YAML_UNSIGNED( "dontPlayHello", 1 ), YAML_ENUM("internalModule", 8, enum_ModuleType), YAML_STRUCT("trainer", 128, struct_TrainerData, NULL), YAML_UNSIGNED( "view", 8 ), @@ -426,7 +426,7 @@ static const struct YamlNode struct_RadioData[] = { YAML_UNSIGNED( "inactivityTimer", 8 ), YAML_CUSTOM("telemetryBaudrate",r_telemetryBaudrate,nullptr), YAML_UNSIGNED( "internalModuleBaudrate", 3 ), - YAML_PADDING( 3 ), + YAML_SIGNED( "splashMode", 3 ), YAML_SIGNED_CUST( "hapticMode", 2, r_beeperMode, w_beeperMode ), YAML_SIGNED( "switchesDelay", 8 ), YAML_UNSIGNED( "lightAutoOff", 8 ), diff --git a/radio/src/storage/yaml/yaml_datastructs_x7.cpp b/radio/src/storage/yaml/yaml_datastructs_x7.cpp index ff8b9db83c7..e9d912392db 100644 --- a/radio/src/storage/yaml/yaml_datastructs_x7.cpp +++ b/radio/src/storage/yaml/yaml_datastructs_x7.cpp @@ -353,7 +353,7 @@ static const struct YamlNode struct_RadioData[] = { YAML_ENUM("antennaMode", 2, enum_AntennaModes), YAML_UNSIGNED( "disableRtcWarning", 1 ), YAML_UNSIGNED( "keysBacklight", 1 ), - YAML_PADDING( 1 ), + YAML_UNSIGNED( "dontPlayHello", 1 ), YAML_ENUM("internalModule", 8, enum_ModuleType), YAML_STRUCT("trainer", 128, struct_TrainerData, NULL), YAML_UNSIGNED( "view", 8 ), diff --git a/radio/src/storage/yaml/yaml_datastructs_x9d.cpp b/radio/src/storage/yaml/yaml_datastructs_x9d.cpp index 6798b9fb6bf..a2164d80a7d 100644 --- a/radio/src/storage/yaml/yaml_datastructs_x9d.cpp +++ b/radio/src/storage/yaml/yaml_datastructs_x9d.cpp @@ -360,7 +360,7 @@ static const struct YamlNode struct_RadioData[] = { YAML_ENUM("antennaMode", 2, enum_AntennaModes), YAML_UNSIGNED( "disableRtcWarning", 1 ), YAML_UNSIGNED( "keysBacklight", 1 ), - YAML_PADDING( 1 ), + YAML_UNSIGNED( "dontPlayHello", 1 ), YAML_ENUM("internalModule", 8, enum_ModuleType), YAML_STRUCT("trainer", 128, struct_TrainerData, NULL), YAML_UNSIGNED( "view", 8 ), diff --git a/radio/src/storage/yaml/yaml_datastructs_x9e.cpp b/radio/src/storage/yaml/yaml_datastructs_x9e.cpp index 7e037858d82..79ce3f8945d 100644 --- a/radio/src/storage/yaml/yaml_datastructs_x9e.cpp +++ b/radio/src/storage/yaml/yaml_datastructs_x9e.cpp @@ -399,7 +399,7 @@ static const struct YamlNode struct_RadioData[] = { YAML_ENUM("antennaMode", 2, enum_AntennaModes), YAML_UNSIGNED( "disableRtcWarning", 1 ), YAML_UNSIGNED( "keysBacklight", 1 ), - YAML_PADDING( 1 ), + YAML_UNSIGNED( "dontPlayHello", 1 ), YAML_ENUM("internalModule", 8, enum_ModuleType), YAML_STRUCT("trainer", 128, struct_TrainerData, NULL), YAML_UNSIGNED( "view", 8 ), diff --git a/radio/src/storage/yaml/yaml_datastructs_x9lite.cpp b/radio/src/storage/yaml/yaml_datastructs_x9lite.cpp index 75901cf5a46..49ec2a094df 100644 --- a/radio/src/storage/yaml/yaml_datastructs_x9lite.cpp +++ b/radio/src/storage/yaml/yaml_datastructs_x9lite.cpp @@ -340,7 +340,7 @@ static const struct YamlNode struct_RadioData[] = { YAML_ENUM("antennaMode", 2, enum_AntennaModes), YAML_UNSIGNED( "disableRtcWarning", 1 ), YAML_UNSIGNED( "keysBacklight", 1 ), - YAML_PADDING( 1 ), + YAML_UNSIGNED( "dontPlayHello", 1 ), YAML_ENUM("internalModule", 8, enum_ModuleType), YAML_STRUCT("trainer", 128, struct_TrainerData, NULL), YAML_UNSIGNED( "view", 8 ), diff --git a/radio/src/storage/yaml/yaml_datastructs_x9lites.cpp b/radio/src/storage/yaml/yaml_datastructs_x9lites.cpp index 91e57fee283..e91883e1920 100644 --- a/radio/src/storage/yaml/yaml_datastructs_x9lites.cpp +++ b/radio/src/storage/yaml/yaml_datastructs_x9lites.cpp @@ -348,7 +348,7 @@ static const struct YamlNode struct_RadioData[] = { YAML_ENUM("antennaMode", 2, enum_AntennaModes), YAML_UNSIGNED( "disableRtcWarning", 1 ), YAML_UNSIGNED( "keysBacklight", 1 ), - YAML_PADDING( 1 ), + YAML_UNSIGNED( "dontPlayHello", 1 ), YAML_ENUM("internalModule", 8, enum_ModuleType), YAML_STRUCT("trainer", 128, struct_TrainerData, NULL), YAML_UNSIGNED( "view", 8 ), diff --git a/radio/src/storage/yaml/yaml_datastructs_xlite.cpp b/radio/src/storage/yaml/yaml_datastructs_xlite.cpp index c99dd3adbc9..1b848f8a35d 100644 --- a/radio/src/storage/yaml/yaml_datastructs_xlite.cpp +++ b/radio/src/storage/yaml/yaml_datastructs_xlite.cpp @@ -345,7 +345,7 @@ static const struct YamlNode struct_RadioData[] = { YAML_ENUM("antennaMode", 2, enum_AntennaModes), YAML_UNSIGNED( "disableRtcWarning", 1 ), YAML_UNSIGNED( "keysBacklight", 1 ), - YAML_PADDING( 1 ), + YAML_UNSIGNED( "dontPlayHello", 1 ), YAML_ENUM("internalModule", 8, enum_ModuleType), YAML_STRUCT("trainer", 128, struct_TrainerData, NULL), YAML_UNSIGNED( "view", 8 ), diff --git a/radio/src/storage/yaml/yaml_datastructs_xlites.cpp b/radio/src/storage/yaml/yaml_datastructs_xlites.cpp index 369606fc98b..3d9518371cb 100644 --- a/radio/src/storage/yaml/yaml_datastructs_xlites.cpp +++ b/radio/src/storage/yaml/yaml_datastructs_xlites.cpp @@ -347,7 +347,7 @@ static const struct YamlNode struct_RadioData[] = { YAML_ENUM("antennaMode", 2, enum_AntennaModes), YAML_UNSIGNED( "disableRtcWarning", 1 ), YAML_UNSIGNED( "keysBacklight", 1 ), - YAML_PADDING( 1 ), + YAML_UNSIGNED( "dontPlayHello", 1 ), YAML_ENUM("internalModule", 8, enum_ModuleType), YAML_STRUCT("trainer", 128, struct_TrainerData, NULL), YAML_UNSIGNED( "view", 8 ), diff --git a/radio/src/storage/yaml/yaml_datastructs_zorro.cpp b/radio/src/storage/yaml/yaml_datastructs_zorro.cpp index d5cac5a6764..254ae5939ec 100644 --- a/radio/src/storage/yaml/yaml_datastructs_zorro.cpp +++ b/radio/src/storage/yaml/yaml_datastructs_zorro.cpp @@ -353,7 +353,7 @@ static const struct YamlNode struct_RadioData[] = { YAML_ENUM("antennaMode", 2, enum_AntennaModes), YAML_UNSIGNED( "disableRtcWarning", 1 ), YAML_UNSIGNED( "keysBacklight", 1 ), - YAML_PADDING( 1 ), + YAML_UNSIGNED( "dontPlayHello", 1 ), YAML_ENUM("internalModule", 8, enum_ModuleType), YAML_STRUCT("trainer", 128, struct_TrainerData, NULL), YAML_UNSIGNED( "view", 8 ), diff --git a/radio/src/tasks.cpp b/radio/src/tasks.cpp index 8086c63850f..0112fb306e0 100644 --- a/radio/src/tasks.cpp +++ b/radio/src/tasks.cpp @@ -46,7 +46,11 @@ TASK_FUNCTION(menusTask) #endif #if defined(SPLASH) && !defined(STARTUP_ANIMATION) + tmr10ms_t splashStartTime = 0; + bool waitSplash = false; if (!UNEXPECTED_SHUTDOWN()) { + splashStartTime = get_tmr10ms(); + waitSplash = true; drawSplash(); TRACE("drawSplash() completed"); } @@ -58,6 +62,43 @@ TASK_FUNCTION(menusTask) opentxInit(); +#if defined(SPLASH) && !defined(STARTUP_ANIMATION) + if (waitSplash){ + extern bool inputsMoved(); + extern void checkSpeakerVolume(); + +#if defined(SIMU) + // Simulator - inputsMoved() returns true immediately without this! + RTOS_WAIT_TICKS(30); +#endif + + splashStartTime += SPLASH_TIMEOUT; + while (splashStartTime > get_tmr10ms()) { + checkSpeakerVolume(); + checkBacklight(); + RTOS_WAIT_TICKS(10); + auto evt = getEvent(); + if (evt || inputsMoved()) { + if (evt) + killEvents(evt); + break; + } +#if defined(SIMU) + // Allow simulator to exit if closed while splash showing + uint32_t pwr_check = pwrCheck(); + if (pwr_check == e_power_off) { + break; + } +#endif + } + + // Reset timer so special/global functions set to !1x don't get triggered + START_SILENCE_PERIOD(); + } +#endif + + mixerTaskInit(); + #if defined(PWR_BUTTON_PRESS) while (true) { uint32_t pwr_check = pwrCheck(); @@ -115,8 +156,6 @@ void tasksStart() cliStart(); #endif - mixerTaskInit(); - RTOS_CREATE_TASK(menusTaskId, menusTask, "menus", menusStack, MENUS_STACK_SIZE, MENUS_TASK_PRIO); diff --git a/radio/src/translations.cpp b/radio/src/translations.cpp index 8847aea9428..45d7a148611 100644 --- a/radio/src/translations.cpp +++ b/radio/src/translations.cpp @@ -121,6 +121,9 @@ ISTR(BLUETOOTH_MODES); ISTR(TEXT_SIZE); ISTR(SUBTRIMMODES); ISTR(PWR_OFF_DELAYS); +#if defined(COLORLCD) +ISTR(SPLASHSCREEN_DELAYS); +#endif const char STR_MINUTE_SINGULAR[] = TR_MINUTE_SINGULAR; const char STR_MINUTE_PLURAL1[] = TR_MINUTE_PLURAL1; @@ -291,6 +294,7 @@ const char STR_MENULOGICALSWITCH[] = TR_MENULOGICALSWITCH; const char STR_MENULOGICALSWITCHES[] = TR_MENULOGICALSWITCHES; const char STR_MENUCUSTOMFUNC[] = TR_MENUCUSTOMFUNC; const char STR_SPLASHSCREEN[] = TR_SPLASHSCREEN; +const char STR_PLAY_HELLO[] = TR_PLAY_HELLO; const char STR_PWR_ON_DELAY[] = TR_PWR_ON_DELAY; const char STR_PWR_OFF_DELAY[] = TR_PWR_OFF_DELAY; const char STR_THROTTLE_UPPERCASE[] = TR_THROTTLE_UPPERCASE; diff --git a/radio/src/translations.h b/radio/src/translations.h index d52ec1d9e88..33bfab5aa87 100644 --- a/radio/src/translations.h +++ b/radio/src/translations.h @@ -367,6 +367,10 @@ extern const char STR_KEYS_BACKLIGHT[]; #endif extern const char STR_SPLASHSCREEN[]; +extern const char STR_PLAY_HELLO[]; +#if defined(COLORLCD) +extern const char* const STR_SPLASHSCREEN_DELAYS[]; +#endif #if defined(PWR_BUTTON_PRESS) extern const char STR_PWR_ON_DELAY[]; extern const char STR_PWR_OFF_DELAY[]; diff --git a/radio/src/translations/cn.h b/radio/src/translations/cn.h index 2fc145a847b..929ff29813e 100644 --- a/radio/src/translations/cn.h +++ b/radio/src/translations/cn.h @@ -443,6 +443,7 @@ #define TR_KEYS_BACKLIGHT "按键背光" #define TR_BLCOLOR "颜色" #define TR_SPLASHSCREEN "开机图片" +#define TR_PLAY_HELLO "Startup Sound" #define TR_PWR_ON_DELAY "开机延迟" #define TR_PWR_OFF_DELAY "关机延迟" #define TR_THROTTLE_WARNING TR(INDENT "油门状态", INDENT "油门状态") diff --git a/radio/src/translations/cz.h b/radio/src/translations/cz.h index d92c0507540..da8ea53dc95 100644 --- a/radio/src/translations/cz.h +++ b/radio/src/translations/cz.h @@ -448,6 +448,7 @@ #define TR_KEYS_BACKLIGHT "Podsvětlení kláves" #define TR_BLCOLOR "Barva" #define TR_SPLASHSCREEN TR("úvodní logo", "Zobrazit úvodní logo") +#define TR_PLAY_HELLO "Startup Sound" #define TR_PWR_ON_DELAY "Zpoždění zapnutí" #define TR_PWR_OFF_DELAY "Zpoždění vypnutí" #define TR_THROTTLE_WARNING TR("* Plyn", INDENT "Kontrola plynu") diff --git a/radio/src/translations/da.h b/radio/src/translations/da.h index c9fa434173c..ee262f9b0ab 100644 --- a/radio/src/translations/da.h +++ b/radio/src/translations/da.h @@ -449,6 +449,7 @@ #define TR_KEYS_BACKLIGHT "Taster klarhed" #define TR_BLCOLOR "Farve" #define TR_SPLASHSCREEN "Start skærm" +#define TR_PLAY_HELLO "Startup Sound" #define TR_PWR_ON_DELAY "Forsinkelse ved tænd" #define TR_PWR_OFF_DELAY "Forsinkelse ved sluk" #define TR_THROTTLE_WARNING TR(INDENT "Gas adv", INDENT "Gas advarsel") diff --git a/radio/src/translations/de.h b/radio/src/translations/de.h index 3b1a690d063..c6f2a6a7e4c 100644 --- a/radio/src/translations/de.h +++ b/radio/src/translations/de.h @@ -448,6 +448,7 @@ #define TR_KEYS_BACKLIGHT "Keys backlight" #define TR_BLCOLOR "Farbe" #define TR_SPLASHSCREEN TR("Startbild Ein", "Startbild Anzeigedauer") +#define TR_PLAY_HELLO "Startup Sound" #define TR_PWR_ON_DELAY "PWR EIN Verzög." #define TR_PWR_OFF_DELAY "PWR AUS Verzög." #define TR_THROTTLE_WARNING TR("Gasalarm", INDENT "Gas Alarm") diff --git a/radio/src/translations/en.h b/radio/src/translations/en.h index 7630ba0a9ba..f8d95bca606 100644 --- a/radio/src/translations/en.h +++ b/radio/src/translations/en.h @@ -442,6 +442,7 @@ #define TR_KEYS_BACKLIGHT "Keys backlight" #define TR_BLCOLOR "Color" #define TR_SPLASHSCREEN "Splash screen" +#define TR_PLAY_HELLO "Startup Sound" #define TR_PWR_ON_DELAY "Pwr On delay" #define TR_PWR_OFF_DELAY "Pwr Off delay" #define TR_THROTTLE_WARNING TR(INDENT "T-Warning", INDENT "Throttle state") diff --git a/radio/src/translations/es.h b/radio/src/translations/es.h index 2557844f911..5456b8c9d5a 100644 --- a/radio/src/translations/es.h +++ b/radio/src/translations/es.h @@ -444,6 +444,7 @@ #define TR_KEYS_BACKLIGHT "Keys backlight" #define TR_BLCOLOR INDENT "Color" #define TR_SPLASHSCREEN "Pantalla inicio" +#define TR_PLAY_HELLO "Startup Sound" #define TR_PWR_ON_DELAY TR("Atraso On", "Atraso encendido") #define TR_PWR_OFF_DELAY TR("Atraso Off", "Atraso apagado") #define TR_THROTTLE_WARNING TR("Aviso-A", INDENT "Aviso acelerador") diff --git a/radio/src/translations/fi.h b/radio/src/translations/fi.h index 40516e3a5ff..1e90704ac8b 100644 --- a/radio/src/translations/fi.h +++ b/radio/src/translations/fi.h @@ -456,6 +456,7 @@ #define TR_KEYS_BACKLIGHT "Keys backlight" #define TR_BLCOLOR "Color" #define TR_SPLASHSCREEN "Splash screen" +#define TR_PLAY_HELLO "Startup Sound" #define TR_PWR_ON_DELAY "Pwr On delay" #define TR_PWR_OFF_DELAY "Pwr Off delay" #define TR_THROTTLE_WARNING TR("T-Warning", INDENT "Throttle Warning") diff --git a/radio/src/translations/fr.h b/radio/src/translations/fr.h index 630277342cf..50edade894f 100644 --- a/radio/src/translations/fr.h +++ b/radio/src/translations/fr.h @@ -456,6 +456,7 @@ #define TR_KEYS_BACKLIGHT "Keys backlight" #define TR_BLCOLOR "Couleur" #define TR_SPLASHSCREEN "Logo d'accueil" +#define TR_PLAY_HELLO "Startup Sound" #define TR_PWR_ON_DELAY "Délai btn ON" #define TR_PWR_OFF_DELAY "Délai btn OFF" #define TR_THROTTLE_WARNING TR(INDENT "Alerte gaz", INDENT "Alerte gaz") diff --git a/radio/src/translations/it.h b/radio/src/translations/it.h index a1578ab0e16..eb45ca6ca73 100644 --- a/radio/src/translations/it.h +++ b/radio/src/translations/it.h @@ -450,6 +450,7 @@ #define TR_KEYS_BACKLIGHT "Retroillum. tasti" #define TR_BLCOLOR "Colore" #define TR_SPLASHSCREEN TR("Sch. avvio", "Schermata d'avvio") +#define TR_PLAY_HELLO "Startup Sound" #define TR_PWR_ON_DELAY "Rit. accens." #define TR_PWR_OFF_DELAY "Rit. spegni." #define TR_THROTTLE_WARNING TR(INDENT "All. Mot.", INDENT "Allarme Motore") diff --git a/radio/src/translations/jp.h b/radio/src/translations/jp.h index 69971da7a35..ae35e9c92c4 100644 --- a/radio/src/translations/jp.h +++ b/radio/src/translations/jp.h @@ -442,6 +442,7 @@ #define TR_KEYS_BACKLIGHT "キー バックライト" #define TR_BLCOLOR "カラー" #define TR_SPLASHSCREEN "起動イメージ" +#define TR_PLAY_HELLO "Startup Sound" #define TR_PWR_ON_DELAY "電源ON遅延" #define TR_PWR_OFF_DELAY "電源OFF遅延" #define TR_THROTTLE_WARNING TR(INDENT "T-Warning", INDENT "Throttle状態") diff --git a/radio/src/translations/nl.h b/radio/src/translations/nl.h index ba1caa5e6e4..a9cfa991068 100644 --- a/radio/src/translations/nl.h +++ b/radio/src/translations/nl.h @@ -447,6 +447,7 @@ #define TR_KEYS_BACKLIGHT "Keys backlight" #define TR_BLCOLOR "Kleur" #define TR_SPLASHSCREEN "Startscherm Aan" +#define TR_PLAY_HELLO "Startup Sound" #define TR_PWR_ON_DELAY "Pwr On delay" #define TR_PWR_OFF_DELAY "Pwr Off delay" #define TR_THROTTLE_WARNING TR(INDENT "T-Warning", INDENT "Throttle Status") diff --git a/radio/src/translations/pl.h b/radio/src/translations/pl.h index 198ac1d9c2c..73fcd238668 100644 --- a/radio/src/translations/pl.h +++ b/radio/src/translations/pl.h @@ -445,6 +445,7 @@ #define TR_KEYS_BACKLIGHT "Podśw. przycisków" #define TR_BLCOLOR "Kolor" #define TR_SPLASHSCREEN "Logo ekranu" +#define TR_PLAY_HELLO "Startup Sound" #define TR_PWR_ON_DELAY "Pwr On delay" #define TR_PWR_OFF_DELAY "Pwr Off delay" #define TR_THROTTLE_WARNING TR(INDENT"OstrzGaz", INDENT "OstrzeżenieGaz") diff --git a/radio/src/translations/pt.h b/radio/src/translations/pt.h index ef6d53d6f3a..a85566dff8a 100644 --- a/radio/src/translations/pt.h +++ b/radio/src/translations/pt.h @@ -448,6 +448,7 @@ #define TR_KEYS_BACKLIGHT "Keys backlight" #define TR_BLCOLOR "Color" #define TR_SPLASHSCREEN "Splash screen" +#define TR_PLAY_HELLO "Startup Sound" #define TR_PWR_ON_DELAY "Pwr On delay" #define TR_PWR_OFF_DELAY "Pwr Off delay" #define TR_THROTTLE_WARNING TR("Avisa Acel", INDENT "Avisa Acel") diff --git a/radio/src/translations/se.h b/radio/src/translations/se.h index fa52145a218..b05f742a42f 100644 --- a/radio/src/translations/se.h +++ b/radio/src/translations/se.h @@ -463,6 +463,7 @@ #define TR_BLOFFBRIGHTNESS INDENT "Ljusstyrka av" #define TR_KEYS_BACKLIGHT "Tangentbelysning" #define TR_SPLASHSCREEN "Startbild" +#define TR_PLAY_HELLO "Startup Sound" #define TR_PWR_ON_DELAY "Fördröj start" #define TR_PWR_OFF_DELAY "Fördröj avslut" #define TR_BLCOLOR "Färg" diff --git a/radio/src/translations/tw.h b/radio/src/translations/tw.h index 6d1f05c011b..e941ab157da 100644 --- a/radio/src/translations/tw.h +++ b/radio/src/translations/tw.h @@ -442,6 +442,7 @@ #define TR_KEYS_BACKLIGHT "按鍵背光" #define TR_BLCOLOR "顏色" #define TR_SPLASHSCREEN "開機圖片" +#define TR_PLAY_HELLO "Startup Sound" #define TR_PWR_ON_DELAY "開機延遲" #define TR_PWR_OFF_DELAY "關機延遲" #define TR_THROTTLE_WARNING TR(INDENT "油門狀態", INDENT "油門狀態") diff --git a/radio/src/translations/untranslated.h b/radio/src/translations/untranslated.h index 51d5f0584ac..35794cd075d 100644 --- a/radio/src/translations/untranslated.h +++ b/radio/src/translations/untranslated.h @@ -153,6 +153,9 @@ #define TR_FLYSKY_SERIAL_PROTO "iBUS","SBUS" #define TR_PPM_POL "-","+" #define TR_PWR_OFF_DELAYS "0s","1s","2s","4s" +#if defined(COLORLCD) +#define TR_SPLASHSCREEN_DELAYS "1s","2s","3s","4s","6s","8s","10s","15s" +#endif // Telemetry sensor name definitions #define STR_SENSOR_RSSI "RSSI"