Skip to content

Commit 27e0bff

Browse files
committed
make "segment off" work (MM specific) - fixes #90
fix for #90 In principle its dangerous to write pixels from the webserver callback, but in this case we should be save - `suspendStripService=true` ensures that strip.service() is not active in the main loopTask.
1 parent 302f18f commit 27e0bff

File tree

2 files changed

+5
-2
lines changed

2 files changed

+5
-2
lines changed

wled00/json.cpp

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -369,7 +369,10 @@ bool deserializeSegment(JsonObject elem, byte it, byte presetId)
369369
strip.trigger(); // force segment update
370370
}
371371
// send UDP/WS if segment options changed (except selection; will also deselect current preset)
372-
if (seg.differs(prev) & 0x7F) stateChanged = true;
372+
if (seg.differs(prev) & 0x7F) {
373+
stateChanged = true;
374+
if ((seg.on == false) && (prev.on == true) && (prev.freeze == false)) prev.fill(BLACK); // WLEDMM: force BLACK if segment was turned off
375+
}
373376

374377
if (iAmGroot) suspendStripService = false; // WLEDMM release lock
375378
return true;

wled00/wled.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
*/
99

1010
// version code in format yymmddb (b = daily build)
11-
#define VERSION 2401030
11+
#define VERSION 2401260
1212

1313
// WLEDMM - you can check for this define in usermods, to only enabled WLEDMM specific code in the "right" fork. Its not defined in AC WLED.
1414
#define _MoonModules_WLED_

0 commit comments

Comments
 (0)