From cde497c94e6529f2c7e6bc319b2b5faa23e77ed3 Mon Sep 17 00:00:00 2001 From: Blaz Kristan Date: Tue, 26 Oct 2021 06:29:49 +0200 Subject: [PATCH] Fixing conflict merge errors. --- wled00/cfg.cpp | 1 - wled00/json.cpp | 21 ++++++++++++++++++--- 2 files changed, 18 insertions(+), 4 deletions(-) diff --git a/wled00/cfg.cpp b/wled00/cfg.cpp index 228a251f2..b78bfe189 100644 --- a/wled00/cfg.cpp +++ b/wled00/cfg.cpp @@ -109,7 +109,6 @@ bool deserializeConfig(JsonObject doc, bool fromFS) { } uint16_t length = elm[F("len")] | 1; - if (length==0 || length+lC > MAX_LEDS) continue; // zero length or we reached max. number of LEDs, just stop uint8_t colorOrder = (int)elm[F("order")]; uint8_t skipFirst = elm[F("skip")]; uint16_t start = elm["start"] | 0; diff --git a/wled00/json.cpp b/wled00/json.cpp index 95b7efab9..053d46e41 100644 --- a/wled00/json.cpp +++ b/wled00/json.cpp @@ -166,16 +166,16 @@ void deserializeSegment(JsonObject elem, byte it, byte presetId) strip.fill(0); } - //uint16_t start = 0, stop = 0; + uint16_t start = 0, stop = 0; byte set = 0; //0 nothing set, 1 start set, 2 range set for (uint16_t i = 0; i < iarr.size(); i++) { if(iarr[i].is()) { if (!set) { - //start = iarr[i]; + start = iarr[i]; set = 1; } else { - //stop = iarr[i]; + stop = iarr[i]; set = 2; } } else { //color @@ -191,6 +191,13 @@ void deserializeSegment(JsonObject elem, byte it, byte presetId) for (uint8_t c = 0; c < 4; c++) rgbw[c] = brgbw[c]; } } + + if (set < 2) stop = start + 1; + for (uint16_t i = start; i < stop; i++) { + strip.setPixelColor(i, rgbw[0], rgbw[1], rgbw[2], rgbw[3]); + } + if (!set) start++; + set = 0; } } strip.setPixelSegment(255); @@ -225,6 +232,14 @@ bool deserializeState(JsonObject root, byte callMode, byte presetId) transitionDelayTemp = transitionDelay; } } + + tr = root[F("tt")] | -1; + if (tr >= 0) + { + transitionDelayTemp = tr; + transitionDelayTemp *= 100; + jsonTransitionOnce = true; + } strip.setTransition(transitionDelayTemp); tr = root[F("tb")] | -1;