From be35992c8470aef46fe8797749bc7c9b815337fc Mon Sep 17 00:00:00 2001 From: Dmitry Borisenko <49808844+DmitryBorisenko33@users.noreply.github.com> Date: Tue, 28 Dec 2021 00:01:01 +0100 Subject: [PATCH] =?UTF-8?q?=D0=B4=D0=BE=D0=B1=D0=B0=D0=B2=D0=B8=D0=BB=20?= =?UTF-8?q?=D0=BD=D0=B0=D1=81=D0=BB=D0=B5=D0=B4=D0=BD=D0=B8=D0=BA=D0=B0=20?= =?UTF-8?q?=D0=B4=D0=BB=D1=8F=20=D0=BA=D0=BB=D0=B0=D1=81=D1=81=D0=B0=20?= =?UTF-8?q?=D0=BE=D1=82=D0=BF=D1=80=D0=B0=D0=B2=D0=BA=D0=B8=20=D0=B2=20?= =?UTF-8?q?=D1=81=D0=BE=D0=BA=D0=B5=D1=82=D1=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- include/StandWebServer.h | 2 +- include/main.h | 2 +- include/{Web.h => сlasses/sendJson.h} | 14 ++++++++------ include/сlasses/sendJsonWs.h | 12 ++++++++++++ src/StandWebServer.cpp | 2 +- src/Web.cpp | 26 -------------------------- src/main.cpp | 4 ++-- src/сlasses/sendJson.cpp | 21 +++++++++++++++++++++ src/сlasses/sendJsonWs.cpp | 8 ++++++++ 9 files changed, 54 insertions(+), 37 deletions(-) rename include/{Web.h => сlasses/sendJson.h} (55%) create mode 100644 include/сlasses/sendJsonWs.h delete mode 100644 src/Web.cpp create mode 100644 src/сlasses/sendJson.cpp create mode 100644 src/сlasses/sendJsonWs.cpp diff --git a/include/StandWebServer.h b/include/StandWebServer.h index 917a19ae..6d7907d7 100644 --- a/include/StandWebServer.h +++ b/include/StandWebServer.h @@ -1,6 +1,6 @@ #pragma once #include "Global.h" -#include "Web.h" +#include "сlasses/sendJson.h" #ifdef STANDARD_WEB_SERVER extern void standWebServerInit(); diff --git a/include/main.h b/include/main.h index dcadd716..01eeea58 100644 --- a/include/main.h +++ b/include/main.h @@ -5,4 +5,4 @@ #include "Utils/WiFiUtils.h" #include "AsyncWebServer.h" #include "StandWebServer.h" -#include "Web.h" +#include "сlasses/sendJson.h" diff --git a/include/Web.h b/include/сlasses/sendJson.h similarity index 55% rename from include/Web.h rename to include/сlasses/sendJson.h index d33a9786..8720977e 100644 --- a/include/Web.h +++ b/include/сlasses/sendJson.h @@ -1,21 +1,23 @@ #pragma once #include "Global.h" +#include "сlasses/sendJsonWs.h" -class StreamJsonArray; +class SendJson; -class StreamJsonArray { +class SendJson : SendJsonWs { public: - StreamJsonArray(); - ~StreamJsonArray(); + SendJson(); + ~SendJson(); void sendFile(String path, uint8_t num); void loop(); + uint8_t _num; + private: File file; String _path; - uint8_t _num; }; -extern StreamJsonArray* myStreamJsonArray; \ No newline at end of file +extern SendJson* mySendJson; diff --git a/include/сlasses/sendJsonWs.h b/include/сlasses/sendJsonWs.h new file mode 100644 index 00000000..d71123fd --- /dev/null +++ b/include/сlasses/sendJsonWs.h @@ -0,0 +1,12 @@ +#pragma once +#include "Global.h" + +class SendJsonWs; + +class SendJsonWs { + public: + SendJsonWs(); + ~SendJsonWs(); + + void send(String& jsonArrayElement, uint8_t& _num); +}; diff --git a/src/StandWebServer.cpp b/src/StandWebServer.cpp index 3f320756..36bb680e 100644 --- a/src/StandWebServer.cpp +++ b/src/StandWebServer.cpp @@ -211,7 +211,7 @@ void webSocketEvent(uint8_t num, WStype_t type, uint8_t* payload, size_t length) } if (payloadStr.startsWith("/config")) { - if (myStreamJsonArray) myStreamJsonArray->sendFile("/config.json", num); + if (mySendJson) mySendJson->sendFile("/config.json", num); } if (payloadStr.startsWith("/changed")) { diff --git a/src/Web.cpp b/src/Web.cpp deleted file mode 100644 index a5ab5f3e..00000000 --- a/src/Web.cpp +++ /dev/null @@ -1,26 +0,0 @@ -#include "Web.h" - -StreamJsonArray::StreamJsonArray() {} - -StreamJsonArray::~StreamJsonArray() {} - -void StreamJsonArray::sendFile(String path, uint8_t num) { - _path = path; - _num = num; - file = seekFile(path); - // file.find("["); -} - -void StreamJsonArray::loop() { - // if (ws.availableForWriteAll()) { - if (file.available()) { - String jsonArrayElement = _path + file.readStringUntil('}') + "}"; - //jsonArrayElement.replace("]}", "]"); - // Serial.println(jsonArrayElement); - standWebSocket.sendTXT(_num, jsonArrayElement); - // ws.textAll(jsonArrayElement); - } - //} -} - -StreamJsonArray* myStreamJsonArray; \ No newline at end of file diff --git a/src/main.cpp b/src/main.cpp index 4db51cad..da945782 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -32,7 +32,7 @@ void setup() { #endif //создаем объект класса выгружающего json массив из файла - myStreamJsonArray = new StreamJsonArray; + mySendJson = new SendJson; //выводим остаток оперативной памяти после старта // 22.12.21 пустой код без wifi остаток = 50.28 kB @@ -52,7 +52,7 @@ void loop() { //обновление задач таскера ts.update(); - if (myStreamJsonArray) myStreamJsonArray->loop(); + if (mySendJson) mySendJson->loop(); #ifdef STANDARD_WEB_SERVER HTTP.handleClient(); diff --git a/src/сlasses/sendJson.cpp b/src/сlasses/sendJson.cpp new file mode 100644 index 00000000..90978f75 --- /dev/null +++ b/src/сlasses/sendJson.cpp @@ -0,0 +1,21 @@ +#include "сlasses/sendJson.h" + +//базовый класс + +SendJson::SendJson() {} +SendJson::~SendJson() {} + +void SendJson::sendFile(String path, uint8_t num) { + _path = path; + _num = num; + file = seekFile(path); +} + +void SendJson::loop() { + if (file.available()) { + String jsonArrayElement = _path + file.readStringUntil('}') + "}"; + send(jsonArrayElement, _num); + } +} + +SendJson* mySendJson; diff --git a/src/сlasses/sendJsonWs.cpp b/src/сlasses/sendJsonWs.cpp new file mode 100644 index 00000000..2074d500 --- /dev/null +++ b/src/сlasses/sendJsonWs.cpp @@ -0,0 +1,8 @@ +#include "сlasses/sendJsonWs.h" + +SendJsonWs::SendJsonWs() {} +SendJsonWs::~SendJsonWs() {} + +void SendJsonWs::send(String& jsonArrayElement, uint8_t& _num) { + standWebSocket.sendTXT(_num, jsonArrayElement); +}