diff --git a/wled00/wled00.ino b/wled00/wled00.ino index bc4837a72..850dcda43 100644 --- a/wled00/wled00.ino +++ b/wled00/wled00.ino @@ -90,7 +90,7 @@ #endif //version code in format yymmddb (b = daily build) -#define VERSION 2001151 +#define VERSION 2001191 char versionString[] = "0.9.0-b2"; diff --git a/wled00/wled02_xml.ino b/wled00/wled02_xml.ino index 441712e00..9940c1a53 100644 --- a/wled00/wled02_xml.ino +++ b/wled00/wled02_xml.ino @@ -53,7 +53,9 @@ char* XML_response(AsyncWebServerRequest *request, char* dest = nullptr) } oappend(""); oappendi(colSec[3]); - oappend(""); + oappend(""); + oappendi((currentPreset < 1) ? 0:currentPreset); + oappend(""); oappendi(presetCyclingEnabled); oappend(""); if (realtimeActive) diff --git a/wled00/wled03_set.ino b/wled00/wled03_set.ino index 3ebec49b1..a1ad3c6df 100644 --- a/wled00/wled03_set.ino +++ b/wled00/wled03_set.ino @@ -377,11 +377,14 @@ bool handleSet(AsyncWebServerRequest *request, const String& req) if (t < strip.getMaxSegments()) main = t; } + WS2812FX::Segment& mainseg = strip.getSegment(main); pos = req.indexOf("SV="); //segment selected - if (pos > 0) strip.getSegment(main).setOption(0, (req.charAt(pos+3) != '0')); + if (pos > 0) mainseg.setOption(0, (req.charAt(pos+3) != '0')); - uint16_t startI = strip.getSegment(main).start; - uint16_t stopI = strip.getSegment(main).stop; + uint16_t startI = mainseg.start; + uint16_t stopI = mainseg.stop; + uint8_t grpI = mainseg.grouping; + uint16_t spcI = mainseg.spacing; pos = req.indexOf("&S="); //segment start if (pos > 0) { startI = getNumVal(&req, pos); @@ -390,7 +393,16 @@ bool handleSet(AsyncWebServerRequest *request, const String& req) if (pos > 0) { stopI = getNumVal(&req, pos); } - strip.setSegment(main, startI, stopI); + pos = req.indexOf("GP="); //segment grouping + if (pos > 0) { + grpI = getNumVal(&req, pos); + if (grpI == 0) grpI = 1; + } + pos = req.indexOf("SP="); //segment spacing + if (pos > 0) { + spcI = getNumVal(&req, pos); + } + strip.setSegment(main, startI, stopI, grpI, spcI); main = strip.getMainSegmentId();