bugfix: make freeze work again
the last commit had a side-effect that cause "freeze" to first blank the screen, then freeze.
This commit is contained in:
@@ -277,16 +277,16 @@ void Segment::resetIfRequired() {
|
||||
next_time = 0; step = 0; call = 0; aux0 = 0; aux1 = 0;
|
||||
reset = false; // setOption(SEG_OPTION_RESET, false);
|
||||
startFrame(); // WLEDMM update cached propoerties
|
||||
if (isActive()) fill(BLACK); // WLEDMM start clean
|
||||
if (isActive() && !freeze) fill(BLACK); // WLEDMM start clean
|
||||
DEBUG_PRINTLN("Segment reset");
|
||||
} else if (needsBlank) {
|
||||
startFrame(); // WLEDMM update cached propoerties
|
||||
if (isActive()) {
|
||||
if (isActive() && !freeze) {
|
||||
fill(BLACK); // WLEDMM start clean
|
||||
DEBUG_PRINTLN("Segment blanked");
|
||||
needsBlank = false;
|
||||
}
|
||||
}
|
||||
needsBlank = false;
|
||||
}
|
||||
|
||||
void Segment::setUpLeds() {
|
||||
|
||||
@@ -386,13 +386,13 @@ bool deserializeSegment(JsonObject elem, byte it, byte presetId)
|
||||
if (seg.differs(prev) & 0x7F) {
|
||||
stateChanged = true;
|
||||
if ((seg.on == false) && (prev.on == true) && (prev.freeze == false)) prev.fill(BLACK); // WLEDMM: force BLACK if segment was turned off
|
||||
else if (prev.isActive()) prev.fill(BLACK); // WLEDMM fingers crossed
|
||||
seg.markForBlank(); // WLEDMM
|
||||
else if (prev.isActive() && !prev.freeze && !seg.freeze) prev.fill(BLACK); // WLEDMM fingers crossed
|
||||
if (!seg.freeze) seg.markForBlank(); // WLEDMM
|
||||
}
|
||||
else if ((seg.grouping != prev.grouping) || (seg.spacing != prev.spacing) || (seg.transpose != prev.transpose)) {
|
||||
// WLEDMM blank if grouping / spacing changed
|
||||
seg.markForBlank();
|
||||
if (prev.isActive()) prev.fill(BLACK); // WLEDMM fingers crossed
|
||||
if (!seg.freeze) seg.markForBlank();
|
||||
if (prev.isActive() && !prev.freeze) prev.fill(BLACK); // WLEDMM fingers crossed
|
||||
}
|
||||
|
||||
if (iAmGroot) suspendStripService = false; // WLEDMM release lock
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
*/
|
||||
|
||||
// version code in format yymmddb (b = daily build)
|
||||
#define VERSION 2411040
|
||||
#define VERSION 2411070
|
||||
|
||||
// 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.
|
||||
#define _MoonModules_WLED_
|
||||
|
||||
Reference in New Issue
Block a user