feat: Warn on shutdown if trainer is connected (#4212)

Co-authored-by: Peter Feerick <peter.feerick@gmail.com>
This commit is contained in:
3djc
2023-10-23 19:27:53 +10:00
committed by GitHub
co-authored by Peter Feerick
parent 1af8b78256
commit 16b9d72aba
19 changed files with 33 additions and 3 deletions
+15 -3
View File
@@ -1782,12 +1782,15 @@ uint32_t pwrCheck()
#if defined(COLORLCD)
bool usbConfirmed = !usbPlugged() || getSelectedUsbMode() == USB_UNSELECTED_MODE;
bool modelConnectedConfirmed = !TELEMETRY_STREAMING() || g_eeGeneral.disableRssiPoweroffAlarm;
bool trainerConfirmed = !isTrainerConnected();
#endif
#if defined(SHUTDOWN_CONFIRMATION)
while (1)
#else
while ((usbPlugged() && getSelectedUsbMode() != USB_UNSELECTED_MODE) ||
(TELEMETRY_STREAMING() && !g_eeGeneral.disableRssiPoweroffAlarm))
while (
(usbPlugged() && getSelectedUsbMode() != USB_UNSELECTED_MODE) ||
(TELEMETRY_STREAMING() && !g_eeGeneral.disableRssiPoweroffAlarm) ||
isTrainerConnected())
#endif
{
@@ -1804,7 +1807,10 @@ uint32_t pwrCheck()
msg = STR_USB_STILL_CONNECTED;
msg_len = sizeof(TR_USB_STILL_CONNECTED);
}
else if (isTrainerConnected()) {
msg = STR_TRAINER_STILL_CONNECTED;
msg_len = sizeof(TR_TRAINER_STILL_CONNECTED);
}
event_t evt = getEvent();
SET_WARNING_INFO(msg, msg_len, 0);
DISPLAY_WARNING(evt);
@@ -1843,6 +1849,12 @@ uint32_t pwrCheck()
return !TELEMETRY_STREAMING() || g_eeGeneral.disableRssiPoweroffAlarm;
};
}
else if (!trainerConfirmed) {
message = STR_TRAINER_STILL_CONNECTED;
closeCondition = [](){
return !isTrainerConnected();
};
}
// TODO: abort dialog condition (here, RSSI lost / USB connected)
if (confirmationDialog(STR_MODEL_SHUTDOWN, message, false, closeCondition)) {
+1
View File
@@ -242,6 +242,7 @@ 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_MODEL_STILL_POWERED[] = TR_MODEL_STILL_POWERED;
const char STR_TRAINER_STILL_CONNECTED[] = TR_TRAINER_STILL_CONNECTED;
const char STR_USB_STILL_CONNECTED[] = TR_USB_STILL_CONNECTED;
const char STR_MODEL_SHUTDOWN[] = TR_MODEL_SHUTDOWN;
const char STR_PRESS_ENTER_TO_CONFIRM[] = TR_PRESS_ENTER_TO_CONFIRM;
+1
View File
@@ -402,6 +402,7 @@ extern const char STR_ALARMWARNING[];
extern const char STR_RSSI_SHUTDOWN_ALARM[];
extern const char STR_MODEL_STILL_POWERED[];
extern const char STR_USB_STILL_CONNECTED[];
extern const char STR_TRAINER_STILL_CONNECTED[];
extern const char STR_MODEL_SHUTDOWN[];
extern const char STR_PRESS_ENTER_TO_CONFIRM[];
extern const char STR_THROTTLEREVERSE[];
+1
View File
@@ -347,6 +347,7 @@
#define TR_ALARMWARNING "静音"
#define TR_RSSI_SHUTDOWN_ALARM TR("关机检查RSSI", "关机时检查RSSI")
#define TR_MODEL_STILL_POWERED "模型未断电"
#define TR_TRAINER_STILL_CONNECTED "教练信号未断开"
#define TR_USB_STILL_CONNECTED "USB未断开"
#define TR_MODEL_SHUTDOWN "关机 ?"
#define TR_PRESS_ENTER_TO_CONFIRM "按ENTER键确认"
+1
View File
@@ -364,6 +364,7 @@
#define TR_RSSI_SHUTDOWN_ALARM TR("Rssi při vyp.", "Hlídat RSSI při vypnutí")
#define TR_FLYSKY_TELEMETRY TR("FlySky RSSI #", "Použít FlySky RSSI hodnotu bez škálování")
#define TR_MODEL_STILL_POWERED "Model stále spuštěn"
#define TR_TRAINER_STILL_CONNECTED "Trenér stále připojen"
#define TR_USB_STILL_CONNECTED "USB stále připojeno"
#define TR_MODEL_SHUTDOWN "Vypnout?"
#define TR_PRESS_ENTER_TO_CONFIRM "Zmáčkni ENTER pro potvrzení"
+1
View File
@@ -358,6 +358,7 @@
#define TR_ALARMWARNING "Lyd fra"
#define TR_RSSI_SHUTDOWN_ALARM TR("RSSI nedluk", "Check RSSI ved nedluk")
#define TR_MODEL_STILL_POWERED "Model stadig med strøm"
#define TR_TRAINER_STILL_CONNECTED "Træner fortsat forbundet"
#define TR_USB_STILL_CONNECTED "USB stadig forbundet"
#define TR_MODEL_SHUTDOWN "Luk ned?"
#define TR_PRESS_ENTER_TO_CONFIRM "Tryk enter for bekræft"
+1
View File
@@ -355,6 +355,7 @@
#define TR_RSSI_SHUTDOWN_ALARM TR(INDENT "RSSI-Chk aus?", INDENT "Prüfe RSSI bei Ausschalten")
#define TR_FLYSKY_TELEMETRY TR("FlySky RSSI #", "Use FlySky RSSI value without rescalling")
#define TR_MODEL_STILL_POWERED "Modell noch aktiv!"
#define TR_TRAINER_STILL_CONNECTED "Schüler noch verbunden"
#define TR_USB_STILL_CONNECTED "USB noch verbunden"
#define TR_MODEL_SHUTDOWN "Herunterfahren?"
#define TR_PRESS_ENTER_TO_CONFIRM "Drücke [ENTER] zum Bestätigen"
+1
View File
@@ -353,6 +353,7 @@
#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_TRAINER_STILL_CONNECTED "Trainer still connected"
#define TR_USB_STILL_CONNECTED "USB still connected"
#define TR_MODEL_SHUTDOWN "Shutdown?"
#define TR_PRESS_ENTER_TO_CONFIRM "Press enter to confirm"
+1
View File
@@ -351,6 +351,7 @@
#define TR_ALARMWARNING "Sin sonido"
#define TR_RSSI_SHUTDOWN_ALARM TR("Apagado Rssi", "Check Rssi al apagar")
#define TR_MODEL_STILL_POWERED "Modelo aun encendido"
#define TR_TRAINER_STILL_CONNECTED "Trainer still connected"
#define TR_USB_STILL_CONNECTED "USB still connected"
#define TR_MODEL_SHUTDOWN "Apagar ?"
#define TR_PRESS_ENTER_TO_CONFIRM "Enter para confirmar"
+1
View File
@@ -365,6 +365,7 @@
#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_TRAINER_STILL_CONNECTED "Trainer still connected"
#define TR_USB_STILL_CONNECTED "USB still connected"
#define TR_MODEL_SHUTDOWN "Shutdown ?"
#define TR_PRESS_ENTER_TO_CONFIRM "Press enter to confirm"
+1
View File
@@ -361,6 +361,7 @@
#define TR_RSSI_SHUTDOWN_ALARM TR("RSSI extinct.", "Vérif. RSSI à l'extinction")
#define TR_FLYSKY_TELEMETRY TR("FlySky RSSI #", "Utiliser valeur RSSI FlySky sans étalonner")
#define TR_MODEL_STILL_POWERED TR("Modèle alimenté", "Modèle encore alimenté")
#define TR_TRAINER_STILL_CONNECTED "Élève encore connecté"
#define TR_USB_STILL_CONNECTED "USB encore connecté"
#define TR_MODEL_SHUTDOWN "Éteindre ?"
#define TR_PRESS_ENTER_TO_CONFIRM "Appui [Enter] pour confirmer"
+1
View File
@@ -357,6 +357,7 @@
#define TR_ALARMWARNING "sound off"
#define TR_RSSI_SHUTDOWN_ALARM TR("RSSI shutdown", "בדיקת חיבור למקלט בכיבוי")
#define TR_MODEL_STILL_POWERED "מודל עדיין פעיל"
#define TR_TRAINER_STILL_CONNECTED "מצב חניך עדיין מחובר"
#define TR_USB_STILL_CONNECTED "חיבור עדיין מחובר"
#define TR_MODEL_SHUTDOWN "?לכבות"
#define TR_PRESS_ENTER_TO_CONFIRM "לחץ אנטר לאישור"
+1
View File
@@ -353,6 +353,7 @@
#define TR_ALARMWARNING "Suono spento"
#define TR_RSSI_SHUTDOWN_ALARM TR("RSSI spento", "controlla RSSI spegnendo")
#define TR_MODEL_STILL_POWERED "Radio ancora\nconnessa"
#define TR_TRAINER_STILL_CONNECTED "Trainer ancora\nconnesso"
#define TR_USB_STILL_CONNECTED "USB ancora\nconnesso"
#define TR_MODEL_SHUTDOWN "Spegnimento?"
#define TR_PRESS_ENTER_TO_CONFIRM "Premi [ENT] per confermare"
+1
View File
@@ -353,6 +353,7 @@
#define TR_ALARMWARNING "音声OFF"
#define TR_RSSI_SHUTDOWN_ALARM TR("RSSI shutdown", "シャットダウン時 RSSIを確認")
#define TR_MODEL_STILL_POWERED "電源が入ったままです"
#define TR_TRAINER_STILL_CONNECTED "トレーナー通信はまだ継続しています"
#define TR_USB_STILL_CONNECTED "USBが接続されたままです"
#define TR_MODEL_SHUTDOWN "シャットダウンしますか?"
#define TR_PRESS_ENTER_TO_CONFIRM "Enterを押して確認してください"
+1
View File
@@ -351,6 +351,7 @@
#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_MODEL_STILL_POWERED "Model still powered"
#define TR_TRAINER_STILL_CONNECTED "Trainer still connected"
#define TR_USB_STILL_CONNECTED "USB still connected"
#define TR_MODEL_SHUTDOWN "Shutdown ?"
#define TR_PRESS_ENTER_TO_CONFIRM "Press enter to confirm"
+1
View File
@@ -351,6 +351,7 @@
#define TR_ALARMWARNING "Wyłącz dźwięk"
#define TR_RSSI_SHUTDOWN_ALARM TR("Rssi Shutdown", "Check Rssi on Shutdown")
#define TR_MODEL_STILL_POWERED "Model jest włączony"
#define TR_TRAINER_STILL_CONNECTED "Uczeń ciągle podłączony"
#define TR_USB_STILL_CONNECTED "USB jest podłączone"
#define TR_MODEL_SHUTDOWN "Wyłączyć?"
#define TR_PRESS_ENTER_TO_CONFIRM "Press enter to confirm"
+1
View File
@@ -356,6 +356,7 @@
#define TR_ALARMWARNING "Som desligado"
#define TR_RSSI_SHUTDOWN_ALARM TR("RSSI Deslig.", "Checar RSSI qnd desligar")
#define TR_MODEL_STILL_POWERED "Modelo ainda ligado"
#define TR_TRAINER_STILL_CONNECTED "Trainer ainda conectado"
#define TR_USB_STILL_CONNECTED "USB ainda ligadp"
#define TR_MODEL_SHUTDOWN "Desligar?"
#define TR_PRESS_ENTER_TO_CONFIRM "Press enter p/ confirmar"
+1
View File
@@ -368,6 +368,7 @@
#define TR_ALARMWARNING "Ljud av"
#define TR_RSSI_SHUTDOWN_ALARM TR("RSSI avstängn.", "Kolla RSSI vid avstängning")
#define TR_MODEL_STILL_POWERED TR("Modell på","Modellen är på")
#define TR_TRAINER_STILL_CONNECTED "Lärare fortfarande ansluten"
#define TR_USB_STILL_CONNECTED "USB är ansluten"
#define TR_MODEL_SHUTDOWN "Stänga av?"
#define TR_PRESS_ENTER_TO_CONFIRM "Tryck [ENTER] för att bekräfta"
+1
View File
@@ -353,6 +353,7 @@
#define TR_ALARMWARNING "靜音"
#define TR_RSSI_SHUTDOWN_ALARM TR("關機檢查RSSI", "關機時檢查RSSI")
#define TR_MODEL_STILL_POWERED "模型未斷電"
#define TR_TRAINER_STILL_CONNECTED "教練信號未斷開"
#define TR_USB_STILL_CONNECTED "USB未斷開"
#define TR_MODEL_SHUTDOWN "關機 ?"
#define TR_PRESS_ENTER_TO_CONFIRM "按ENTER鍵確認"