roughly implemented a dmx endpoint for debug

This commit is contained in:
Hendrik Rauh 2024-12-18 21:35:17 +01:00
parent 7af1725665
commit a5169434cc
3 changed files with 33 additions and 0 deletions

View file

@ -17,6 +17,7 @@
#include <LittleFS.h> #include <LittleFS.h>
#include "routes/config.h" #include "routes/config.h"
#include "routes/networks.h" #include "routes/networks.h"
#include "routes/channels.h"
DMXESPSerial dmx1; DMXESPSerial dmx1;
DMXESPSerial dmx2; DMXESPSerial dmx2;
@ -309,6 +310,9 @@ void setup()
server.on("/networks", HTTP_GET, [](AsyncWebServerRequest *request) server.on("/networks", HTTP_GET, [](AsyncWebServerRequest *request)
{ onGetNetworks(request); }); { onGetNetworks(request); });
server.on("/dmx", HTTP_GET, [](AsyncWebServerRequest *request)
{ onGetChannels(request, dmx1, dmx2); });
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) {

21
src/routes/channels.cpp Normal file
View file

@ -0,0 +1,21 @@
#include "channels.h"
void onGetChannels(AsyncWebServerRequest *request, DMXESPSerial dmx1, DMXESPSerial dmx2)
{
JsonDocument doc;
for (int channel = 1; channel <= DMXCHANNELS; channel++)
{
doc["dmx1"][channel] = dmx1.read(channel);
}
for (int channel = 1; channel <= DMXCHANNELS; channel++)
{
doc["dmx2"][channel] = dmx2.read(channel);
}
String jsonBuffer;
serializeJson(doc, jsonBuffer);
request->send(200, "application/json", jsonBuffer);
}

8
src/routes/channels.h Normal file
View file

@ -0,0 +1,8 @@
#include <Preferences.h>
#include <ArduinoJson.h>
#include <AsyncWebServer_ESP32_W5500.h>
#include "ESPDMX.h"
extern Preferences config;
void onGetChannels(AsyncWebServerRequest *request, DMXESPSerial dmx1, DMXESPSerial dmx2);