mirror of
https://github.com/HendrikRauh/dmx-interface.git
synced 2025-05-19 10:32:56 +00:00
Merge branch 'main' into 30-add-dmx-in-capability
This commit is contained in:
commit
b93ae3d682
5 changed files with 53 additions and 6 deletions
|
@ -7,11 +7,11 @@
|
|||
<link rel="stylesheet" href="/style.css" />
|
||||
<script type="module" src="/input-visibility.js" defer></script>
|
||||
<script type="module" src="/loading-screen.js" defer></script>
|
||||
<script type="module" src="/range-input.js" defer></script>
|
||||
<script type="module" src="/load-data.js" defer></script>
|
||||
<script type="module" src="/networks.js" defer></script>
|
||||
<script type="module" src="/submit.js" defer></script>
|
||||
<script type="module" src="/reset.js" defer></script>
|
||||
<script type="module" src="/range-input.js" defer></script>
|
||||
</head>
|
||||
<body>
|
||||
<main>
|
||||
|
|
|
@ -1,14 +1,20 @@
|
|||
document.querySelector("form").addEventListener("input", (event) => {
|
||||
const form = document.querySelector("form");
|
||||
|
||||
form.addEventListener("input", (event) => {
|
||||
if (event.target.classList.contains("range")) {
|
||||
updateValue(event.target);
|
||||
}
|
||||
});
|
||||
|
||||
form.addEventListener("change", () => {
|
||||
console.log("received change event");
|
||||
document.querySelectorAll("input[type='range']").forEach((input) => {
|
||||
updateValue(input);
|
||||
});
|
||||
});
|
||||
|
||||
function updateValue(slider) {
|
||||
console.log("update slide value");
|
||||
const percentage = Math.round((slider.value / slider.max) * 100);
|
||||
slider.nextElementSibling.innerText = `${percentage}%`;
|
||||
}
|
||||
|
||||
document.querySelectorAll("input[type='range'].range").forEach((element) => {
|
||||
updateValue(element);
|
||||
});
|
||||
|
|
|
@ -23,6 +23,7 @@
|
|||
#include <LittleFS.h>
|
||||
#include "routes/config.h"
|
||||
#include "routes/networks.h"
|
||||
#include "routes/channels.h"
|
||||
|
||||
//DMXESPSerial dmx1;
|
||||
//DMXESPSerial dmx2;
|
||||
|
@ -395,6 +396,9 @@ void setup()
|
|||
server.on("/networks", HTTP_GET, [](AsyncWebServerRequest *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)
|
||||
{
|
||||
if (request->url() == "/config" && request->method() == HTTP_PUT) {
|
||||
|
|
29
src/routes/channels.cpp
Normal file
29
src/routes/channels.cpp
Normal file
|
@ -0,0 +1,29 @@
|
|||
#include "channels.h"
|
||||
|
||||
void onGetChannels(AsyncWebServerRequest *request, DMXESPSerial dmx1, DMXESPSerial dmx2)
|
||||
{
|
||||
JsonDocument doc;
|
||||
|
||||
for (int channel = 1; channel <= DMXCHANNELS; channel++)
|
||||
{
|
||||
uint8_t value = dmx1.read(channel);
|
||||
if (value != 0)
|
||||
{
|
||||
doc["dmx1"][String(channel)] = value;
|
||||
}
|
||||
}
|
||||
|
||||
for (int channel = 1; channel <= DMXCHANNELS; channel++)
|
||||
{
|
||||
uint8_t value = dmx2.read(channel);
|
||||
if (value != 0)
|
||||
{
|
||||
doc["dmx2"][String(channel)] = value;
|
||||
}
|
||||
}
|
||||
|
||||
String jsonBuffer;
|
||||
serializeJson(doc, jsonBuffer);
|
||||
|
||||
request->send(200, "application/json", jsonBuffer);
|
||||
}
|
8
src/routes/channels.h
Normal file
8
src/routes/channels.h
Normal 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);
|
Loading…
Add table
Reference in a new issue