From af5f3586f25c8ea30896632a47cef13e0e3dab76 Mon Sep 17 00:00:00 2001 From: 3djc Date: Mon, 30 Sep 2019 15:55:03 +0200 Subject: [PATCH] Allow disabling RTC batt check (#6861) Allow disabling RTC batt check --- companion/src/firmwares/generalsettings.h | 1 + .../src/firmwares/opentx/opentxeeprom.cpp | 3 +- companion/src/generaledit/hardware.cpp | 14 + companion/src/generaledit/hardware.h | 1 + companion/src/generaledit/hardware.ui | 284 +++++++++--------- radio/src/datastructs.h | 3 +- radio/src/gui/480x272/radio_hardware.cpp | 10 + .../src/gui/common/stdlcd/radio_hardware.cpp | 7 +- radio/src/opentx.cpp | 3 +- radio/src/translations.cpp | 1 + radio/src/translations.h | 1 + radio/src/translations/cz.h.txt | 1 + radio/src/translations/de.h.txt | 1 + radio/src/translations/en.h.txt | 1 + radio/src/translations/es.h.txt | 1 + radio/src/translations/fi.h.txt | 1 + radio/src/translations/fr.h.txt | 1 + radio/src/translations/it.h.txt | 1 + radio/src/translations/nl.h.txt | 1 + radio/src/translations/pl.h.txt | 1 + radio/src/translations/pt.h.txt | 1 + radio/src/translations/se.h.txt | 1 + 22 files changed, 200 insertions(+), 139 deletions(-) diff --git a/companion/src/firmwares/generalsettings.h b/companion/src/firmwares/generalsettings.h index f3b415ec4..5325119b4 100644 --- a/companion/src/firmwares/generalsettings.h +++ b/companion/src/firmwares/generalsettings.h @@ -140,6 +140,7 @@ class GeneralSettings { unsigned int rotarySteps; unsigned int countryCode; bool jitterFilter; + bool rtcCheckDisable; unsigned int imperial; char ttsLanguage[2+1]; int beepVolume; diff --git a/companion/src/firmwares/opentx/opentxeeprom.cpp b/companion/src/firmwares/opentx/opentxeeprom.cpp index 1dbfaa7e8..8332a7ff0 100644 --- a/companion/src/firmwares/opentx/opentxeeprom.cpp +++ b/companion/src/firmwares/opentx/opentxeeprom.cpp @@ -2571,7 +2571,8 @@ OpenTxGeneralData::OpenTxGeneralData(GeneralSettings & generalData, Board::Type internalField.Append(new SignedField<2>(this, generalData.antennaMode)); else internalField.Append(new SpareBitsField<2>(this)); - internalField.Append(new SpareBitsField<3>(this)); + internalField.Append(new BoolField<1>(this, generalData.rtcCheckDisable)); + internalField.Append(new SpareBitsField<2>(this)); for (int i=0; i<4; i++) { internalField.Append(new SignedField<16>(this, generalData.trainer.calib[i])); diff --git a/companion/src/generaledit/hardware.cpp b/companion/src/generaledit/hardware.cpp index 09f109bda..8868e7766 100644 --- a/companion/src/generaledit/hardware.cpp +++ b/companion/src/generaledit/hardware.cpp @@ -200,6 +200,15 @@ HardwarePanel::HardwarePanel(QWidget * parent, GeneralSettings & generalSettings } else { ui->filterEnable->hide(); + ui->filterLabel->hide(); + } + + if (IS_STM32(board)) { + ui->rtcCheckDisable->setChecked(!generalSettings.rtcCheckDisable); + } + else { + ui->rtcCheckDisable->hide(); + ui->rtcCheckLabel->hide(); } disableMouseScrolling(); @@ -217,6 +226,11 @@ void HardwarePanel::on_filterEnable_stateChanged() generalSettings.jitterFilter = !ui->filterEnable->isChecked(); } +void HardwarePanel::on_rtcCheckDisable_stateChanged() +{ + generalSettings.rtcCheckDisable = !ui->rtcCheckDisable->isChecked(); +} + void HardwarePanel::on_PPM_MultiplierDSB_editingFinished() { int val = (int)(ui->PPM_MultiplierDSB->value()*10)-10; diff --git a/companion/src/generaledit/hardware.h b/companion/src/generaledit/hardware.h index 07ba62c40..8101b784c 100644 --- a/companion/src/generaledit/hardware.h +++ b/companion/src/generaledit/hardware.h @@ -49,6 +49,7 @@ class HardwarePanel : public GeneralPanel void on_txCurrentCalibration_editingFinished(); void on_txVoltageCalibration_editingFinished(); void on_filterEnable_stateChanged(); + void on_rtcCheckDisable_stateChanged(); void on_serialPortMode_currentIndexChanged(int index); diff --git a/companion/src/generaledit/hardware.ui b/companion/src/generaledit/hardware.ui index 79bb36a32..45e8e8da6 100644 --- a/companion/src/generaledit/hardware.ui +++ b/companion/src/generaledit/hardware.ui @@ -7,7 +7,7 @@ 0 0 470 - 1585 + 1618 @@ -57,7 +57,7 @@ - + @@ -169,7 +169,7 @@ - + -49 @@ -192,27 +192,7 @@ - - - - RS2 - - - - - - - - 0 - 10 - - - - Qt::Horizontal - - - - + @@ -231,6 +211,26 @@ + + + + + 0 + 10 + + + + Qt::Horizontal + + + + + + + RS2 + + + @@ -267,7 +267,7 @@ - + Current Offset @@ -284,7 +284,7 @@ - + PPM 2 @@ -312,6 +312,9 @@ + + + @@ -322,6 +325,19 @@ + + + + + + + + + + + + + @@ -342,17 +358,14 @@ - - + + - - - @@ -375,16 +388,6 @@ - - - - - - - - - - @@ -434,6 +437,16 @@ + + + + + + + + + + @@ -447,23 +460,6 @@ - - - - 3 - - - - - - - - - - - - - @@ -471,6 +467,13 @@ + + + + 3 + + + @@ -512,7 +515,7 @@ - + 1 @@ -545,6 +548,19 @@ + + + + + + + + + + + + + @@ -562,19 +578,6 @@ - - - - - - - - - - - - - @@ -589,9 +592,6 @@ - - - @@ -599,6 +599,13 @@ + + + + SI + + + @@ -613,10 +620,10 @@ - - + + - SI + SL @@ -627,13 +634,6 @@ - - - - SL - - - @@ -688,7 +688,7 @@ - + @@ -707,7 +707,7 @@ - + PPM 1 @@ -727,14 +727,14 @@ - + PPM 4 - + @@ -766,6 +766,20 @@ + + + + SB + + + + + + + 3 + + + @@ -788,21 +802,7 @@ - - - - SB - - - - - - - 3 - - - - + PPM Multiplier @@ -903,16 +903,6 @@ - - - - Antenna - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - - @@ -933,7 +923,17 @@ - + + + + Antenna + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + PPM 3 @@ -1029,6 +1029,26 @@ + + + + 3 + + + + + + + + + + + + + + + + @@ -1058,26 +1078,6 @@ - - - - 3 - - - - - - - - - - - - - - - - @@ -1113,6 +1113,20 @@ + + + + + + + + + + + RTC Batt Check + + + diff --git a/radio/src/datastructs.h b/radio/src/datastructs.h index 4c07cdb9c..8a5952bfe 100644 --- a/radio/src/datastructs.h +++ b/radio/src/datastructs.h @@ -735,7 +735,8 @@ PACK(struct RadioData { NOBACKUP(int8_t txVoltageCalibration); uint8_t backlightMode:3; int8_t antennaMode:2; - int8_t spare1:3; + uint8_t disableRtcWarning:1; + int8_t spare1:2; NOBACKUP(TrainerData trainer); NOBACKUP(uint8_t view); // index of view in main screen NOBACKUP(BUZZER_FIELD); /* 2bits */ diff --git a/radio/src/gui/480x272/radio_hardware.cpp b/radio/src/gui/480x272/radio_hardware.cpp index db5fbc759..35bec7cb1 100644 --- a/radio/src/gui/480x272/radio_hardware.cpp +++ b/radio/src/gui/480x272/radio_hardware.cpp @@ -54,6 +54,7 @@ enum MenuRadioHardwareItems { ITEM_RADIO_HARDWARE_SJ, // Gimbal switch right ITEM_RADIO_HARDWARE_BATTERY_CALIB, ITEM_RADIO_HARDWARE_RTC_BATTERY, + ITEM_RADIO_HARDWARE_RTC_CHECK, ITEM_RADIO_HARDWARE_SERIAL_BAUDRATE, ITEM_RADIO_HARDWARE_BLUETOOTH_MODE, ITEM_RADIO_HARDWARE_BLUETOOTH_PAIRING_CODE, @@ -118,6 +119,7 @@ bool menuRadioHardware(event_t event) 0, /* battery */ READONLY_ROW, /* RTC */ + 0, /* RTC check */ 0, /* max baudrate */ @@ -271,6 +273,14 @@ bool menuRadioHardware(event_t event) } break; + case ITEM_RADIO_HARDWARE_RTC_CHECK: + { + lcdDrawText(MENUS_MARGIN_LEFT, y, STR_RTC_CHECK); + uint8_t b = 1 - g_eeGeneral.disableRtcWarning; + g_eeGeneral.disableRtcWarning = 1 - editCheckBox(b, HW_SETTINGS_COLUMN + 50, y, attr, event); + break; + } + case ITEM_RADIO_HARDWARE_BLUETOOTH_MODE: lcdDrawText(MENUS_MARGIN_LEFT, y, STR_BLUETOOTH); g_eeGeneral.bluetoothMode = editChoice(HW_SETTINGS_COLUMN+50, y, STR_BLUETOOTH_MODES, g_eeGeneral.bluetoothMode, BLUETOOTH_OFF, BLUETOOTH_TRAINER, attr, event); diff --git a/radio/src/gui/common/stdlcd/radio_hardware.cpp b/radio/src/gui/common/stdlcd/radio_hardware.cpp index a62bd9f08..4f8156453 100644 --- a/radio/src/gui/common/stdlcd/radio_hardware.cpp +++ b/radio/src/gui/common/stdlcd/radio_hardware.cpp @@ -151,6 +151,7 @@ enum { #if defined(STM32) ITEM_RADIO_HARDWARE_RTC_BATTERY, + ITEM_RADIO_HARDWARE_RTC_CHECK, #endif #if defined(TX_CAPACITY_MEASUREMENT) @@ -255,7 +256,7 @@ void onHardwareAntennaSwitchConfirm(const char * result) #endif #if defined(STM32) - #define RTC_ROW READONLY_ROW, + #define RTC_ROW READONLY_ROW, 0, #else #define RTC_ROW #endif @@ -510,6 +511,10 @@ void menuRadioHardware(event_t event) lcdDrawTextAlignedLeft(y, STR_RTC_BATT); putsVolts(HW_SETTINGS_COLUMN2, y, getRTCBatteryVoltage(), PREC2|LEFT); break; + + case ITEM_RADIO_HARDWARE_RTC_CHECK: + g_eeGeneral.disableRtcWarning = 1 - editCheckBox(1 - g_eeGeneral.disableRtcWarning, HW_SETTINGS_COLUMN2, y, STR_RTC_CHECK, attr, event); + break; #endif #if defined(TX_CAPACITY_MEASUREMENT) diff --git a/radio/src/opentx.cpp b/radio/src/opentx.cpp index 345449ab9..3bc6913ad 100644 --- a/radio/src/opentx.cpp +++ b/radio/src/opentx.cpp @@ -912,7 +912,8 @@ void checkAll() #endif #if defined(STM32) - checkRTCBattery(); + if (!g_eeGeneral.disableRtcWarning) + checkRTCBattery(); #endif if (g_model.displayChecklist && modelHasNotes()) { diff --git a/radio/src/translations.cpp b/radio/src/translations.cpp index 953330f4b..7eee84f91 100644 --- a/radio/src/translations.cpp +++ b/radio/src/translations.cpp @@ -572,6 +572,7 @@ const char STR_MENU_DISPLAY[] = TR_MENU_DISPLAY; const char STR_MENU_OTHER[] = TR_MENU_OTHER; const char STR_MENU_INVERT[] = TR_MENU_INVERT; const char STR_JITTER_FILTER[] = TR_JITTER_FILTER; +const char STR_RTC_CHECK[] = TR_RTC_CHECK; const char STR_EXIT[] = TR_EXIT; const char STR_MODULE_RANGE[] = TR_MODULE_RANGE; const char STR_RECEIVER_OPTIONS[] = TR_RECEIVER_OPTIONS; diff --git a/radio/src/translations.h b/radio/src/translations.h index 070c11e66..ba36e8d6a 100644 --- a/radio/src/translations.h +++ b/radio/src/translations.h @@ -851,6 +851,7 @@ extern const char STR_MENU_DISPLAY[]; extern const char STR_MENU_OTHER[]; extern const char STR_MENU_INVERT[]; extern const char STR_JITTER_FILTER[]; +extern const char STR_RTC_CHECK[]; #if MENUS_LOCK == 1 extern const char STR_UNLOCKED[]; diff --git a/radio/src/translations/cz.h.txt b/radio/src/translations/cz.h.txt index c839d7d3f..840808917 100644 --- a/radio/src/translations/cz.h.txt +++ b/radio/src/translations/cz.h.txt @@ -1145,6 +1145,7 @@ #define TR_MENU_OTHER "Ostatní" #define TR_MENU_INVERT "Invertovat" #define TR_JITTER_FILTER "ADC Filtr" +#define TR_RTC_CHECK TR("Check RTC", "Check RTC voltage") #define ZSTR_RSSI "RSSI" #define ZSTR_R9PW "R9PW" diff --git a/radio/src/translations/de.h.txt b/radio/src/translations/de.h.txt index 65e3f7cb3..5f57de855 100644 --- a/radio/src/translations/de.h.txt +++ b/radio/src/translations/de.h.txt @@ -1150,6 +1150,7 @@ #define TR_MENU_OTHER "Weitere" #define TR_MENU_INVERT "Invertieren" #define TR_JITTER_FILTER "ADC Filter" +#define TR_RTC_CHECK TR("Check RTC", "Check RTC voltage") // ---------------------------------------------------------------- #define ZSTR_RSSI "RSSI" #define ZSTR_R9PW "R9PW" diff --git a/radio/src/translations/en.h.txt b/radio/src/translations/en.h.txt index b2090eaea..20ac2103d 100644 --- a/radio/src/translations/en.h.txt +++ b/radio/src/translations/en.h.txt @@ -1149,6 +1149,7 @@ #define TR_MENU_OTHER "Other" #define TR_MENU_INVERT "Invert" #define TR_JITTER_FILTER "ADC filter" +#define TR_RTC_CHECK TR("Check RTC", "Check RTC voltage") #define ZSTR_RSSI "RSSI" #define ZSTR_R9PW "R9PW" diff --git a/radio/src/translations/es.h.txt b/radio/src/translations/es.h.txt index 3395c170c..0f081176e 100644 --- a/radio/src/translations/es.h.txt +++ b/radio/src/translations/es.h.txt @@ -1170,6 +1170,7 @@ #define TR_MENU_OTHER "Other" #define TR_MENU_INVERT "Invert" #define TR_JITTER_FILTER "ADC Filter" +#define TR_RTC_CHECK TR("Check RTC", "Check RTC voltage") #define ZSTR_RSSI "RSSI" #define ZSTR_R9PW "R9PW" diff --git a/radio/src/translations/fi.h.txt b/radio/src/translations/fi.h.txt index 65c67607b..e65b5f52b 100644 --- a/radio/src/translations/fi.h.txt +++ b/radio/src/translations/fi.h.txt @@ -1158,6 +1158,7 @@ #define TR_MENU_OTHER "Other" #define TR_MENU_INVERT "Invert" #define TR_JITTER_FILTER "ADC Filter" +#define TR_RTC_CHECK TR("Check RTC", "Check RTC voltage") #define ZSTR_RSSI "RSSI" #define ZSTR_R9PW "R9PW" diff --git a/radio/src/translations/fr.h.txt b/radio/src/translations/fr.h.txt index fc3d2945f..51b03fa7d 100644 --- a/radio/src/translations/fr.h.txt +++ b/radio/src/translations/fr.h.txt @@ -1173,6 +1173,7 @@ #define TR_MENU_OTHER "Autres" #define TR_MENU_INVERT "Inverser" #define TR_JITTER_FILTER "Filtre ADC" +#define TR_RTC_CHECK TR("Check RTC", "Check RTC voltage") #define ZSTR_RSSI "RSSI" #define ZSTR_R9PW "R9PW" diff --git a/radio/src/translations/it.h.txt b/radio/src/translations/it.h.txt index 900913578..1530edfb0 100644 --- a/radio/src/translations/it.h.txt +++ b/radio/src/translations/it.h.txt @@ -1166,6 +1166,7 @@ #define TR_MENU_OTHER "Altro" #define TR_MENU_INVERT "Inverti" #define TR_JITTER_FILTER "ADC Filter" +#define TR_RTC_CHECK TR("Check RTC", "Check RTC voltage") #define ZSTR_RSSI "RSSI" #define ZSTR_R9PW "R9PW" diff --git a/radio/src/translations/nl.h.txt b/radio/src/translations/nl.h.txt index 7aaf4d5ac..7fd696397 100644 --- a/radio/src/translations/nl.h.txt +++ b/radio/src/translations/nl.h.txt @@ -1160,6 +1160,7 @@ TR_GYR_VSRCRAW #define TR_MENU_OTHER "Verdere" #define TR_MENU_INVERT "Inverteer" #define TR_JITTER_FILTER "ADC Filter" +#define TR_RTC_CHECK TR("Check RTC", "Check RTC voltage") #define ZSTR_RSSI "RSSI" #define ZSTR_R9PW "R9PW" diff --git a/radio/src/translations/pl.h.txt b/radio/src/translations/pl.h.txt index 1922fa9b0..b342291a2 100644 --- a/radio/src/translations/pl.h.txt +++ b/radio/src/translations/pl.h.txt @@ -1166,6 +1166,7 @@ #define TR_MENU_OTHER "Inny " #define TR_MENU_INVERT "Odwróć" #define TR_JITTER_FILTER "ADC Filter" +#define TR_RTC_CHECK TR("Check RTC", "Check RTC voltage") #define ZSTR_RSSI "RSSI" #define ZSTR_R9PW "R9PW" diff --git a/radio/src/translations/pt.h.txt b/radio/src/translations/pt.h.txt index cefcb53fd..bad49e96e 100644 --- a/radio/src/translations/pt.h.txt +++ b/radio/src/translations/pt.h.txt @@ -1155,6 +1155,7 @@ #define TR_MENU_OTHER "Other" #define TR_MENU_INVERT "Invert" #define TR_JITTER_FILTER "ADC Filter" +#define TR_RTC_CHECK TR("Check RTC", "Check RTC voltage") #define ZSTR_RSSI "RSSI" #define ZSTR_R9PW "R9PW" diff --git a/radio/src/translations/se.h.txt b/radio/src/translations/se.h.txt index 3d60f986b..bfda7e796 100644 --- a/radio/src/translations/se.h.txt +++ b/radio/src/translations/se.h.txt @@ -1166,6 +1166,7 @@ #define TR_MENU_OTHER "Annat" #define TR_MENU_INVERT "Invertera" #define TR_JITTER_FILTER "ADC Filter" +#define TR_RTC_CHECK TR("Check RTC", "Check RTC voltage") #define ZSTR_RSSI "RSSI" #define ZSTR_R9PW "R9PW"