Skip to content

Commit 124d807

Browse files
committed
Update old segment's next_time
1 parent 186dbdd commit 124d807

1 file changed

Lines changed: 2 additions & 5 deletions

File tree

wled00/FX_fcn.cpp

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1254,7 +1254,6 @@ void WS2812FX::service() {
12541254
// last condition ensures all solid segments are updated at the same time
12551255
if (mustUpdate || seg.needsUpdate(nowUp)) {
12561256
doShow = true;
1257-
unsigned frameDelay = FRAMETIME;
12581257

12591258
if (!seg.freeze) { //only run effect function if not frozen
12601259
// Effect blending
@@ -1264,7 +1263,7 @@ void WS2812FX::service() {
12641263
seg.beginDraw(prog); // set up parameters for get/setPixelColor() (will also blend colors and palette if blend style is FADE)
12651264
_currentSegment = &seg; // set current segment for effect functions (SEGMENT & SEGENV)
12661265
// workaround for on/off transition to respect blending style
1267-
frameDelay = (*_mode[seg.mode])(); // run new/current mode (needed for bri workaround)
1266+
seg.next_time = nowUp + (*_mode[seg.mode])(); // run new/current mode (needed for bri workaround)
12681267
seg.call++;
12691268
}
12701269
// if segment is in transition and no old segment exists we don't need to run the old mode
@@ -1278,14 +1277,12 @@ void WS2812FX::service() {
12781277
segO->beginDraw(prog); // set up palette & colors (also sets draw dimensions), parent segment has transition progress
12791278
_currentSegment = segO; // set current segment
12801279
// workaround for on/off transition to respect blending style
1281-
frameDelay = min(frameDelay, (unsigned)(*_mode[segO->mode])()); // run old mode (needed for bri workaround; semaphore!!)
1280+
segO->next_time = nowUp + (*_mode[segO->mode])(); // run old mode (needed for bri workaround; semaphore!!)
12821281
segO->call++; // increment old mode run counter
12831282
Segment::modeBlend(false); // unset semaphore
12841283
}
12851284
}
12861285
}
1287-
1288-
seg.next_time = nowUp + frameDelay;
12891286
}
12901287
_segment_index++;
12911288
}

0 commit comments

Comments
 (0)