From 01690b1b3ec1d90ab5567f20adc09a27932bc176 Mon Sep 17 00:00:00 2001 From: Dmitry Borisenko <67171972+IoTManagerProject@users.noreply.github.com> Date: Sat, 29 Jan 2022 00:23:53 +0100 Subject: [PATCH] =?UTF-8?q?=D1=83=D0=BB=D1=83=D1=87=D1=88=D0=B5=D0=BD?= =?UTF-8?q?=D0=B8=D1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- data_svelte/config.json | 20 -------------------- include/utils/FileUtils.h | 2 +- src/StandWebServer.cpp | 2 +- src/utils/FileUtils.cpp | 9 +++++---- 4 files changed, 7 insertions(+), 26 deletions(-) diff --git a/data_svelte/config.json b/data_svelte/config.json index 317f1cb6..7ced6dcf 100644 --- a/data_svelte/config.json +++ b/data_svelte/config.json @@ -1,24 +1,4 @@ [ - { - "type": "Reading", - "subtype": "AnalogAdc", - "id": "t1", - "widget": "anydataDef", - "page": "Сенсоры", - "descr": "Температура", - "pin": 0, - "int": 10 - }, - { - "type": "Reading", - "subtype": "AnalogAdc", - "id": "t2", - "widget": "anydataTmp", - "page": "Сенсоры", - "descr": "Температура", - "pin": 0, - "int": 15 - }, { "type": "Variable", "subtype": "ButtonOut", diff --git a/include/utils/FileUtils.h b/include/utils/FileUtils.h index a2c82ad4..78185e66 100644 --- a/include/utils/FileUtils.h +++ b/include/utils/FileUtils.h @@ -2,7 +2,7 @@ #include "EspFileSystem.h" #include "Global.h" -extern void writeFileUint8tFromBuf(const String& filename, uint8_t*& payload, size_t length, size_t headerLenth, size_t bufSize); +extern void writeFileUint8tByFrames(const String& filename, uint8_t*& big_buf, size_t length, size_t headerLenth, size_t frameSize); extern void writeFileUint8tByByte(const String& filename, uint8_t*& payload, size_t length, size_t headerLenth); extern File seekFile(const String& filename, size_t position = 0); extern const String writeFile(const String& filename, const String& str); diff --git a/src/StandWebServer.cpp b/src/StandWebServer.cpp index a2c834ca..1938f6fd 100644 --- a/src/StandWebServer.cpp +++ b/src/StandWebServer.cpp @@ -226,7 +226,7 @@ void webSocketEvent(uint8_t num, WStype_t type, uint8_t* payload, size_t length) } if (headerStr == "/gifnoc") { - writeFileUint8tFromBuf("config.json", payload, length, headerLenth, 256); + writeFileUint8tByFrames("config.json", payload, length, headerLenth, 256); } } break; diff --git a/src/utils/FileUtils.cpp b/src/utils/FileUtils.cpp index 8df2a97b..055f8f41 100644 --- a/src/utils/FileUtils.cpp +++ b/src/utils/FileUtils.cpp @@ -1,23 +1,24 @@ #include "Utils/FileUtils.h" -//данная функция записывает файл из длинного массива uint8_t через буфер -void writeFileUint8tFromBuf(const String& filename, uint8_t*& big_buf, size_t length, size_t headerLenth, size_t bufSize) { +//данная функция записывает файл из буфера страницами указанного размера +void writeFileUint8tByFrames(const String& filename, uint8_t*& big_buf, size_t length, size_t headerLenth, size_t frameSize) { String path = filepath(filename); auto file = FileFS.open(path, "w"); if (!file) { - Serial.println(F("failed write file uint8tFromBuf")); + Serial.println(F("failed write file uint8tByFrames")); return; } size_t written{headerLenth}; while (length > written) { size_t size = length - written; - if (size > bufSize) size = bufSize; + if (size > frameSize) size = frameSize; uint8_t* p = &big_buf[written]; size_t res = file.write(p, size); if (size != res) { break; } written += res; + yield(); } file.close(); }