From e6119dc7eece500ed380d3674bfb2022545ed6ca Mon Sep 17 00:00:00 2001 From: Yurii Date: Fri, 15 Nov 2024 00:55:38 +0300 Subject: [PATCH] refactor: restart action improved --- src/MainTask.h | 19 +++++++++++++------ src_data/locales/en.json | 2 +- src_data/locales/ru.json | 2 +- 3 files changed, 15 insertions(+), 8 deletions(-) diff --git a/src/MainTask.h b/src/MainTask.h index 3c53613..a348811 100644 --- a/src/MainTask.h +++ b/src/MainTask.h @@ -32,7 +32,8 @@ protected: unsigned long lastHeapInfo = 0; unsigned int minFreeHeap = 0; unsigned int minMaxFreeBlockHeap = 0; - unsigned long restartSignalTime = 0; + bool restartSignalReceived = false; + unsigned long restartSignalReceivedTime = 0; bool heatingEnabled = false; unsigned long heatingDisabledTime = 0; PumpStartReason extPumpStartReason = PumpStartReason::NONE; @@ -73,8 +74,14 @@ protected: } if (vars.actions.restart) { - this->restartSignalTime = millis(); + this->restartSignalReceivedTime = millis(); + this->restartSignalReceived = true; vars.actions.restart = false; + + Log.sinfoln(FPSTR(L_MAIN), F("Received restart signal")); + } + + if (!vars.states.restarting && this->restartSignalReceived && millis() - this->restartSignalReceivedTime > 5000) { vars.states.restarting = true; // save settings @@ -88,7 +95,7 @@ protected: fsNetworkSettings.write(); } - Log.sinfoln(FPSTR(L_MAIN), F("Restart signal received. Restart after 10 sec.")); + Log.sinfoln(FPSTR(L_MAIN), F("Restart scheduled in 10 sec.")); } vars.mqtt.connected = tMqtt->isConnected(); @@ -160,8 +167,8 @@ protected: // restart - if (vars.states.restarting && millis() - this->restartSignalTime > 10000) { - vars.states.restarting = false; + if (this->restartSignalReceived && millis() - this->restartSignalReceivedTime > 15000) { + this->restartSignalReceived = false; ESP.restart(); } @@ -173,7 +180,7 @@ protected: // critical heap if (!vars.states.restarting && (freeHeap < 2048 || maxFreeBlockHeap < 2048)) { - this->restartSignalTime = millis(); + this->restartSignalReceivedTime = millis(); vars.states.restarting = true; } diff --git a/src_data/locales/en.json b/src_data/locales/en.json index 0b303ee..a267ec4 100644 --- a/src_data/locales/en.json +++ b/src_data/locales/en.json @@ -419,7 +419,7 @@ "note": { "disclaimer1": "After a successful upgrade the filesystem, ALL settings will be reset to default values! Save backup before upgrading.", - "disclaimer2": "After a successful upgrade, the device will automatically reboot after 10 seconds." + "disclaimer2": "After a successful upgrade, the device will automatically reboot after 15 seconds." }, "settingsFile": "Settings file", diff --git a/src_data/locales/ru.json b/src_data/locales/ru.json index 53e782f..b5a7320 100644 --- a/src_data/locales/ru.json +++ b/src_data/locales/ru.json @@ -419,7 +419,7 @@ "note": { "disclaimer1": "После успешного обновления файловой системы ВСЕ настройки будут сброшены на стандартные! Создайте резервную копию ПЕРЕД обновлением.", - "disclaimer2": "После успешного обновления устройство автоматически перезагрузится через 10 секунд." + "disclaimer2": "После успешного обновления устройство автоматически перезагрузится через 15 секунд." }, "settingsFile": "Файл настроек",