Skip to content

Commit f2a37d4

Browse files
committed
Use new version of libraries, should fix current build.
Also introduce new CommandParser object
1 parent 5225b60 commit f2a37d4

File tree

5 files changed

+36
-8
lines changed

5 files changed

+36
-8
lines changed

platformio.ini

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,8 @@ lib_deps =
1717
Wire
1818
SPI
1919
https://github.com/GuLinux/AsyncBufferedTcpLogger#v0.0.5
20-
https://github.com/GuLinux/AsyncWebserverUtils#v0.1.0
21-
https://github.com/GuLinux/WiFiManager.git#v0.0.4
20+
https://github.com/GuLinux/AsyncWebserverUtils#v0.3.0
21+
https://github.com/GuLinux/WiFiManager.git#v0.1.0
2222
https://github.com/GuLinux/ArduinoOTA-Manager.git#v0.0.2
2323
ESP32Async/AsyncTCP@^3.3.8
2424
ESP32Async/ESPAsyncWebServer@^3.7.4

src/commandparser.cpp

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
#include "commandparser.h"
2+
#include "heater.h"
3+
#include <ArduinoLog.h>
4+
#define LOG_SCOPE "APB::CommandParser "
5+
6+
using namespace APB;
7+
8+
CommandParser &CommandParser::Instance = *new CommandParser();
9+
10+
CommandParser::CommandParser() {
11+
}
12+
13+
void CommandParser::getHeaters(JsonArray response) {
14+
Log.infoln(LOG_SCOPE "onGetHeaters: %d", Heaters::Instance.size());
15+
Heaters::toJson(response);
16+
}

src/commandparser.h

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
#pragma once
2+
#include <ArduinoJson.h>
3+
4+
namespace APB {
5+
class CommandParser {
6+
public:
7+
CommandParser();
8+
static CommandParser &Instance;
9+
void getHeaters(JsonArray response);
10+
void setHeaters(JsonVariant request);
11+
};
12+
}

src/main.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
#include <wifimanager.h>
66

77
#include "configuration.h"
8+
#include "commandparser.h"
89

910
#include "webserver.h"
1011

src/webserver.cpp

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
#include <LittleFS.h>
1212
#include <map>
1313
#include "utils.h"
14+
#include "commandparser.h"
1415

1516
#define LOG_SCOPE "APB::WebServer "
1617

@@ -33,8 +34,8 @@ void APB::WebServer::setup() {
3334
setupCors();
3435
#endif
3536

36-
onJsonRequest("/api/config/accessPoint", std::bind(&WiFiManager::onConfigAccessPoint, &WiFiManager::Instance, _1, _2), HTTP_POST | HTTP_DELETE);
37-
onJsonRequest("/api/config/station", std::bind(&WiFiManager::onConfigStation, &WiFiManager::Instance, _1, _2), HTTP_POST | HTTP_DELETE);
37+
onJsonRequest("/api/config/accessPoint", [](AsyncWebServerRequest *request, JsonVariant &json){ WiFiManager::Instance.onConfigAccessPoint(request, json); }, HTTP_POST | HTTP_DELETE);
38+
onJsonRequest("/api/config/station", [](AsyncWebServerRequest *request, JsonVariant &json){ WiFiManager::Instance.onConfigStation(request, json); }, HTTP_POST | HTTP_DELETE);
3839
onJsonRequest("/api/config/statusLedDuty", std::bind(&WebServer::onConfigStatusLedDuty, this, _1, _2), HTTP_POST);
3940
onJsonRequest("/api/config/powerSourceType", std::bind(&WebServer::onConfigPowerSourceType, this, _1, _2), HTTP_POST);
4041
webserver.on("/api/metrics", HTTP_GET, std::bind(&WebServer::onGetMetrics, this, _1));
@@ -51,7 +52,7 @@ void APB::WebServer::setup() {
5152
response.root()["status"] = "Dropping WiFi";
5253
});
5354
#endif
54-
webserver.on("/api/wifi", HTTP_GET, std::bind(&WiFiManager::onGetWiFiStatus, &WiFiManager::Instance, _1));
55+
webserver.on("/api/wifi", HTTP_GET, [](AsyncWebServerRequest *request){ WiFiManager::Instance.onGetWiFiStatus(request); });
5556
webserver.on("/api/restart", HTTP_POST, std::bind(&WebServer::onRestart, this, _1));
5657

5758
webserver.on("/api/status", HTTP_GET, std::bind(&WebServer::onGetStatus, this, _1));
@@ -144,9 +145,7 @@ void APB::WebServer::onGetAmbient(AsyncWebServerRequest *request) {
144145

145146
void APB::WebServer::onGetHeaters(AsyncWebServerRequest *request) {
146147
JsonResponse response(request);
147-
Log.infoln(LOG_SCOPE "onGetHeaters: %d", Heaters::Instance.size());
148-
JsonArray responseArray = response.root().to<JsonArray>();
149-
Heaters::toJson(responseArray);
148+
CommandParser::Instance.getHeaters(response.root().to<JsonArray>());
150149
}
151150

152151
void APB::WebServer::onGetPower(AsyncWebServerRequest *request) {

0 commit comments

Comments
 (0)