From 77a90095d9683ff5fc2f89f3355963f23940d881 Mon Sep 17 00:00:00 2001 From: Thomas Basler Date: Fri, 25 Aug 2023 12:58:53 +0200 Subject: [PATCH] Move different restart calls into one method --- include/Utils.h | 1 + src/Utils.cpp | 10 +++++++++- src/WebApi_config.cpp | 8 +++----- src/WebApi_device.cpp | 6 ++---- src/WebApi_firmware.cpp | 6 ++---- src/WebApi_maintenance.cpp | 6 ++---- 6 files changed, 19 insertions(+), 18 deletions(-) diff --git a/include/Utils.h b/include/Utils.h index 33887ff..6de962b 100644 --- a/include/Utils.h +++ b/include/Utils.h @@ -8,4 +8,5 @@ public: static uint32_t getChipId(); static uint64_t generateDtuSerial(); static int getTimezoneOffset(); + static void restartDtu(); }; diff --git a/src/Utils.cpp b/src/Utils.cpp index db8363a..997519d 100644 --- a/src/Utils.cpp +++ b/src/Utils.cpp @@ -52,4 +52,12 @@ int Utils::getTimezoneOffset() gmt = mktime(ptm); return static_cast(difftime(rawtime, gmt)); -} \ No newline at end of file +} + +void Utils::restartDtu() +{ + yield(); + delay(1000); + yield(); + ESP.restart(); +} diff --git a/src/WebApi_config.cpp b/src/WebApi_config.cpp index d936be5..08b86d6 100644 --- a/src/WebApi_config.cpp +++ b/src/WebApi_config.cpp @@ -4,6 +4,7 @@ */ #include "WebApi_config.h" #include "Configuration.h" +#include "Utils.h" #include "WebApi.h" #include "WebApi_errors.h" #include @@ -114,7 +115,7 @@ void WebApiConfigClass::onConfigDelete(AsyncWebServerRequest* request) request->send(response); LittleFS.remove(CONFIG_FILENAME); - ESP.restart(); + Utils::restartDtu(); } void WebApiConfigClass::onConfigListGet(AsyncWebServerRequest* request) @@ -157,10 +158,7 @@ void WebApiConfigClass::onConfigUploadFinish(AsyncWebServerRequest* request) response->addHeader("Connection", "close"); response->addHeader("Access-Control-Allow-Origin", "*"); request->send(response); - yield(); - delay(1000); - yield(); - ESP.restart(); + Utils::restartDtu(); } void WebApiConfigClass::onConfigUpload(AsyncWebServerRequest* request, String filename, size_t index, uint8_t* data, size_t len, bool final) diff --git a/src/WebApi_device.cpp b/src/WebApi_device.cpp index 26331ee..507a7e1 100644 --- a/src/WebApi_device.cpp +++ b/src/WebApi_device.cpp @@ -6,6 +6,7 @@ #include "Configuration.h" #include "Display_Graphic.h" #include "PinMapping.h" +#include "Utils.h" #include "WebApi.h" #include "WebApi_errors.h" #include "helper.h" @@ -169,9 +170,6 @@ void WebApiDeviceClass::onDeviceAdminPost(AsyncWebServerRequest* request) request->send(response); if (performRestart) { - yield(); - delay(1000); - yield(); - ESP.restart(); + Utils::restartDtu(); } } \ No newline at end of file diff --git a/src/WebApi_firmware.cpp b/src/WebApi_firmware.cpp index 798264a..62cf561 100644 --- a/src/WebApi_firmware.cpp +++ b/src/WebApi_firmware.cpp @@ -5,6 +5,7 @@ #include "WebApi_firmware.h" #include "Configuration.h" #include "Update.h" +#include "Utils.h" #include "WebApi.h" #include "helper.h" #include @@ -42,10 +43,7 @@ void WebApiFirmwareClass::onFirmwareUpdateFinish(AsyncWebServerRequest* request) response->addHeader("Connection", "close"); response->addHeader("Access-Control-Allow-Origin", "*"); request->send(response); - yield(); - delay(1000); - yield(); - ESP.restart(); + Utils::restartDtu(); } void WebApiFirmwareClass::onFirmwareUpdateUpload(AsyncWebServerRequest* request, String filename, size_t index, uint8_t* data, size_t len, bool final) diff --git a/src/WebApi_maintenance.cpp b/src/WebApi_maintenance.cpp index b59ed34..ed2d686 100644 --- a/src/WebApi_maintenance.cpp +++ b/src/WebApi_maintenance.cpp @@ -4,6 +4,7 @@ */ #include "WebApi_maintenance.h" +#include "Utils.h" #include "WebApi.h" #include "WebApi_errors.h" #include @@ -75,10 +76,7 @@ void WebApiMaintenanceClass::onRebootPost(AsyncWebServerRequest* request) response->setLength(); request->send(response); - yield(); - delay(1000); - yield(); - ESP.restart(); + Utils::restartDtu(); } else { retMsg["message"] = "Reboot cancled!"; retMsg["code"] = WebApiError::MaintenanceRebootCancled;