From 2fee5c27d8aee951cae7824726dd8cefe7cbc7df Mon Sep 17 00:00:00 2001 From: fvanroie Date: Mon, 9 Mar 2020 22:58:58 +0100 Subject: [PATCH] Increase buffer size --- lib/lv_lib_zifont/lv_zifont.cpp | 4 +-- src/hasp.cpp | 26 ++++++++-------- src/hasp_config.cpp | 12 ++++---- src/hasp_gui.cpp | 32 +++++++++---------- src/hasp_hal.cpp | 4 +-- src/hasp_http.cpp | 54 ++++++++++++++++----------------- src/hasp_log.cpp | 8 ++--- src/hasp_mdns.cpp | 2 +- src/hasp_mqtt.cpp | 51 ++++++++++++++++++------------- src/hasp_spiffs.cpp | 6 ++-- src/hasp_tft.cpp | 6 ++-- src/hasp_wifi.cpp | 10 +++--- 12 files changed, 112 insertions(+), 103 deletions(-) diff --git a/lib/lv_lib_zifont/lv_zifont.cpp b/lib/lv_lib_zifont/lv_zifont.cpp index 227cfefb..2056407f 100644 --- a/lib/lv_lib_zifont/lv_zifont.cpp +++ b/lib/lv_lib_zifont/lv_zifont.cpp @@ -242,7 +242,7 @@ int lv_zifont_font_init(lv_font_t ** font, const char * font_path, uint16_t size * @param unicode_letter an unicode letter which bitmap should be get * @return pointer to the bitmap or NULL if not found */ -const uint8_t * IRAM_ATTR lv_font_get_bitmap_fmt_zifont(const lv_font_t * font, uint32_t unicode_letter) +const uint8_t * lv_font_get_bitmap_fmt_zifont(const lv_font_t * font, uint32_t unicode_letter) { /* Bitmap still in buffer */ if(charInBuffer == unicode_letter && charBitmap_p) { @@ -263,7 +263,7 @@ const uint8_t * IRAM_ATTR lv_font_get_bitmap_fmt_zifont(const lv_font_t * font, } File file; - char filename[127]; + char filename[128]; uint32_t glyphID; uint16_t charmap_position; diff --git a/src/hasp.cpp b/src/hasp.cpp index 9344a586..c479e21d 100644 --- a/src/hasp.cpp +++ b/src/hasp.cpp @@ -203,7 +203,7 @@ void haspSendNewEvent(lv_obj_t * obj, char * val) uint8_t objid; if(FindIdFromObj(obj, &pageid, &objid)) { - // char buffer[127]; + // char buffer[128]; // sprintf_P(buffer, PSTR("HASP: Send p[%u].b[%u].event=%d"), pageid, objid, val); // debugPrintln(buffer); @@ -219,7 +219,7 @@ void haspSendNewValue(lv_obj_t * obj, int32_t val) uint8_t objid; if(FindIdFromObj(obj, &pageid, &objid)) { - // char buffer[127]; + // char buffer[128]; // sprintf_P(buffer, PSTR("HASP: Send p[%u].b[%u].val=%d"), pageid, objid, val); // debugPrintln(buffer); @@ -235,7 +235,7 @@ void haspSendNewValue(lv_obj_t * obj, String txt) uint8_t objid; if(FindIdFromObj(obj, &pageid, &objid)) { - // char buffer[127]; + // char buffer[128]; // sprintf_P(buffer, PSTR("HASP: Send p[%u].b[%u].txt='%s'"), pageid, objid, txt.c_str()); // debugPrintln(buffer); @@ -251,7 +251,7 @@ void haspSendNewValue(lv_obj_t * obj, const char * txt) uint8_t objid; if(FindIdFromObj(obj, &pageid, &objid)) { - // char buffer[127]; + // char buffer[128]; // sprintf_P(buffer, PSTR("HASP: Send p[%u].b[%u].txt='%s'"), pageid, objid, txt); // debugPrintln(buffer); @@ -418,13 +418,13 @@ bool haspGetObjAttribute(lv_obj_t * obj, String strAttr, std::string & strPayloa return true; } if(check_obj_type(list.type[0], LV_HASP_DDLIST)) { - char buffer[127]; + char buffer[128]; lv_ddlist_get_selected_str(obj, buffer, sizeof(buffer)); strPayload = String(buffer).c_str(); return true; } if(check_obj_type(list.type[0], LV_HASP_ROLLER)) { - char buffer[127]; + char buffer[128]; lv_roller_get_selected_str(obj, buffer, sizeof(buffer)); strPayload = String(buffer).c_str(); return true; @@ -740,7 +740,7 @@ void haspDisplayAP(const char * ssid, const char * pass) String txt((char *)0); txt.reserve(64); - char buffer[127]; + char buffer[128]; snprintf_P(buffer, sizeof(buffer), PSTR("WIFI:S:%s;T:WPA;P:%s;;"), ssid, pass); /*Clear all screens*/ @@ -1201,7 +1201,7 @@ static void btn_event_handler(lv_obj_t * obj, lv_event_t event) uint8_t pageid = 0; lv_obj_user_data_t objid; - char buffer[127]; + char buffer[128]; sprintf(buffer, PSTR("HASP: ")); if(obj != lv_disp_get_layer_sys(NULL)) { @@ -1319,7 +1319,7 @@ static void ddlist_event_handler(lv_obj_t * obj, lv_event_t event) { if(event == LV_EVENT_VALUE_CHANGED) { haspSendNewValue(obj, lv_ddlist_get_selected(obj)); - char buffer[127]; + char buffer[128]; lv_ddlist_get_selected_str(obj, buffer, sizeof(buffer)); haspSendNewValue(obj, String(buffer)); } @@ -1329,7 +1329,7 @@ static void roller_event_handler(lv_obj_t * obj, lv_event_t event) { if(event == LV_EVENT_VALUE_CHANGED) { haspSendNewValue(obj, lv_roller_get_selected(obj)); - char buffer[127]; + char buffer[128]; lv_roller_get_selected_str(obj, buffer, sizeof(buffer)); haspSendNewValue(obj, String(buffer)); } @@ -1346,7 +1346,7 @@ String haspGetNodename() String haspGetVersion() { - char buffer[127]; + char buffer[128]; snprintf_P(buffer, sizeof(buffer), "%u.%u.%u", HASP_VERSION_MAJOR, HASP_VERSION_MINOR, HASP_VERSION_REVISION); return buffer; } @@ -1615,7 +1615,7 @@ void haspNewObject(const JsonObject & config) } /** testing end **/ - char msg[127]; + char msg[128]; lv_obj_type_t list; lv_obj_get_type(obj, &list); sprintf_P(msg, PSTR("HASP: * p[%u].b[%u] = %s"), pageid, temp, list.type[0]); @@ -1632,7 +1632,7 @@ void haspNewObject(const JsonObject & config) void haspLoadPage(String pages) { - char msg[127]; + char msg[128]; if(!SPIFFS.begin()) { errorPrintln(String(F("HASP: %sFS not mounted. Failed to load ")) + pages.c_str()); diff --git a/src/hasp_config.cpp b/src/hasp_config.cpp index 4b7cd1ce..7d283ce8 100644 --- a/src/hasp_config.cpp +++ b/src/hasp_config.cpp @@ -22,7 +22,7 @@ void confDebugSet(const char * name) { - char buffer[127]; + char buffer[128]; snprintf(buffer, sizeof(buffer), PSTR("CONF: * %s set"), name); debugPrintln(buffer); } @@ -89,7 +89,7 @@ void configStartDebug(bool setupdebug, String & configFile) void configGetConfig(JsonDocument & settings, bool setupdebug = false) { String configFile((char *)0); - configFile.reserve(127); + configFile.reserve(128); configFile = String(FPSTR(HASP_CONFIG_FILE)); File file = SPIFFS.open(configFile, "r"); @@ -130,7 +130,7 @@ void configGetConfig(JsonDocument & settings, bool setupdebug = false) void configWriteConfig() { String configFile((char *)0); - configFile.reserve(127); + configFile.reserve(128); configFile = String(FPSTR(HASP_CONFIG_FILE)); /* Read Config File */ @@ -198,15 +198,15 @@ void configSetup(JsonDocument & settings) void configOutput(const JsonObject & settings) { String output((char *)0); - output.reserve(127); + output.reserve(128); serializeJson(settings, output); String passmask((char *)0); - passmask.reserve(127); + passmask.reserve(128); passmask = F("\"pass\":\"********\""); String password((char *)0); - password.reserve(127); + password.reserve(128); password = F("\"pass\":\""); password += settings[F("pass")].as(); password += F("\""); diff --git a/src/hasp_gui.cpp b/src/hasp_gui.cpp index 89c7fb4d..a2869141 100644 --- a/src/hasp_gui.cpp +++ b/src/hasp_gui.cpp @@ -64,36 +64,36 @@ static Ticker tick; /* timer for interrupt handler */ static TFT_eSPI tft; // = TFT_eSPI(); /* TFT instance */ static uint16_t calData[5] = {0, 65535, 0, 65535, 0}; -bool IRAM_ATTR guiCheckSleep() +bool guiCheckSleep() { - if(lv_disp_get_inactive_time(NULL) >= (guiSleepTime1 + guiSleepTime2) * 1000) { + uint32_t idle = lv_disp_get_inactive_time(NULL); + if(idle >= (guiSleepTime1 + guiSleepTime2) * 1000) { if(guiSleeping != 2) { dispatchIdle(F("LONG")); guiSleeping = 2; } return true; - } else if(lv_disp_get_inactive_time(NULL) >= guiSleepTime1 * 1000) { + } else if(idle >= guiSleepTime1 * 1000) { if(guiSleeping != 1) { dispatchIdle(F("SHORT")); guiSleeping = 1; } return true; - } else { - if(guiSleeping != 0) { - dispatchIdle(F("OFF")); - guiSleeping = 0; - } - return false; } + if(guiSleeping != 0) { + dispatchIdle(F("OFF")); + guiSleeping = 0; + } + return false; } #if LV_USE_LOG != 0 /* Serial debugging */ void debugLvgl(lv_log_level_t level, const char * file, uint32_t line, const char * dsc) { - char msg[127]; - snprintf(msg, sizeof(msg), PSTR("LVGL: %s@%d->%s"), file, line, dsc); - debugPrintln(msg); + char buffer[128]; + snprintf(buffer, sizeof(buffer), PSTR("LVGL: %s@%d->%s"), file, line, dsc); + debugPrintln(buffer); } #endif @@ -283,7 +283,7 @@ void guiSetup(TFT_eSPI & screen, JsonObject settings) #if defined(ARDUINO_ARCH_ESP32) /* allocate on iram (or psram ?) */ - buffer_size = 16 * 1024u; // 32 KBytes + buffer_size = 16 * 1024u; // 32 KBytes *2 static lv_color_t * guiVdbBuffer1 = (lv_color_t *)malloc(sizeof(lv_color_t) * buffer_size); static lv_color_t * guiVdbBuffer2 = (lv_color_t *)malloc(sizeof(lv_color_t) * buffer_size); static lv_disp_buf_t disp_buf; @@ -297,7 +297,7 @@ void guiSetup(TFT_eSPI & screen, JsonObject settings) lv_disp_buf_init(&disp_buf, guiVdbBuffer1, NULL, buffer_size); #endif - char buffer[127]; + char buffer[128]; snprintf_P(buffer, sizeof(buffer), PSTR("LVGL: Rotation : %d"), guiRotation); debugPrintln(buffer); @@ -524,7 +524,7 @@ bool guiSetConfig(const JsonObject & settings) void guiSendBmpHeader() { - uint8_t buffer[127]; + uint8_t buffer[128]; memset(buffer, 0, sizeof(buffer)); lv_disp_t * disp = lv_disp_get_default(); @@ -620,7 +620,7 @@ void guiSendBmpHeader() void guiTakeScreenshot(const char * pFileName) { pFileOut = SPIFFS.open(pFileName, "w"); - char buffer[127]; + char buffer[128]; if(pFileOut == NULL) { snprintf_P(buffer, sizeof(buffer), PSTR("[Display] error: %s cannot be opened"), pFileName); diff --git a/src/hasp_hal.cpp b/src/hasp_hal.cpp index 3879af07..51725aa6 100644 --- a/src/hasp_hal.cpp +++ b/src/hasp_hal.cpp @@ -13,7 +13,7 @@ String esp32ResetReason(uint8_t cpuid) RESET_REASON reason = rtc_get_reset_reason(cpuid); String resetReason((char *)0); - resetReason.reserve(127); + resetReason.reserve(128); resetReason += F("CPU"); resetReason += cpuid; @@ -78,7 +78,7 @@ String halGetResetInfo() { #if defined(ARDUINO_ARCH_ESP32) String resetReason((char *)0); - resetReason.reserve(127); + resetReason.reserve(128); resetReason += String(esp32ResetReason(0)); resetReason += F(" / "); diff --git a/src/hasp_http.cpp b/src/hasp_http.cpp index a22fd110..3cc41499 100644 --- a/src/hasp_http.cpp +++ b/src/hasp_http.cpp @@ -102,7 +102,7 @@ bool httpIsAuthenticated(const String & page) } } - char buffer[127]; + char buffer[128]; snprintf(buffer, sizeof(buffer), PSTR("HTTP: Sending %s page to client connected from: %s"), page.c_str(), webServer.client().remoteIP().toString().c_str()); debugPrintln(buffer); @@ -111,21 +111,21 @@ bool httpIsAuthenticated(const String & page) String getOption(int value, String label, bool selected) { - char buffer[127]; + char buffer[128]; snprintf_P(buffer, sizeof(buffer), PSTR(""), value, (selected ? PSTR(" selected") : ""), label.c_str()); return buffer; } String getOption(String value, String label, bool selected) { - char buffer[127]; + char buffer[128]; snprintf_P(buffer, sizeof(buffer), PSTR(""), value.c_str(), (selected ? PSTR(" selected") : ""), label.c_str()); return buffer; } void webSendFooter() { - char buffer[127]; + char buffer[128]; snprintf_P(buffer, sizeof(buffer), PSTR("%u.%u.%u"), HASP_VERSION_MAJOR, HASP_VERSION_MINOR, HASP_VERSION_REVISION); webServer.sendContent_P(HTTP_END); @@ -135,7 +135,7 @@ void webSendFooter() void webSendPage(String & nodename, uint32_t httpdatalength, bool gohome = false) { - char buffer[127]; + char buffer[128]; snprintf_P(buffer, sizeof(buffer), PSTR("%u.%u.%u"), HASP_VERSION_MAJOR, HASP_VERSION_MINOR, HASP_VERSION_REVISION); @@ -170,7 +170,7 @@ void webHandleRoot() { if(!httpIsAuthenticated(F("root"))) return; - // char buffer[127]; + // char buffer[128]; String nodename = haspGetNodename(); String httpMessage((char *)0); httpMessage.reserve(1500); @@ -294,7 +294,7 @@ void webHandleInfo() { // http://plate01/ if(!httpIsAuthenticated(F("info"))) return; - // char buffer[127]; + // char buffer[128]; String nodename = haspGetNodename(); String httpMessage((char *)0); httpMessage.reserve(1500); @@ -423,7 +423,7 @@ String getContentType(String filename) encodedString += ' '; } else if(c == '%') { // char buffer[3]; - char buffer[127]; + char buffer[128]; i++; buffer[0] = str.charAt(i); i++; @@ -475,7 +475,7 @@ void handleFileUpload() if(upload->status == UPLOAD_FILE_START) { if(!httpIsAuthenticated(F("fileupload"))) return; String filename((char *)0); - filename.reserve(127); + filename.reserve(128); filename = upload->filename; if(!filename.startsWith("/")) { filename = "/"; @@ -493,13 +493,13 @@ void handleFileUpload() // DBG_OUTPUT_PORT.print("handleFileUpload Data: "); debugPrintln(upload.currentSize); if(fsUploadFile) { fsUploadFile.write(upload->buf, upload->currentSize); - char buffer[127]; + char buffer[128]; sprintf_P(buffer, PSTR(" * Uploaded %u bytes"), upload->totalSize + upload->currentSize); debugPrintln(buffer); } } else if(upload->status == UPLOAD_FILE_END) { if(fsUploadFile) { - char buffer[127]; + char buffer[128]; sprintf_P(buffer, PSTR("Uploaded %s (%u bytes)"), fsUploadFile.name(), upload->totalSize); debugPrintln(buffer); fsUploadFile.close(); @@ -516,7 +516,7 @@ void handleFileDelete() { if(!httpIsAuthenticated(F("filedelete"))) return; - char mimetype[127]; + char mimetype[128]; sprintf(mimetype, PSTR("text/plain")); if(webServer.args() == 0) { @@ -662,7 +662,7 @@ void webHandleConfig() httpHandleReboot(); } - // char buffer[127]; + // char buffer[128]; String nodename = haspGetNodename(); String httpMessage((char *)0); httpMessage.reserve(1500); @@ -709,16 +709,15 @@ void webHandleMqttConfig() DynamicJsonDocument settings(256); mqttGetConfig(settings.to()); - // char buffer[127]; - String nodename = haspGetNodename(); + // char buffer[128]; String httpMessage((char *)0); httpMessage.reserve(1500); httpMessage += String(F("
")); httpMessage += F("HASP Node Name (required. lowercase letters, numbers, and _ only)" - "

Group Name (required)

"); + String nodename = haspGetNodename(); webSendPage(nodename, httpMessage.length(), false); webServer.sendContent(httpMessage); httpMessage.clear(); @@ -754,7 +754,7 @@ void webHandleGuiConfig() DynamicJsonDocument settings(256); guiGetConfig(settings.to()); - // char buffer[127]; + // char buffer[128]; String nodename = haspGetNodename(); String httpMessage((char *)0); httpMessage.reserve(1500); @@ -824,7 +824,7 @@ void webHandleWifiConfig() DynamicJsonDocument settings(256); wifiGetConfig(settings.to()); - // char buffer[127]; + // char buffer[128]; String nodename = haspGetNodename(); String httpMessage((char *)0); httpMessage.reserve(1500); @@ -861,7 +861,7 @@ void webHandleHttpConfig() DynamicJsonDocument settings(256); httpGetConfig(settings.to()); - // char buffer[127]; + // char buffer[128]; String nodename = haspGetNodename(); String httpMessage((char *)0); httpMessage.reserve(1500); @@ -895,7 +895,7 @@ void webHandleDebugConfig() DynamicJsonDocument settings(256); debugGetConfig(settings.to()); - // char buffer[127]; + // char buffer[128]; String nodename = haspGetNodename(); String httpMessage((char *)0); httpMessage.reserve(1500); @@ -924,7 +924,7 @@ void webHandleHaspConfig() DynamicJsonDocument settings(256); haspGetConfig(settings.to()); - // char buffer[127]; + // char buffer[128]; String nodename = haspGetNodename(); String httpMessage((char *)0); httpMessage.reserve(1500); @@ -1058,7 +1058,7 @@ void httpHandleEspFirmware() if(!httpIsAuthenticated(F("espfirmware"))) return; String nodename = haspGetNodename(); - // char buffer[127]; + // char buffer[128]; String httpMessage((char *)0); httpMessage.reserve(1500); httpMessage += String(F("

")); @@ -1082,7 +1082,7 @@ void httpHandleResetConfig() bool resetConfirmed = webServer.arg(F("confirm")) == F("yes"); String nodename = haspGetNodename(); - // char buffer[127]; + // char buffer[128]; String httpMessage((char *)0); httpMessage.reserve(1500); @@ -1141,7 +1141,7 @@ void httpSetup(const JsonObject & settings) // load editor webServer.on(F("/edit"), HTTP_GET, []() { if(!handleFileRead("/edit.htm")) { - char mimetype[127]; + char mimetype[128]; sprintf(mimetype, PSTR("text/plain")); webServer.send_P(404, mimetype, PSTR("FileNotFound")); } @@ -1154,14 +1154,14 @@ void httpSetup(const JsonObject & settings) // get heap status, analog input value and all GPIO statuses in one json call /*webServer.on(F("/all"), HTTP_GET, []() { String json; - json.reserve(127); + json.reserve(128); json += F("{\"heap\":"); json += String(ESP.getFreeHeap()); json += F(", \"analog\":"); json += String(analogRead(A0)); json += F("}"); - char mimetype[127]; + char mimetype[128]; sprintf(mimetype, PSTR("text/json")); webServer.send(200, mimetype, json); json.clear(); diff --git a/src/hasp_log.cpp b/src/hasp_log.cpp index 0cb1f1f7..02048709 100644 --- a/src/hasp_log.cpp +++ b/src/hasp_log.cpp @@ -27,7 +27,7 @@ void debugPrintln(String & debugText) void debugPrintln(const __FlashStringHelper * debugText) { String buffer((char *)0); - buffer.reserve(127); + buffer.reserve(128); buffer = debugText; debugPrintln(buffer); } @@ -37,13 +37,13 @@ void debugPrintln(const char * debugText) serialPrintln(debugText); #if HASP_USE_SYSLOG != 0 - syslogSend(0, debugText.c_str()); + syslogSend(0, debugText); #endif } void errorPrintln(String debugText) { - char buffer[127]; + char buffer[128]; sprintf_P(buffer, debugText.c_str(), PSTR("[ERROR] ")); serialPrintln(buffer); @@ -54,7 +54,7 @@ void errorPrintln(String debugText) void warningPrintln(String debugText) { - char buffer[127]; + char buffer[128]; sprintf_P(buffer, debugText.c_str(), PSTR("[WARNING] ")); serialPrintln(buffer); diff --git a/src/hasp_mdns.cpp b/src/hasp_mdns.cpp index 0d56ee99..ab7aefca 100644 --- a/src/hasp_mdns.cpp +++ b/src/hasp_mdns.cpp @@ -31,7 +31,7 @@ void mdnsStart() /*if(debugTelnetEnabled) { } return; - char buffer[127]; + char buffer[128]; snprintf_P(buffer, sizeof(buffer), PSTR("%u.%u.%u"), HASP_VERSION_MAJOR, HASP_VERSION_MINOR, HASP_VERSION_REVISION); MDNS.addServiceTxt(hasp2Node, "tcp", "app_version", buffer); */ diff --git a/src/hasp_mqtt.cpp b/src/hasp_mqtt.cpp index 4308e4c7..81403506 100644 --- a/src/hasp_mqtt.cpp +++ b/src/hasp_mqtt.cpp @@ -99,30 +99,39 @@ void IRAM_ATTR mqttSendState(const char * subtopic, const char * payload) // light = 0/1 // brightness = 100 - char mqttTopic[127]; - char mqttPayload[127 * 5]; + char mqttTopic[128]; + char mqttPayload[128 * 5]; snprintf_P(mqttTopic, sizeof(mqttTopic), PSTR("%sstate/%s"), mqttNodeTopic.c_str(), subtopic); mqttClient.publish(mqttTopic, payload); - debugPrintln(String(F("MQTT OUT: ")) + String(mqttTopic) + " = " + String(payload)); + + String msg((char *)0); + msg.reserve(512); + msg = F("MQTT OUT: "); + msg += mqttTopic; + msg += " = "; + msg += payload; + debugPrintln(msg); // as json - snprintf_P(mqttTopic, sizeof(mqttTopic), PSTR("%sstate/json"), mqttNodeTopic.c_str()); - snprintf_P(mqttPayload, sizeof(mqttPayload), PSTR("{\"%s\":\"%s\"}"), subtopic, payload); - mqttClient.publish(mqttTopic, mqttPayload); - debugPrintln(String(F("MQTT OUT: ")) + String(mqttTopic) + " = " + String(mqttPayload)); + // snprintf_P(mqttTopic, sizeof(mqttTopic), PSTR("%sstate/json"), mqttNodeTopic.c_str()); + // snprintf_P(mqttPayload, sizeof(mqttPayload), PSTR("{\"%s\":\"%s\"}"), subtopic, payload); + // mqttClient.publish(mqttTopic, mqttPayload); + // debugPrintln(String(F("MQTT OUT: ")) + String(mqttTopic) + " = " + String(mqttPayload)); } void IRAM_ATTR mqttSendNewValue(uint8_t pageid, uint8_t btnid, const char * attribute, String txt) { - char subtopic[127]; - snprintf_P(subtopic, sizeof(subtopic), PSTR("p[%u].b[%u].%s"), pageid, btnid, attribute); - mqttSendState(subtopic, txt.c_str()); + char topic[128]; + char payload[128]; + snprintf_P(topic, sizeof(topic), PSTR("json")); + snprintf_P(payload, sizeof(payload), PSTR("{\"p[%u].b[%u].%s\":\"%s\"}"), pageid, btnid, attribute, txt.c_str()); + mqttSendState(topic, payload); } void IRAM_ATTR mqttSendNewValue(uint8_t pageid, uint8_t btnid, int32_t val) { - char value[127]; + char value[128]; itoa(val, value, 10); mqttSendNewValue(pageid, btnid, "val", value); } @@ -134,14 +143,14 @@ void IRAM_ATTR mqttSendNewValue(uint8_t pageid, uint8_t btnid, String txt) void IRAM_ATTR mqttSendNewEvent(uint8_t pageid, uint8_t btnid, char * value) // int32_t val) { - // char value[127]; + // char value[128]; // itoa(val, value, 10); mqttSendNewValue(pageid, btnid, "event", value); } void mqttStatusUpdate() { // Periodically publish a JSON string indicating system status - char buffer[127]; + char buffer[128]; snprintf_P(buffer, sizeof(buffer), "%u.%u.%u", HASP_VERSION_MAJOR, HASP_VERSION_MINOR, HASP_VERSION_REVISION); String mqttStatusPayload((char *)0); @@ -278,7 +287,7 @@ void mqttCallback(char * topic, byte * payload, unsigned int length) if(strTopic == F("status") && strPayload == F("OFF")) { // catch a dangling LWT from a previous connection if it appears - char topicBuffer[127]; + char topicBuffer[128]; snprintf_P(topicBuffer, sizeof(topicBuffer), PSTR("%sstatus"), mqttNodeTopic.c_str()); mqttClient.publish(topicBuffer, "ON", true); @@ -294,12 +303,12 @@ void mqttReconnect() static uint8_t mqttReconnectCount = 0; bool mqttFirstConnect = true; String nodeName((char *)0); - nodeName.reserve(127); + nodeName.reserve(128); nodeName = haspGetNodename(); - char topicBuffer[127]; + char topicBuffer[128]; // Generate an MQTT client ID as haspNode + our MAC address - mqttClientId.reserve(127); + mqttClientId.reserve(128); mqttClientId = nodeName; mqttClientId += F("-"); mqttClientId += wifiGetMacAddress(3, ""); @@ -401,9 +410,9 @@ void mqttReconnect() void mqttSetup(const JsonObject & settings) { - mqttClientId.reserve(127); - mqttNodeTopic.reserve(127); - mqttGroupTopic.reserve(127); + mqttClientId.reserve(128); + mqttNodeTopic.reserve(128); + mqttGroupTopic.reserve(128); mqttSetConfig(settings); @@ -437,7 +446,7 @@ bool mqttIsConnected() void mqttStop() { if(mqttClient.connected()) { - char topicBuffer[127]; + char topicBuffer[128]; snprintf_P(topicBuffer, sizeof(topicBuffer), PSTR("%sstatus"), mqttNodeTopic.c_str()); mqttClient.publish(topicBuffer, "OFF"); diff --git a/src/hasp_spiffs.cpp b/src/hasp_spiffs.cpp index 78ff512a..5273ebc5 100644 --- a/src/hasp_spiffs.cpp +++ b/src/hasp_spiffs.cpp @@ -14,7 +14,7 @@ void spiffsList() { - char buffer[127]; + char buffer[128]; debugPrintln(PSTR("FILE: Listing files on the internal flash:")); #if defined(ARDUINO_ARCH_ESP32) @@ -41,7 +41,7 @@ void spiffsSetup() // no SPIFFS settings, as settings depend on SPIFFS #if HASP_USE_SPIFFS - char buffer[127]; + char buffer[128]; #if defined(ARDUINO_ARCH_ESP8266) if(!SPIFFS.begin()) { #else @@ -62,7 +62,7 @@ void spiffsLoop() String spiffsFormatBytes(size_t bytes) { String output((char *)0); - output.reserve(127); + output.reserve(128); if(bytes < 1024) { output += bytes; diff --git a/src/hasp_tft.cpp b/src/hasp_tft.cpp index 28e9ccd6..9cb204b5 100644 --- a/src/hasp_tft.cpp +++ b/src/hasp_tft.cpp @@ -28,7 +28,7 @@ void tftStop() void tftOffsetInfo(uint8_t pin, uint8_t x_offset, uint8_t y_offset) { - char buffer[127]; + char buffer[128]; if(x_offset != 0) { sprintf_P(buffer, PSTR("TFT: R%u x offset = %i"), pin, x_offset); debugPrintln(buffer); @@ -42,7 +42,7 @@ void tftOffsetInfo(uint8_t pin, uint8_t x_offset, uint8_t y_offset) void tftPinInfo(String pinfunction, int8_t pin) { if(pin != -1) { - char buffer[127]; + char buffer[128]; sprintf_P(buffer, PSTR("TFT: %s = D%i (GPIO %i)"), pinfunction.c_str(), getPinName(pin), pin); debugPrintln(buffer); } @@ -51,7 +51,7 @@ void tftPinInfo(String pinfunction, int8_t pin) void tftShowConfig(TFT_eSPI & tft) { setup_t tftSetup; - char buffer[127]; + char buffer[128]; tft.getSetup(tftSetup); sprintf_P(buffer, PSTR("TFT: TFT_eSPI ver = %s"), tftSetup.version.c_str()); diff --git a/src/hasp_wifi.cpp b/src/hasp_wifi.cpp index cdc5ca3a..557b889a 100644 --- a/src/hasp_wifi.cpp +++ b/src/hasp_wifi.cpp @@ -46,7 +46,7 @@ String wifiGetMacAddress(int start, const char * seperator) byte mac[6]; WiFi.macAddress(mac); String cMac((char *)0); - cMac.reserve(127); + cMac.reserve(128); for(int i = start; i < 6; ++i) { if(mac[i] < 0x10) cMac += "0"; @@ -60,7 +60,7 @@ String wifiGetMacAddress(int start, const char * seperator) void wifiConnected(IPAddress ipaddress) { bool isConnected = WiFi.status() == WL_CONNECTED; - char buffer[127]; + char buffer[128]; snprintf_P(buffer, sizeof(buffer), PSTR("WIFI: Received IP address %s"), ipaddress.toString().c_str()); debugPrintln(buffer); snprintf_P(buffer, sizeof(buffer), PSTR("WIFI: Connected = %s"), isConnected ? PSTR("yes") : PSTR("no")); @@ -76,7 +76,7 @@ void wifiConnected(IPAddress ipaddress) void wifiDisconnected(const char * ssid, uint8_t reason) { - char buffer[127]; + char buffer[128]; snprintf_P(buffer, sizeof(buffer), PSTR("WIFI: Disconnected from %s (Reason: %d)"), ssid, reason); debugPrintln(buffer); WiFi.reconnect(); @@ -84,7 +84,7 @@ void wifiDisconnected(const char * ssid, uint8_t reason) void wifiSsidConnected(const char * ssid) { - char buffer[127]; + char buffer[128]; snprintf_P(buffer, sizeof(buffer), PSTR("WIFI: Connected to SSID %s. Requesting IP..."), ssid); debugPrintln(buffer); } @@ -130,7 +130,7 @@ void wifiSTADisconnected(WiFiEventStationModeDisconnected info) void wifiSetup(JsonObject settings) { - char buffer[127]; + char buffer[128]; wifiSetConfig(settings);