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(); }