added missing fields and fixed loading of IP

This commit is contained in:
RaffaelW 2024-11-03 00:20:55 +01:00
parent 11f91075d3
commit eff77036cd
3 changed files with 19 additions and 9 deletions

View file

@ -19,7 +19,11 @@ void setup()
config.begin("dmx", false); 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<Direction>(config.getUInt("direction-1", 0));
Direction direction2 = static_cast<Direction>(config.getUInt("direction-2", 1));
String ssid = config.getString("ssid", "artnet"); String ssid = config.getString("ssid", "artnet");
String pwd = config.getString("password", "mbgmbgmbg"); String pwd = config.getString("password", "mbgmbgmbg");
@ -51,7 +55,7 @@ void setup()
dmx.init(); dmx.init();
// if Artnet packet comes to this universe, this function is called // 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) for (size_t i = 0; i < size; ++i)
{ {
@ -71,15 +75,15 @@ void setup()
server.serveStatic("/", SPIFFS, "/").setDefaultFile("index.html"); server.serveStatic("/", SPIFFS, "/").setDefaultFile("index.html");
server.on("/config", HTTP_GET, [&, defaultIp, ssid, pwd, universe](AsyncWebServerRequest *request) server.on("/config", HTTP_GET, [&, defaultIp, ssid, pwd, direction1, universe1, direction2, universe2](AsyncWebServerRequest *request)
{ onGetConfig(ssid, pwd, defaultIp, universe, 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) server.onRequestBody([](AsyncWebServerRequest *request, uint8_t *data, size_t len, size_t index, size_t total)
{ {
if (request->url() == "/config" && request->method() == HTTP_PUT) { if (request->url() == "/config" && request->method() == HTTP_PUT) {
onPutConfig(request, data, len, index, total); onPutConfig(request, data, len, index, total);
} }); } });
delay(1000); delay(1000);
server.begin(); server.begin();
Serial.println("Server started!"); Serial.println("Server started!");

View file

@ -87,14 +87,20 @@ Direction parseDirection(uint8_t direction)
#pragma endregion #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; JsonDocument doc;
IPAddress ipAddr = ip;
String ipString = ipAddr.toString();
doc["ssid"] = ssid; doc["ssid"] = ssid;
doc["password"] = pwd; doc["password"] = pwd;
doc["ip"] = ip; doc["ip"] = ipString;
doc["universe"] = universe; doc["universe-1"] = universe1;
doc["direction-1"] = direction1;
doc["universe-2"] = universe2;
doc["direction-2"] = direction2;
String jsonString; String jsonString;
serializeJson(doc, jsonString); serializeJson(doc, jsonString);

View file

@ -28,7 +28,7 @@ enum Direction
Output 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); void onPutConfig(AsyncWebServerRequest *request, uint8_t *data, size_t len, size_t index, size_t total);