refactor: restart action improved

This commit is contained in:
Yurii
2024-11-15 00:55:38 +03:00
parent 19feb85230
commit e6119dc7ee
3 changed files with 15 additions and 8 deletions

View File

@@ -32,7 +32,8 @@ protected:
unsigned long lastHeapInfo = 0; unsigned long lastHeapInfo = 0;
unsigned int minFreeHeap = 0; unsigned int minFreeHeap = 0;
unsigned int minMaxFreeBlockHeap = 0; unsigned int minMaxFreeBlockHeap = 0;
unsigned long restartSignalTime = 0; bool restartSignalReceived = false;
unsigned long restartSignalReceivedTime = 0;
bool heatingEnabled = false; bool heatingEnabled = false;
unsigned long heatingDisabledTime = 0; unsigned long heatingDisabledTime = 0;
PumpStartReason extPumpStartReason = PumpStartReason::NONE; PumpStartReason extPumpStartReason = PumpStartReason::NONE;
@@ -73,8 +74,14 @@ protected:
} }
if (vars.actions.restart) { if (vars.actions.restart) {
this->restartSignalTime = millis(); this->restartSignalReceivedTime = millis();
this->restartSignalReceived = true;
vars.actions.restart = false; 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; vars.states.restarting = true;
// save settings // save settings
@@ -88,7 +95,7 @@ protected:
fsNetworkSettings.write(); 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(); vars.mqtt.connected = tMqtt->isConnected();
@@ -160,8 +167,8 @@ protected:
// restart // restart
if (vars.states.restarting && millis() - this->restartSignalTime > 10000) { if (this->restartSignalReceived && millis() - this->restartSignalReceivedTime > 15000) {
vars.states.restarting = false; this->restartSignalReceived = false;
ESP.restart(); ESP.restart();
} }
@@ -173,7 +180,7 @@ protected:
// critical heap // critical heap
if (!vars.states.restarting && (freeHeap < 2048 || maxFreeBlockHeap < 2048)) { if (!vars.states.restarting && (freeHeap < 2048 || maxFreeBlockHeap < 2048)) {
this->restartSignalTime = millis(); this->restartSignalReceivedTime = millis();
vars.states.restarting = true; vars.states.restarting = true;
} }

View File

@@ -419,7 +419,7 @@
"note": { "note": {
"disclaimer1": "After a successful upgrade the filesystem, ALL settings will be reset to default values! Save backup before upgrading.", "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", "settingsFile": "Settings file",

View File

@@ -419,7 +419,7 @@
"note": { "note": {
"disclaimer1": "После успешного обновления файловой системы ВСЕ настройки будут сброшены на стандартные! Создайте резервную копию ПЕРЕД обновлением.", "disclaimer1": "После успешного обновления файловой системы ВСЕ настройки будут сброшены на стандартные! Создайте резервную копию ПЕРЕД обновлением.",
"disclaimer2": "После успешного обновления устройство автоматически перезагрузится через 10 секунд." "disclaimer2": "После успешного обновления устройство автоматически перезагрузится через 15 секунд."
}, },
"settingsFile": "Файл настроек", "settingsFile": "Файл настроек",