mirror of
https://github.com/Laxilef/OTGateway.git
synced 2025-12-10 18:24:27 +05:00
refactor: some changes
This commit is contained in:
@@ -73,8 +73,20 @@ protected:
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (vars.actions.restart) {
|
if (vars.actions.restart) {
|
||||||
vars.actions.restart = false;
|
|
||||||
this->restartSignalTime = millis();
|
this->restartSignalTime = millis();
|
||||||
|
vars.actions.restart = false;
|
||||||
|
vars.states.restarting = true;
|
||||||
|
|
||||||
|
// save settings
|
||||||
|
fsSettings.updateNow();
|
||||||
|
|
||||||
|
// save sensors settings
|
||||||
|
fsSensorsSettings.updateNow();
|
||||||
|
|
||||||
|
// force save network settings
|
||||||
|
if (fsNetworkSettings.updateNow() == FD_FILE_ERR && LittleFS.begin()) {
|
||||||
|
fsNetworkSettings.write();
|
||||||
|
}
|
||||||
|
|
||||||
Log.sinfoln(FPSTR(L_MAIN), F("Restart signal received. Restart after 10 sec."));
|
Log.sinfoln(FPSTR(L_MAIN), F("Restart signal received. Restart after 10 sec."));
|
||||||
}
|
}
|
||||||
@@ -148,20 +160,9 @@ protected:
|
|||||||
|
|
||||||
|
|
||||||
// restart
|
// restart
|
||||||
if (this->restartSignalTime > 0 && millis() - this->restartSignalTime > 10000) {
|
if (vars.states.restarting && millis() - this->restartSignalTime > 10000) {
|
||||||
// save settings
|
vars.states.restarting = false;
|
||||||
fsSettings.updateNow();
|
|
||||||
|
|
||||||
// save sensors settings
|
|
||||||
fsSensorsSettings.updateNow();
|
|
||||||
|
|
||||||
// force save network settings
|
|
||||||
if (fsNetworkSettings.updateNow() == FD_FILE_ERR && LittleFS.begin()) {
|
|
||||||
fsNetworkSettings.write();
|
|
||||||
}
|
|
||||||
|
|
||||||
this->restartSignalTime = 0;
|
|
||||||
this->delay(500);
|
|
||||||
ESP.restart();
|
ESP.restart();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -170,8 +171,10 @@ protected:
|
|||||||
unsigned int freeHeap = getFreeHeap();
|
unsigned int freeHeap = getFreeHeap();
|
||||||
unsigned int maxFreeBlockHeap = getMaxFreeBlockHeap();
|
unsigned int maxFreeBlockHeap = getMaxFreeBlockHeap();
|
||||||
|
|
||||||
if (!this->restartSignalTime && (freeHeap < 2048 || maxFreeBlockHeap < 2048)) {
|
// critical heap
|
||||||
|
if (!vars.states.restarting && (freeHeap < 2048 || maxFreeBlockHeap < 2048)) {
|
||||||
this->restartSignalTime = millis();
|
this->restartSignalTime = millis();
|
||||||
|
vars.states.restarting = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (settings.system.logLevel < TinyLogger::Level::VERBOSE) {
|
if (settings.system.logLevel < TinyLogger::Level::VERBOSE) {
|
||||||
|
|||||||
@@ -184,6 +184,10 @@ protected:
|
|||||||
}
|
}
|
||||||
|
|
||||||
void loop() {
|
void loop() {
|
||||||
|
if (vars.states.restarting || vars.states.upgrading) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
if (this->connected && !this->client->connected()) {
|
if (this->connected && !this->client->connected()) {
|
||||||
this->connected = false;
|
this->connected = false;
|
||||||
this->onDisconnect();
|
this->onDisconnect();
|
||||||
|
|||||||
@@ -106,6 +106,10 @@ protected:
|
|||||||
}
|
}
|
||||||
|
|
||||||
void loop() {
|
void loop() {
|
||||||
|
if (vars.states.restarting || vars.states.upgrading) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
if (this->instanceInGpio != settings.opentherm.inGpio || this->instanceOutGpio != settings.opentherm.outGpio) {
|
if (this->instanceInGpio != settings.opentherm.inGpio || this->instanceOutGpio != settings.opentherm.outGpio) {
|
||||||
this->setup();
|
this->setup();
|
||||||
|
|
||||||
|
|||||||
@@ -189,6 +189,11 @@ protected:
|
|||||||
|
|
||||||
return true;
|
return true;
|
||||||
})->setBeforeUpgradeCallback([](UpgradeHandler::UpgradeType type) -> bool {
|
})->setBeforeUpgradeCallback([](UpgradeHandler::UpgradeType type) -> bool {
|
||||||
|
if (vars.states.restarting) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
vars.states.upgrading = true;
|
||||||
return true;
|
return true;
|
||||||
})->setAfterUpgradeCallback([this](const UpgradeHandler::UpgradeResult& fwResult, const UpgradeHandler::UpgradeResult& fsResult) {
|
})->setAfterUpgradeCallback([this](const UpgradeHandler::UpgradeResult& fwResult, const UpgradeHandler::UpgradeResult& fsResult) {
|
||||||
unsigned short status = 200;
|
unsigned short status = 200;
|
||||||
@@ -209,6 +214,8 @@ protected:
|
|||||||
response.concat(fsResult.error);
|
response.concat(fsResult.error);
|
||||||
response.concat(F("\"}}"));
|
response.concat(F("\"}}"));
|
||||||
this->webServer->send(status, F("application/json"), response);
|
this->webServer->send(status, F("application/json"), response);
|
||||||
|
|
||||||
|
vars.states.upgrading = false;
|
||||||
});
|
});
|
||||||
this->webServer->addHandler(upgradeHandler);
|
this->webServer->addHandler(upgradeHandler);
|
||||||
|
|
||||||
@@ -247,6 +254,10 @@ protected:
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (vars.states.restarting) {
|
||||||
|
return this->webServer->send(503);
|
||||||
|
}
|
||||||
|
|
||||||
const String& plain = this->webServer->arg(0);
|
const String& plain = this->webServer->arg(0);
|
||||||
Log.straceln(FPSTR(L_PORTAL_WEBSERVER), F("Request /api/backup/restore %d bytes: %s"), plain.length(), plain.c_str());
|
Log.straceln(FPSTR(L_PORTAL_WEBSERVER), F("Request /api/backup/restore %d bytes: %s"), plain.length(), plain.c_str());
|
||||||
|
|
||||||
@@ -337,6 +348,10 @@ protected:
|
|||||||
return this->webServer->send(401);
|
return this->webServer->send(401);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (vars.states.restarting) {
|
||||||
|
return this->webServer->send(503);
|
||||||
|
}
|
||||||
|
|
||||||
const String& plain = this->webServer->arg(0);
|
const String& plain = this->webServer->arg(0);
|
||||||
Log.straceln(FPSTR(L_PORTAL_WEBSERVER), F("Request /api/network/settings %d bytes: %s"), plain.length(), plain.c_str());
|
Log.straceln(FPSTR(L_PORTAL_WEBSERVER), F("Request /api/network/settings %d bytes: %s"), plain.length(), plain.c_str());
|
||||||
@@ -452,6 +467,10 @@ protected:
|
|||||||
return this->webServer->send(401);
|
return this->webServer->send(401);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (vars.states.restarting) {
|
||||||
|
return this->webServer->send(503);
|
||||||
|
}
|
||||||
|
|
||||||
const String& plain = this->webServer->arg(0);
|
const String& plain = this->webServer->arg(0);
|
||||||
Log.straceln(FPSTR(L_PORTAL_WEBSERVER), F("Request /api/settings %d bytes: %s"), plain.length(), plain.c_str());
|
Log.straceln(FPSTR(L_PORTAL_WEBSERVER), F("Request /api/settings %d bytes: %s"), plain.length(), plain.c_str());
|
||||||
@@ -557,6 +576,10 @@ protected:
|
|||||||
return this->webServer->send(401);
|
return this->webServer->send(401);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (vars.states.restarting) {
|
||||||
|
return this->webServer->send(503);
|
||||||
|
}
|
||||||
|
|
||||||
#ifdef ARDUINO_ARCH_ESP8266
|
#ifdef ARDUINO_ARCH_ESP8266
|
||||||
if (!this->webServer->hasArg(F("id")) || this->webServer->args() != 1) {
|
if (!this->webServer->hasArg(F("id")) || this->webServer->args() != 1) {
|
||||||
|
|||||||
@@ -32,6 +32,10 @@ protected:
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
void loop() {
|
void loop() {
|
||||||
|
if (vars.states.restarting || vars.states.upgrading) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
this->indoorSensorsConnected = Sensors::existsConnectedSensorsByPurpose(Sensors::Purpose::INDOOR_TEMP);
|
this->indoorSensorsConnected = Sensors::existsConnectedSensorsByPurpose(Sensors::Purpose::INDOOR_TEMP);
|
||||||
//this->outdoorSensorsConnected = Sensors::existsConnectedSensorsByPurpose(Sensors::Purpose::OUTDOOR_TEMP);
|
//this->outdoorSensorsConnected = Sensors::existsConnectedSensorsByPurpose(Sensors::Purpose::OUTDOOR_TEMP);
|
||||||
|
|
||||||
|
|||||||
@@ -59,6 +59,10 @@ protected:
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
void loop() {
|
void loop() {
|
||||||
|
if (vars.states.restarting || vars.states.upgrading) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
if (isPollingDallasSensors()) {
|
if (isPollingDallasSensors()) {
|
||||||
pollingDallasSensors(false);
|
pollingDallasSensors(false);
|
||||||
this->yield();
|
this->yield();
|
||||||
|
|||||||
@@ -366,4 +366,9 @@ struct Variables {
|
|||||||
bool resetFault = false;
|
bool resetFault = false;
|
||||||
bool resetDiagnostic = false;
|
bool resetDiagnostic = false;
|
||||||
} actions;
|
} actions;
|
||||||
|
|
||||||
|
struct {
|
||||||
|
bool restarting = false;
|
||||||
|
bool upgrading = false;
|
||||||
|
} states;
|
||||||
} vars;
|
} vars;
|
||||||
Reference in New Issue
Block a user