From ee8596d175e7b2e4617572eab5eca401f1bbd73b Mon Sep 17 00:00:00 2001 From: cschwinne Date: Tue, 29 Sep 2020 01:13:29 +0200 Subject: [PATCH] DDP working --- CHANGELOG.md | 7 ++++++- wled00/data/settings_sync.htm | 2 +- wled00/e131.cpp | 4 ++-- wled00/html_settings.h | 2 +- wled00/set.cpp | 1 - wled00/src/dependencies/e131/ESPAsyncE131.cpp | 2 +- wled00/wled.h | 2 +- 7 files changed, 12 insertions(+), 8 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index d587cb5d2..50e55ed84 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,9 +2,14 @@ ### Development versions after the 0.10.2 release +#### Build 2009290 + +- Added basic DDP protocol support +- Added Washing Machine effect (PR #1208) + #### Build 2009260 -- Added Loxone parser +- Added Loxone parser (PR #1185) - Added support for kelvin input via `K=` HTTP and `"col":[[val]]` JSON API calls - Added supplementary UDP socket (#1205) - TMP2.net receivable by default diff --git a/wled00/data/settings_sync.htm b/wled00/data/settings_sync.htm index 99af36157..89030c3c5 100644 --- a/wled00/data/settings_sync.htm +++ b/wled00/data/settings_sync.htm @@ -5,7 +5,7 @@ function H(){window.open("https://github.com/Aircoookie/WLED/wiki/Settings#sync- function adj(){if (d.Sf.DI.value == 6454) {if (d.Sf.DA.value == 1) d.Sf.DA.value = 0; if (d.Sf.EU.value == 1) d.Sf.EU.value = 0;} else if (d.Sf.DI.value == 5568) {if (d.Sf.DA.value == 0) d.Sf.DA.value = 1; if (d.Sf.EU.value == 0) d.Sf.EU.value = 1;} } function SP(){var p = d.Sf.DI.value; d.getElementById("xp").style.display = (p > 0)?"none":"block"; if (p > 0) d.Sf.EP.value = p;} -function SetVal(){switch(parseInt(d.Sf.EP.value)){case 5568: d.Sf.DI.value = 5568; break; case 6454: d.Sf.DI.value = 6454; break; }; SP();} +function SetVal(){switch(parseInt(d.Sf.EP.value)){case 5568: d.Sf.DI.value = 5568; break; case 6454: d.Sf.DI.value = 6454; break; case 4048: d.Sf.DI.value = 4048; break; }; SP();} function S(){GetV();SetVal();} function GetV(){var d=document;} diff --git a/wled00/e131.cpp b/wled00/e131.cpp index bfc135156..12e2ba85c 100644 --- a/wled00/e131.cpp +++ b/wled00/e131.cpp @@ -24,8 +24,8 @@ void handleDDPPacket(e131_packet_t* p) { } } - uint16_t offsetLeds = p->channelOffset /3; - uint16_t packetLeds = p->dataLen /3; + uint32_t offsetLeds = htonl(p->channelOffset) /3; + uint16_t packetLeds = htons(p->dataLen) /3; uint8_t* data = p->data; uint16_t c = 0; if (p->flags & DDP_TIMECODE_FLAG) c = 4; //packet has timecode flag, we do not support it, but data starts 4 bytes later diff --git a/wled00/html_settings.h b/wled00/html_settings.h index 6bebd2ebe..98e0c922a 100644 --- a/wled00/html_settings.h +++ b/wled00/html_settings.h @@ -357,7 +357,7 @@ onclick="Save()">Save)====="; // Autogenerated from wled00/data/settings_sync.htm, do not edit!! const char PAGE_settings_sync[] PROGMEM = R"=====(Sync Settings