From fe93aba4e9645c017c5e6d8a0f7e7a210b31d7bc Mon Sep 17 00:00:00 2001 From: Derek Kozel Date: Tue, 4 Feb 2025 14:48:15 +0000 Subject: [PATCH 1/2] Updated to use ESP Async WebServer v3+ API The returned parameter values are const and need to be indexed using size_t not the implicit int type. --- gbs-control.ino | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/gbs-control.ino b/gbs-control.ino index cf999a5..1731299 100644 --- a/gbs-control.ino +++ b/gbs-control.ino @@ -9542,7 +9542,7 @@ void startWebserver() //Serial.print("got serial request params: "); //Serial.println(params); if (params > 0) { - AsyncWebParameter *p = request->getParam(0); + const AsyncWebParameter *p = request->getParam((size_t) 0); //Serial.println(p->name()); serialCommand = p->name().charAt(0); @@ -9561,7 +9561,7 @@ void startWebserver() //Serial.print("got user request params: "); //Serial.println(params); if (params > 0) { - AsyncWebParameter *p = request->getParam(0); + const AsyncWebParameter *p = request->getParam((size_t) 0); //Serial.println(p->name()); userCommand = p->name().charAt(0); } @@ -9623,7 +9623,7 @@ void startWebserver() int params = request->params(); if (params > 0) { - AsyncWebParameter *slotParam = request->getParam(0); + const AsyncWebParameter *slotParam = request->getParam((size_t) 0); String slotParamValue = slotParam->value(); char slotValue[2]; slotParamValue.toCharArray(slotValue, sizeof(slotValue)); @@ -9670,7 +9670,7 @@ void startWebserver() } // index param - AsyncWebParameter *slotIndexParam = request->getParam(0); + const AsyncWebParameter *slotIndexParam = request->getParam((size_t) 0); String slotIndexString = slotIndexParam->value(); uint8_t slotIndex = lowByte(slotIndexString.toInt()); if (slotIndex >= SLOTS_TOTAL) { @@ -9678,7 +9678,7 @@ void startWebserver() } // name param - AsyncWebParameter *slotNameParam = request->getParam(1); + const AsyncWebParameter *slotNameParam = request->getParam((size_t) 1); String slotName = slotNameParam->value(); char emptySlotName[25] = " "; @@ -9708,7 +9708,7 @@ void startWebserver() server.on("/slot/remove", HTTP_GET, [](AsyncWebServerRequest *request) { bool result = false; int params = request->params(); - AsyncWebParameter *p = request->getParam(0); + const AsyncWebParameter *p = request->getParam((size_t) 0); char param = p->name().charAt(0); if (params > 0) { @@ -9803,7 +9803,7 @@ void startWebserver() if (ESP.getFreeHeap() > 10000) { int params = request->params(); if (params > 0) { - request->send(SPIFFS, request->getParam(0)->value(), String(), true); + request->send(SPIFFS, request->getParam((size_t) 0)->value(), String(), true); } else { request->send(200, "application/json", "false"); } From 3e3d14bc6a2d5bbd8975a73faefda41045682b67 Mon Sep 17 00:00:00 2001 From: Derek Kozel Date: Tue, 4 Feb 2025 18:10:19 +0000 Subject: [PATCH 2/2] Update dependencies and add esp12e board support --- platformio.ini | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/platformio.ini b/platformio.ini index af2d874..cdb8424 100644 --- a/platformio.ini +++ b/platformio.ini @@ -11,17 +11,16 @@ lib_dir = ./src/ src_dir = ./ -[env:d1_mini] -platform = espressif8266@2.6.3 -board = d1_mini +[env] +platform = espressif8266@4.2.1 framework = arduino board_build.f_cpu = 160000000L board_build.ldscript = eagle.flash.4m1m.ld upload_speed = 921600 monitor_speed = 115200 lib_deps = - me-no-dev/ESPAsyncTCP@^1.2.2 - me-no-dev/ESP Async WebServer@^1.2.3 + ESP32Async/ESPAsyncTCP@^2.0.0 + ESP32Async/ESPAsyncWebServer@^3.6.2 thingpulse/ESP8266 and ESP32 OLED driver for SSD1306 displays@4.4.0 bluemurder/ESP8266-ping@^2.0.1 ;r-downing/PersWiFiManager@^3.0.1 @@ -30,4 +29,10 @@ build_src_filter = +<**/*.c> +<**/*.cpp> +<**/*.ino> - -<./3rdparty/*> \ No newline at end of file + -<./3rdparty/*> + +[env:d1_mini] +board = d1_mini + +[env:esp12e] +board = esp12e \ No newline at end of file