Move different restart calls into one method

This commit is contained in:
Thomas Basler 2023-08-25 12:58:53 +02:00
parent b88030f76e
commit 77a90095d9
6 changed files with 19 additions and 18 deletions

View File

@ -8,4 +8,5 @@ public:
static uint32_t getChipId(); static uint32_t getChipId();
static uint64_t generateDtuSerial(); static uint64_t generateDtuSerial();
static int getTimezoneOffset(); static int getTimezoneOffset();
static void restartDtu();
}; };

View File

@ -52,4 +52,12 @@ int Utils::getTimezoneOffset()
gmt = mktime(ptm); gmt = mktime(ptm);
return static_cast<int>(difftime(rawtime, gmt)); return static_cast<int>(difftime(rawtime, gmt));
} }
void Utils::restartDtu()
{
yield();
delay(1000);
yield();
ESP.restart();
}

View File

@ -4,6 +4,7 @@
*/ */
#include "WebApi_config.h" #include "WebApi_config.h"
#include "Configuration.h" #include "Configuration.h"
#include "Utils.h"
#include "WebApi.h" #include "WebApi.h"
#include "WebApi_errors.h" #include "WebApi_errors.h"
#include <AsyncJson.h> #include <AsyncJson.h>
@ -114,7 +115,7 @@ void WebApiConfigClass::onConfigDelete(AsyncWebServerRequest* request)
request->send(response); request->send(response);
LittleFS.remove(CONFIG_FILENAME); LittleFS.remove(CONFIG_FILENAME);
ESP.restart(); Utils::restartDtu();
} }
void WebApiConfigClass::onConfigListGet(AsyncWebServerRequest* request) void WebApiConfigClass::onConfigListGet(AsyncWebServerRequest* request)
@ -157,10 +158,7 @@ void WebApiConfigClass::onConfigUploadFinish(AsyncWebServerRequest* request)
response->addHeader("Connection", "close"); response->addHeader("Connection", "close");
response->addHeader("Access-Control-Allow-Origin", "*"); response->addHeader("Access-Control-Allow-Origin", "*");
request->send(response); request->send(response);
yield(); Utils::restartDtu();
delay(1000);
yield();
ESP.restart();
} }
void WebApiConfigClass::onConfigUpload(AsyncWebServerRequest* request, String filename, size_t index, uint8_t* data, size_t len, bool final) void WebApiConfigClass::onConfigUpload(AsyncWebServerRequest* request, String filename, size_t index, uint8_t* data, size_t len, bool final)

View File

@ -6,6 +6,7 @@
#include "Configuration.h" #include "Configuration.h"
#include "Display_Graphic.h" #include "Display_Graphic.h"
#include "PinMapping.h" #include "PinMapping.h"
#include "Utils.h"
#include "WebApi.h" #include "WebApi.h"
#include "WebApi_errors.h" #include "WebApi_errors.h"
#include "helper.h" #include "helper.h"
@ -169,9 +170,6 @@ void WebApiDeviceClass::onDeviceAdminPost(AsyncWebServerRequest* request)
request->send(response); request->send(response);
if (performRestart) { if (performRestart) {
yield(); Utils::restartDtu();
delay(1000);
yield();
ESP.restart();
} }
} }

View File

@ -5,6 +5,7 @@
#include "WebApi_firmware.h" #include "WebApi_firmware.h"
#include "Configuration.h" #include "Configuration.h"
#include "Update.h" #include "Update.h"
#include "Utils.h"
#include "WebApi.h" #include "WebApi.h"
#include "helper.h" #include "helper.h"
#include <AsyncJson.h> #include <AsyncJson.h>
@ -42,10 +43,7 @@ void WebApiFirmwareClass::onFirmwareUpdateFinish(AsyncWebServerRequest* request)
response->addHeader("Connection", "close"); response->addHeader("Connection", "close");
response->addHeader("Access-Control-Allow-Origin", "*"); response->addHeader("Access-Control-Allow-Origin", "*");
request->send(response); request->send(response);
yield(); Utils::restartDtu();
delay(1000);
yield();
ESP.restart();
} }
void WebApiFirmwareClass::onFirmwareUpdateUpload(AsyncWebServerRequest* request, String filename, size_t index, uint8_t* data, size_t len, bool final) void WebApiFirmwareClass::onFirmwareUpdateUpload(AsyncWebServerRequest* request, String filename, size_t index, uint8_t* data, size_t len, bool final)

View File

@ -4,6 +4,7 @@
*/ */
#include "WebApi_maintenance.h" #include "WebApi_maintenance.h"
#include "Utils.h"
#include "WebApi.h" #include "WebApi.h"
#include "WebApi_errors.h" #include "WebApi_errors.h"
#include <AsyncJson.h> #include <AsyncJson.h>
@ -75,10 +76,7 @@ void WebApiMaintenanceClass::onRebootPost(AsyncWebServerRequest* request)
response->setLength(); response->setLength();
request->send(response); request->send(response);
yield(); Utils::restartDtu();
delay(1000);
yield();
ESP.restart();
} else { } else {
retMsg["message"] = "Reboot cancled!"; retMsg["message"] = "Reboot cancled!";
retMsg["code"] = WebApiError::MaintenanceRebootCancled; retMsg["code"] = WebApiError::MaintenanceRebootCancled;