Align buffers

This commit is contained in:
fvanroie 2020-02-10 22:03:30 +01:00
parent d6f0025f68
commit a660f4dbcc
6 changed files with 113 additions and 167 deletions

View File

@ -199,7 +199,7 @@ void haspSendNewEvent(lv_obj_t * obj, uint8_t val)
uint8_t objid;
if(FindIdFromObj(obj, &pageid, &objid)) {
// char buffer[40];
// char buffer[127];
// sprintf_P(buffer, PSTR("HASP: Send p[%u].b[%u].event=%d"), pageid, objid, val);
// debugPrintln(buffer);
@ -215,7 +215,7 @@ void haspSendNewValue(lv_obj_t * obj, int32_t val)
uint8_t objid;
if(FindIdFromObj(obj, &pageid, &objid)) {
// char buffer[40];
// char buffer[127];
// sprintf_P(buffer, PSTR("HASP: Send p[%u].b[%u].val=%d"), pageid, objid, val);
// debugPrintln(buffer);
@ -231,7 +231,7 @@ void haspSendNewValue(lv_obj_t * obj, String txt)
uint8_t objid;
if(FindIdFromObj(obj, &pageid, &objid)) {
// char buffer[40];
// char buffer[127];
// sprintf_P(buffer, PSTR("HASP: Send p[%u].b[%u].txt='%s'"), pageid, objid, txt.c_str());
// debugPrintln(buffer);
@ -247,7 +247,7 @@ void haspSendNewValue(lv_obj_t * obj, const char * txt)
uint8_t objid;
if(FindIdFromObj(obj, &pageid, &objid)) {
// char buffer[40];
// char buffer[127];
// sprintf_P(buffer, PSTR("HASP: Send p[%u].b[%u].txt='%s'"), pageid, objid, txt);
// debugPrintln(buffer);
@ -382,13 +382,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[128];
char buffer[127];
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[128];
char buffer[127];
lv_roller_get_selected_str(obj, buffer, sizeof(buffer));
strPayload = String(buffer).c_str();
return true;
@ -641,7 +641,7 @@ void haspDisplayAP(const char * ssid, const char * pass)
String txt((char *)0);
txt.reserve(64);
char buffer[64];
char buffer[127];
sprintf_P(buffer, PSTR("WIFI:S:%s;T:WPA;P:%s;;"), ssid, pass);
/*Clear all screens*/
@ -752,7 +752,7 @@ void haspFirstSetup(void)
*/
void haspSetup(JsonObject settings)
{
char buffer[64];
char buffer[127];
haspSetConfig(settings);
@ -1010,7 +1010,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[64];
char buffer[127];
sprintf(buffer, PSTR("HASP: "));
if(!FindIdFromObj(obj, &pageid, &objid)) {
@ -1106,7 +1106,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[100];
char buffer[127];
lv_ddlist_get_selected_str(obj, buffer, sizeof(buffer));
haspSendNewValue(obj, String(buffer));
}
@ -1116,7 +1116,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[100];
char buffer[127];
lv_roller_get_selected_str(obj, buffer, sizeof(buffer));
haspSendNewValue(obj, String(buffer));
}

View File

@ -4,10 +4,12 @@
#include "hasp_log.h"
#include "hasp_gui.h"
#include "hasp_hal.h"
#include "hasp_debug.h"
#include "hasp_http.h"
#include "hasp_mqtt.h"
#include "hasp_wifi.h"
#include "hasp_spiffs.h"
#include "hasp_config.h"
#include "hasp_dispatch.h"
#include "hasp.h"
@ -32,73 +34,9 @@ ESP8266WebServer webServer(80);
#endif
#if defined(ARDUINO_ARCH_ESP32)
#include <rom/rtc.h> // needed to get the ResetInfo
#include <WebServer.h>
WebServer webServer(80);
// Compatibility function for ESP8266 getRestInfo
String esp32ResetReason(uint8_t cpuid)
{
if(cpuid > 1) {
return F("Invalid CPU id");
}
RESET_REASON reason = rtc_get_reset_reason(cpuid);
String resetReason((char *)0);
resetReason.reserve(25);
switch(reason) {
case 1:
resetReason = F("POWERON");
break; /**<1, Vbat power on reset*/
case 3:
resetReason = F("SW");
break; /**<3, Software reset digital core*/
case 4:
resetReason = F("OWDT");
break; /**<4, Legacy watch dog reset digital core*/
case 5:
resetReason = F("DEEPSLEEP");
break; /**<5, Deep Sleep reset digital core*/
case 6:
resetReason = F("SDIO");
break; /**<6, Reset by SLC module, reset digital core*/
case 7:
resetReason = F("TG0WDT_SYS");
break; /**<7, Timer Group0 Watch dog reset digital core*/
case 8:
resetReason = F("TG1WDT_SYS");
break; /**<8, Timer Group1 Watch dog reset digital core*/
case 9:
resetReason = F("RTCWDT_SYS");
break; /**<9, RTC Watch dog Reset digital core*/
case 10:
resetReason = F("INTRUSION");
break; /**<10, Instrusion tested to reset CPU*/
case 11:
resetReason = F("TGWDT_CPU");
break; /**<11, Time Group reset CPU*/
case 12:
resetReason = F("SW_CPU");
break; /**<12, Software reset CPU*/
case 13:
resetReason = F("RTCWDT_CPU");
break; /**<13, RTC Watch dog Reset CPU*/
case 14:
resetReason = F("EXT_CPU");
break; /**<14, for APP CPU, reseted by PRO CPU*/
case 15:
resetReason = F("RTCWDT_BROWN_OUT");
break; /**<15, Reset when the vdd voltage is not stable*/
case 16:
resetReason = F("RTCWDT_RTC");
break; /**<16, RTC Watch dog reset digital core and rtc module*/
default:
return F("NO_MEAN");
}
resetReason += F("_RESET");
return resetReason;
}
#endif // ESP32
static const char MAIN_MENU_BUTTON[] PROGMEM =
@ -146,7 +84,6 @@ String espFirmwareUrl = "http://haswitchplate.com/update/HASwitchPlate.ino.d1_mi
String lcdFirmwareUrl = "http://haswitchplate.com/update/HASwitchPlate.tft";
////////////////////////////////////////////////////////////////////////////////////////////////////
String formatBytes(size_t bytes);
void webHandleHaspConfig();
////////////////////////////////////////////////////////////////////////////////////////////////////
@ -158,23 +95,23 @@ bool httpIsAuthenticated(const String & page)
return false;
}
}
char buffer[128];
sprintf(buffer, PSTR("HTTP: Sending %s page to client connected from: %s"), page.c_str(),
webServer.client().remoteIP().toString().c_str());
char buffer[127];
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);
return true;
}
String getOption(uint8_t value, String label, bool selected)
{
char buffer[128];
char buffer[127];
sprintf_P(buffer, PSTR("<option value='%u' %s>%s</option>"), value, (selected ? PSTR("selected") : ""),
label.c_str());
return buffer;
}
String getOption(String value, String label, bool selected)
{
char buffer[128];
char buffer[127];
sprintf_P(buffer, PSTR("<option value='%s' %s>%s</option>"), value.c_str(), (selected ? PSTR("selected") : ""),
label.c_str());
return buffer;
@ -182,7 +119,7 @@ String getOption(String value, String label, bool selected)
void webSendPage(String & nodename, uint32_t httpdatalength, bool gohome = false)
{
char buffer[64];
char buffer[127];
/* Calculate Content Length upfront */
uint16_t contentLength = 0;
@ -211,18 +148,19 @@ void webHandleRoot()
{
if(!httpIsAuthenticated(F("root"))) return;
char buffer[64];
char buffer[127];
String nodename = haspGetNodename();
String httpMessage((char *)0);
httpMessage.reserve(1024);
httpMessage.reserve(1500);
httpMessage += String(F("<h1>"));
httpMessage += String(nodename);
httpMessage += String(F("</h1>"));
httpMessage += F("<p><form method='get' action='info'><button type='submit'>Information</button></form></p>");
httpMessage += F("<p><form method='get' action='screenshot'><button type='submit'>Screenshot</button></form></p>");
httpMessage +=
PSTR("<p><form method='get' action='/config'><button type='submit'>Configuration</button></form></p>");
PSTR("<p><form method='get' action='config'><button type='submit'>Configuration</button></form></p>");
httpMessage +=
F("<p><form method='get' action='firmware'><button type='submit'>Firmware Upgrade</button></form></p>");
@ -252,7 +190,7 @@ void httpHandleReboot()
webServer.sendContent_P(HTTP_END); // 20
delay(200);
dispatchCommand(F("reboot"));
dispatchReboot(true);
}
////////////////////////////////////////////////////////////////////////////////////////////////////
@ -260,10 +198,27 @@ void webHandleScreenshot()
{ // http://plate01/about
if(!httpIsAuthenticated(F("/screenshot"))) return;
webServer.setContentLength(138 + 320 * 240 * 4);
webServer.send(200, PSTR("image/bmp"), "");
if(webServer.hasArg(F("q"))) {
webServer.setContentLength(138 + 320 * 240 * 4);
webServer.send(200, PSTR("image/bmp"), "");
guiTakeScreenshot(webServer.client());
guiTakeScreenshot(webServer);
} else {
String nodename = haspGetNodename();
String httpMessage((char *)0);
httpMessage.reserve(1500);
httpMessage += F("<p class='c'><img id='bmp' src='?q=0'></p>");
httpMessage += F("<p><form method='get' onsubmit=\"var timestamp = new Date().getTime();var ");
httpMessage += F("el=document.getElementById('bmp');el.src='?q='+timestamp;return false;\">");
httpMessage += F("<button type='submit'>Refresh</button></form></p>");
httpMessage += FPSTR(MAIN_MENU_BUTTON);
webSendPage(nodename, httpMessage.length(), false);
webServer.sendContent(httpMessage); // len
webServer.sendContent_P(HTTP_END); // 20
}
}
////////////////////////////////////////////////////////////////////////////////////////////////////
@ -311,7 +266,7 @@ void webHandleInfo()
{ // http://plate01/
if(!httpIsAuthenticated(F("/info"))) return;
char buffer[64];
char buffer[127];
String nodename = haspGetNodename();
String httpMessage((char *)0);
httpMessage.reserve(1500);
@ -357,55 +312,34 @@ void webHandleInfo()
httpMessage += String(ESP.getChipId());
#endif
httpMessage += F("<br/><b>Flash Chip Size: </b>");
httpMessage += formatBytes(ESP.getFlashChipSize());
httpMessage += spiffsFormatBytes(ESP.getFlashChipSize());
httpMessage += F("</br><b>Program Size: </b>");
httpMessage += formatBytes(ESP.getSketchSize());
httpMessage += spiffsFormatBytes(ESP.getSketchSize());
httpMessage += F(" bytes<br/><b>Free Program Space: </b>");
httpMessage += formatBytes(ESP.getFreeSketchSpace());
httpMessage += spiffsFormatBytes(ESP.getFreeSketchSpace());
httpMessage += F(" bytes<br/><b>Free Memory: </b>");
httpMessage += formatBytes(ESP.getFreeHeap());
httpMessage += spiffsFormatBytes(ESP.getFreeHeap());
httpMessage += F("<br/><b>Memory Fragmentation: </b>");
httpMessage += String(halGetHeapFragmentation());
#if defined(ARDUINO_ARCH_ESP32)
// httpMessage += F("<br/><b>Heap Max Alloc: </b>");
// httpMessage += String(ESP.getMaxAllocHeap());
httpMessage += F("<br/><b>Memory Fragmentation: </b>");
httpMessage += String((int16_t)(100.00f - (float)ESP.getMaxAllocHeap() / (float)ESP.getFreeHeap() * 100.00f));
httpMessage += F("<br/><b>ESP SDK version: </b>");
httpMessage += String(ESP.getSdkVersion());
httpMessage += F("<br/><b>Last Reset: </b> CPU0: ");
httpMessage += String(esp32ResetReason(0));
httpMessage += F(" / CPU1: ");
httpMessage += String(esp32ResetReason(1));
#else
httpMessage += F("<br/><b>Memory Fragmentation: </b>");
httpMessage += String(ESP.getHeapFragmentation());
httpMessage += F("<br/><b>ESP Core version: </b>");
httpMessage += String(ESP.getCoreVersion());
httpMessage += F("<br/><b>Last Reset: </b>");
httpMessage += String(ESP.getResetInfo());
#endif
httpMessage += F("<br/><b>Last Reset: </b>");
httpMessage += halGetResetInfo();
httpMessage += FPSTR(MAIN_MENU_BUTTON);
;
webSendPage(nodename, httpMessage.length(), false);
webServer.sendContent(httpMessage); // len
webServer.sendContent_P(HTTP_END); // 20
}
String formatBytes(size_t bytes)
{
if(bytes < 1024) {
return String(bytes) + "B";
} else if(bytes < (1024 * 1024)) {
return String(bytes / 1024.0) + "KB";
} else if(bytes < (1024 * 1024 * 1024)) {
return String(bytes / 1024.0 / 1024.0) + "MB";
} else {
return String(bytes / 1024.0 / 1024.0 / 1024.0) + "GB";
}
}
String getContentType(String filename)
{
if(webServer.hasArg(F("download"))) {
@ -447,7 +381,8 @@ String urldecode(String str)
if(c == '+') {
encodedString += ' ';
} else if(c == '%') {
char buffer[3];
// char buffer[3];
char buffer[127];
i++;
buffer[0] = str.charAt(i);
i++;
@ -509,7 +444,7 @@ void handleFileUpload()
// DBG_OUTPUT_PORT.print("handleFileUpload Data: "); debugPrintln(upload.currentSize);
if(fsUploadFile) {
fsUploadFile.write(upload.buf, upload.currentSize);
char buffer[128];
char buffer[127];
sprintf_P(buffer, PSTR("Uploading %u of %u"), upload.currentSize, upload.totalSize);
debugPrintln(buffer);
}
@ -518,8 +453,8 @@ void handleFileUpload()
fsUploadFile.close();
}
debugPrintln(String(F("handleFileUpload Size: ")) + String(upload.totalSize));
String filename = upload.filename;
if(filename.endsWith(".zi")) webHandleHaspConfig();
// String filename = upload.filename;
webHandleHaspConfig();
}
}
@ -527,19 +462,22 @@ void handleFileDelete()
{
if(!httpIsAuthenticated(F("filedelete"))) return;
char mimetype[10];
sprintf(mimetype, PSTR("text/plain"));
if(webServer.args() == 0) {
return webServer.send(500, PSTR("text/plain"), PSTR("BAD ARGS"));
return webServer.send_P(500, mimetype, PSTR("BAD ARGS"));
}
String path = webServer.arg(0);
debugPrintln(String(F("handleFileDelete: ")) + path);
if(path == "/") {
return webServer.send(500, PSTR("text/plain"), PSTR("BAD PATH"));
return webServer.send_P(500, mimetype, PSTR("BAD PATH"));
}
if(!filesystem->exists(path)) {
return webServer.send(404, PSTR("text/plain"), PSTR("FileNotFound"));
return webServer.send_P(404, mimetype, PSTR("FileNotFound"));
}
filesystem->remove(path);
webServer.send(200, PSTR("text/plain"), "");
webServer.send_P(200, mimetype, PSTR(""));
path.clear();
}
@ -668,16 +606,16 @@ void webHandleConfig()
httpHandleReboot();
}
char buffer[64];
char buffer[127];
String nodename = haspGetNodename();
String httpMessage((char *)0);
httpMessage.reserve(1024);
httpMessage.reserve(1500);
httpMessage += F("<hr>");
httpMessage +=
F("<p><form method='get' action='/config/wifi'><button type='submit'>Wifi Settings</button></form></p>");
#if LV_USE_HASP_MQTT > 0
#if HASP_USE_MQTT > 0
httpMessage +=
F("<p><form method='get' action='/config/mqtt'><button type='submit'>MQTT Settings</button></form></p>");
#endif
@ -706,7 +644,7 @@ void webHandleConfig()
}
////////////////////////////////////////////////////////////////////////////////////////////////////
#if LV_USE_HASP_MQTT > 0
#if HASP_USE_MQTT > 0
void webHandleMqttConfig()
{ // http://plate01/config/mqtt
if(!httpIsAuthenticated(F("/config/mqtt"))) return;
@ -714,10 +652,10 @@ void webHandleMqttConfig()
DynamicJsonDocument settings(256);
mqttGetConfig(settings.to<JsonObject>());
char buffer[64];
char buffer[127];
String nodename = haspGetNodename();
String httpMessage((char *)0);
httpMessage.reserve(1024);
httpMessage.reserve(1500);
httpMessage += String(F("<form method='POST' action='/config'>"));
httpMessage += F("<b>HASP Node Name</b> <i><small>(required. lowercase letters, numbers, and _ only)</small>"
@ -758,10 +696,10 @@ void webHandleGuiConfig()
DynamicJsonDocument settings(256);
// guiGetConfig(settings.to<JsonObject>());
char buffer[64];
char buffer[127];
String nodename = haspGetNodename();
String httpMessage((char *)0);
httpMessage.reserve(1024);
httpMessage.reserve(1500);
httpMessage += String(F("<form method='POST' action='/config'>"));
httpMessage += F("<p><button type='submit' name='save' value='gui'>Save Settings</button></p></form>");
@ -780,7 +718,7 @@ void webHandleGuiConfig()
}
////////////////////////////////////////////////////////////////////////////////////////////////////
#if LV_USE_HASP_WIFI > 0
#if HASP_USE_WIFI > 0
void webHandleWifiConfig()
{ // http://plate01/config/wifi
if(!httpIsAuthenticated(F("/config/wifi"))) return;
@ -788,10 +726,10 @@ void webHandleWifiConfig()
DynamicJsonDocument settings(256);
wifiGetConfig(settings.to<JsonObject>());
char buffer[64];
char buffer[127];
String nodename = haspGetNodename();
String httpMessage((char *)0);
httpMessage.reserve(1024);
httpMessage.reserve(1500);
httpMessage += String(F("<form method='POST' action='/config'>"));
httpMessage += String(F("<b>WiFi SSID</b> <i><small>(required)</small></i><input id='ssid' required "
@ -816,7 +754,7 @@ void webHandleWifiConfig()
#endif
////////////////////////////////////////////////////////////////////////////////////////////////////
#if LV_USE_HASP_HTTP > 0
#if HASP_USE_HTTP > 0
void webHandleHttpConfig()
{ // http://plate01/config/http
if(!httpIsAuthenticated(F("/config/http"))) return;
@ -824,10 +762,10 @@ void webHandleHttpConfig()
DynamicJsonDocument settings(256);
httpGetConfig(settings.to<JsonObject>());
char buffer[64];
char buffer[127];
String nodename = haspGetNodename();
String httpMessage((char *)0);
httpMessage.reserve(1024);
httpMessage.reserve(1500);
httpMessage += String(F("<form method='POST' action='/config'>"));
httpMessage += String(F("<b>Web Username</b> <i><small>(optional)</small></i><input id='user' "
@ -859,10 +797,10 @@ void webHandleHaspConfig()
DynamicJsonDocument settings(256);
haspGetConfig(settings.to<JsonObject>());
char buffer[64];
char buffer[127];
String nodename = haspGetNodename();
String httpMessage((char *)0);
httpMessage.reserve(1024);
httpMessage.reserve(1500);
httpMessage += F("<p><form action='/edit' method='post' enctype='multipart/form-data'><input type='file' "
"name='filename' accept='.jsonl,.zi'>");
@ -905,7 +843,6 @@ void webHandleHaspConfig()
httpMessage += F("<p><b>Default Font</b><select id='font' name='font'><option value=''>None</option>");
#if defined(ARDUINO_ARCH_ESP32)
debugPrintln(PSTR("HTTP: Listing files on the internal flash:"));
File root = SPIFFS.open("/");
File file = root.openNextFile();
@ -940,8 +877,7 @@ void webHandleHaspConfig()
httpMessage += F("<p><button type='submit' name='save' value='hasp'>Save Settings</button></form></p>");
httpMessage +=
PSTR("<p><form method='get' action='/config'><button type='submit'>Configuration</button></form></p>");
httpMessage += F("<p><form method='get' action='/config'><button type='submit'>Configuration</button></form></p>");
webSendPage(nodename, httpMessage.length(), false);
webServer.sendContent(httpMessage); // len
@ -956,7 +892,7 @@ void httpHandleNotFound()
debugPrintln(String(F("HTTP: Sending 404 to client connected from: ")) + webServer.client().remoteIP().toString());
String httpMessage((char *)0);
httpMessage.reserve(512);
httpMessage.reserve(1500);
httpMessage += F("File Not Found\n\nURI: ");
httpMessage += webServer.uri();
httpMessage += F("\nMethod: ");
@ -990,9 +926,9 @@ void httpHandleEspFirmware()
if(!httpIsAuthenticated(F("/espfirmware"))) return;
String nodename = haspGetNodename();
char buffer[64];
char buffer[127];
String httpMessage((char *)0);
httpMessage.reserve(128);
httpMessage.reserve(1500);
httpMessage += String(F("<h1>"));
httpMessage += String(haspGetNodename());
httpMessage += String(F(" ESP update</h1><br/>Updating ESP firmware from: "));
@ -1013,9 +949,9 @@ void httpHandleResetConfig()
bool resetConfirmed = webServer.arg(F("confirm")) == F("yes");
String nodename = haspGetNodename();
char buffer[64];
char buffer[127];
String httpMessage((char *)0);
httpMessage.reserve(768);
httpMessage.reserve(1500);
if(resetConfirmed) { // User has confirmed, so reset everything
httpMessage += F("<h1>");
@ -1047,7 +983,7 @@ void httpHandleResetConfig()
if(resetConfirmed) {
delay(250);
// configClearSaved();
haspReboot(false); // Do not save the current config
dispatchReboot(false); // Do not save the current config
}
}
@ -1089,10 +1025,10 @@ void httpSetup(const JsonObject & settings)
webServer.on(F("/config/hasp"), webHandleHaspConfig);
webServer.on(F("/config/http"), webHandleHttpConfig);
webServer.on(F("/config/gui"), webHandleGuiConfig);
#if LV_USE_HASP_MQTT > 0
#if HASP_USE_MQTT > 0
webServer.on(F("/config/mqtt"), webHandleMqttConfig);
#endif
#if LV_USE_HASP_WIFI > 0
#if HASP_USE_WIFI > 0
webServer.on(F("/config/wifi"), webHandleWifiConfig);
#endif
webServer.on(F("/screenshot"), webHandleScreenshot);
@ -1116,7 +1052,13 @@ void httpReconnect()
}
webServer.stop();
webServerStarted = false;
if(WiFi.status() != WL_CONNECTED) return;
webServer.begin();
webServerStarted = true;
debugPrintln(String(F("HTTP: Server started @ http://")) +
(WiFi.getMode() == WIFI_AP ? WiFi.softAPIP().toString() : WiFi.localIP().toString()));
}
@ -1124,7 +1066,11 @@ void httpReconnect()
////////////////////////////////////////////////////////////////////////////////////////////////////
void httpLoop(bool wifiIsConnected)
{
if(httpEnable) webServer.handleClient();
if(httpEnable)
if(webServerStarted)
webServer.handleClient();
else
httpReconnect();
}
////////////////////////////////////////////////////////////////////////////////////////////////////

View File

@ -26,7 +26,7 @@ void debugPrintln(String debugText)
void errorPrintln(String debugText)
{
char buffer[256];
char buffer[127];
sprintf_P(buffer, debugText.c_str(), PSTR("[ERROR] "));
serialPrintln(buffer);
@ -37,7 +37,7 @@ void errorPrintln(String debugText)
void warningPrintln(String debugText)
{
char buffer[256];
char buffer[127];
sprintf_P(buffer, debugText.c_str(), PSTR("[WARNING] "));
serialPrintln(buffer);

View File

@ -14,9 +14,9 @@ std::string otaUrl = "http://ota.local";
void otaSetup(JsonObject settings)
{
char buffer[256];
if(!settings[F_OTA_URL].isNull()) {
char buffer[127];
otaUrl = settings[F_OTA_URL].as<String>().c_str();
sprintf_P(buffer, PSTR("ORA url: %s"), otaUrl.c_str());
debugPrintln(buffer);

View File

@ -20,7 +20,7 @@ void tftSetup(TFT_eSPI & tft, JsonObject settings)
uint32_t frequency = SPI_FREQUENCY;
if(settings[F_TFT_FREQUENCY]) frequency = settings[F_TFT_FREQUENCY];
char buffer[64];
char buffer[127];
sprintf_P(buffer, PSTR("TFT: %d rotation / %d frequency"), rotation, frequency);
debugPrintln(buffer);
@ -51,7 +51,7 @@ void tftStop()
void tftOffsetInfo(uint8_t pin, uint8_t x_offset, uint8_t y_offset)
{
char buffer[64];
char buffer[127];
if(x_offset != 0) {
sprintf_P(buffer, PSTR("TFT: R%u x offset = %i"), pin, x_offset);
debugPrintln(buffer);
@ -65,7 +65,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[64];
char buffer[127];
sprintf_P(buffer, PSTR("TFT: %s = D%i (GPIO %i)"), pinfunction.c_str(), getPinName(pin), pin);
debugPrintln(buffer);
}
@ -74,7 +74,7 @@ void tftPinInfo(String pinfunction, int8_t pin)
void tftShowConfig(TFT_eSPI & tft)
{
setup_t tftSetup;
char buffer[128];
char buffer[127];
tft.getSetup(tftSetup);
sprintf_P(buffer, PSTR("TFT: TFT_eSPI ver = %s"), tftSetup.version.c_str());

View File

@ -61,7 +61,7 @@ String wifiGetMacAddress(int start, const char * seperator)
void wifiConnected(IPAddress ipaddress)
{
bool isConnected = WiFi.status() == WL_CONNECTED;
char buffer[64];
char buffer[127];
sprintf_P(buffer, PSTR("WIFI: Received IP address %s"), ipaddress.toString().c_str());
debugPrintln(buffer);
sprintf_P(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[64];
char buffer[127];
sprintf_P(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[64];
char buffer[127];
sprintf_P(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[64];
char buffer[127];
wifiSetConfig(settings);