From eff77036cde00aa314c9d20a95acb0202ed72dba Mon Sep 17 00:00:00 2001 From: RaffaelW Date: Sun, 3 Nov 2024 00:20:55 +0100 Subject: [PATCH] added missing fields and fixed loading of IP --- src/main.cpp | 14 +++++++++----- src/routes/config.cpp | 12 +++++++++--- src/routes/config.h | 2 +- 3 files changed, 19 insertions(+), 9 deletions(-) diff --git a/src/main.cpp b/src/main.cpp index e8095ef..d04f5f3 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -19,7 +19,11 @@ void setup() config.begin("dmx", false); - uint8_t universe = config.getUChar("universe", 1); + uint8_t universe1 = config.getUChar("universe-1", 1); + uint8_t universe2 = config.getUChar("universe-2", 1); + + Direction direction1 = static_cast(config.getUInt("direction-1", 0)); + Direction direction2 = static_cast(config.getUInt("direction-2", 1)); String ssid = config.getString("ssid", "artnet"); String pwd = config.getString("password", "mbgmbgmbg"); @@ -51,7 +55,7 @@ void setup() dmx.init(); // if Artnet packet comes to this universe, this function is called - artnet.subscribeArtDmxUniverse(universe, [&](const uint8_t *data, uint16_t size, const ArtDmxMetadata &metadata, const ArtNetRemoteInfo &remote) + artnet.subscribeArtDmxUniverse(universe1, [&](const uint8_t *data, uint16_t size, const ArtDmxMetadata &metadata, const ArtNetRemoteInfo &remote) { for (size_t i = 0; i < size; ++i) { @@ -71,15 +75,15 @@ void setup() server.serveStatic("/", SPIFFS, "/").setDefaultFile("index.html"); - server.on("/config", HTTP_GET, [&, defaultIp, ssid, pwd, universe](AsyncWebServerRequest *request) - { onGetConfig(ssid, pwd, defaultIp, universe, request); }); + server.on("/config", HTTP_GET, [&, defaultIp, ssid, pwd, direction1, universe1, direction2, universe2](AsyncWebServerRequest *request) + { onGetConfig(ssid, pwd, defaultIp, universe1, direction1, universe2, direction2, request); }); server.onRequestBody([](AsyncWebServerRequest *request, uint8_t *data, size_t len, size_t index, size_t total) { if (request->url() == "/config" && request->method() == HTTP_PUT) { onPutConfig(request, data, len, index, total); } }); - + delay(1000); server.begin(); Serial.println("Server started!"); diff --git a/src/routes/config.cpp b/src/routes/config.cpp index 98f65fe..30fd565 100644 --- a/src/routes/config.cpp +++ b/src/routes/config.cpp @@ -87,14 +87,20 @@ Direction parseDirection(uint8_t direction) #pragma endregion -void onGetConfig(String ssid, String pwd, uint32_t ip, uint8_t universe, AsyncWebServerRequest *request) +void onGetConfig(String ssid, String pwd, uint32_t ip, uint8_t universe1, Direction direction1, uint8_t universe2, Direction direction2, AsyncWebServerRequest *request) { JsonDocument doc; + IPAddress ipAddr = ip; + String ipString = ipAddr.toString(); + doc["ssid"] = ssid; doc["password"] = pwd; - doc["ip"] = ip; - doc["universe"] = universe; + doc["ip"] = ipString; + doc["universe-1"] = universe1; + doc["direction-1"] = direction1; + doc["universe-2"] = universe2; + doc["direction-2"] = direction2; String jsonString; serializeJson(doc, jsonString); diff --git a/src/routes/config.h b/src/routes/config.h index a043a40..3ea31a5 100644 --- a/src/routes/config.h +++ b/src/routes/config.h @@ -28,7 +28,7 @@ enum Direction Output }; -void onGetConfig(String ssid, String pwd, uint32_t ip, uint8_t universe, AsyncWebServerRequest *request); +void onGetConfig(String ssid, String pwd, uint32_t ip, uint8_t universe1, Direction direction1, uint8_t universe2, Direction direction2, AsyncWebServerRequest *request); void onPutConfig(AsyncWebServerRequest *request, uint8_t *data, size_t len, size_t index, size_t total);