From cafac8b76e97cb74370acba2cb0b6e363b6e11d5 Mon Sep 17 00:00:00 2001 From: biver Date: Mon, 14 Feb 2022 22:20:35 +0300 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D1=8F?= =?UTF-8?q?=D0=B5=D0=BC=20=D1=80=D0=B5=D0=BB=D0=BE=D0=B0=D0=B4=20=D0=BA?= =?UTF-8?q?=D0=BE=D0=BD=D1=84=D0=B8=D0=B3=D1=83=D1=80=D0=B0=D1=86=D0=B8?= =?UTF-8?q?=D0=B8=20=D0=BF=D1=80=D0=B8=20=D0=BD=D0=B0=D0=B6=D0=B0=D1=82?= =?UTF-8?q?=D0=B8=D0=B8=20=D1=81=D0=BE=D0=BE=D1=82=D0=B2=D0=B5=D1=82=D1=81?= =?UTF-8?q?=D0=B2=D1=83=D1=8E=D1=89=D0=B5=D0=B9=20=D0=BA=D0=BD=D0=BE=D0=BF?= =?UTF-8?q?=D0=BA=D0=B8=20=D0=B2=20=D0=B8=D0=BD=D1=82=D0=B5=D1=80=D1=84?= =?UTF-8?q?=D0=B5=D0=B9=D1=81=D0=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- include/ESPConfiguration.h | 1 + include/WsServer.h | 1 + src/ESPConfiguration.cpp | 8 ++++++++ src/WsServer.cpp | 2 ++ 4 files changed, 12 insertions(+) diff --git a/include/ESPConfiguration.h b/include/ESPConfiguration.h index d2196696..7f22d53c 100644 --- a/include/ESPConfiguration.h +++ b/include/ESPConfiguration.h @@ -5,4 +5,5 @@ extern std::vector IoTItems; // вектор ссылок базового класса IoTItem - список всех запущенных сенсоров extern void configure(String path); +void clearConfigure(); extern IoTItem* myIoTItem; diff --git a/include/WsServer.h b/include/WsServer.h index ed4788fe..f31c041d 100644 --- a/include/WsServer.h +++ b/include/WsServer.h @@ -2,6 +2,7 @@ #include "Global.h" #include "Utils/WiFiUtils.h" #include "DeviceList.h" +#include "ESPConfiguration.h" #ifdef STANDARD_WEB_SOCKETS extern void standWebSocketsInit(); diff --git a/src/ESPConfiguration.cpp b/src/ESPConfiguration.cpp index 6fe402e4..436f8a82 100644 --- a/src/ESPConfiguration.cpp +++ b/src/ESPConfiguration.cpp @@ -29,4 +29,12 @@ void configure(String path) { } } file.close(); +} + +void clearConfigure() { + Serial.printf("Start clearing config\n"); + for (unsigned int i = 0; i < IoTItems.size(); i++) { + if (IoTItems[i]) delete IoTItems[i]; + } + IoTItems.clear(); } \ No newline at end of file diff --git a/src/WsServer.cpp b/src/WsServer.cpp index 1038e690..a619ea34 100644 --- a/src/WsServer.cpp +++ b/src/WsServer.cpp @@ -71,6 +71,8 @@ void webSocketEvent(uint8_t num, WStype_t type, uint8_t* payload, size_t length) //**сохранение**// if (headerStr == "/gifnoc|") { writeFileUint8tByFrames("config.json", payload, length, headerLenth, 256); + clearConfigure(); + configure("/config.json"); } // page connection=================================================================== //**отправка**//