@@ -307,12 +307,14 @@ uint8_t WS2812FX::getPaletteCount()
307307
308308
309309bool WS2812FX::setEffectConfig (uint8_t m, uint8_t s, uint8_t in, uint8_t p) {
310+
310311 uint8_t mainSeg = getMainSegmentId ();
311312 Segment& seg = _segments[getMainSegmentId ()];
312313 uint8_t modePrev = seg.mode , speedPrev = seg.speed , intensityPrev = seg.intensity , palettePrev = seg.palette ;
313314
314315 bool applied = false ;
315316
317+ // compile defined as true in FX.h
316318 if (applyToAllSelected)
317319 {
318320 for (uint8_t i = 0 ; i < MAX_NUM_SEGMENTS; i++)
@@ -328,14 +330,21 @@ bool WS2812FX::setEffectConfig(uint8_t m, uint8_t s, uint8_t in, uint8_t p) {
328330 }
329331 }
330332
331- if (!applyToAllSelected || !applied) {
333+ // compiler is claiming this could never be true. Not suer why so leaving the warning
334+ if ( (!applyToAllSelected) || (!applied) ) {
332335 seg.speed = s;
333336 seg.intensity = in;
334337 seg.palette = p;
335338 setMode (mainSegment, m);
336339 }
337340
338- if (seg.mode != modePrev || seg.speed != speedPrev || seg.intensity != intensityPrev || seg.palette != palettePrev) return true ;
341+ // anything changed?
342+ if (seg.mode != modePrev ||
343+ seg.speed != speedPrev ||
344+ seg.intensity != intensityPrev ||
345+ seg.palette != palettePrev)
346+ return true ;
347+
339348 return false ;
340349}
341350
@@ -720,7 +729,7 @@ CRGB WS2812FX::col_to_crgb(uint32_t color)
720729
721730void WS2812FX::load_gradient_palette (uint8_t index)
722731{
723- uint8_t i = ArduinoConstrain ( index, 0 , GRADIENT_PALETTE_COUNT -1 );
732+ uint8_t i = index > (GRADIENT_PALETTE_COUNT - 1 ) ? index : ( GRADIENT_PALETTE_COUNT - 1 );
724733 uint8_t tcp[72 ]; // support gradient palettes with up to 18 entries
725734 memcpy (tcp, &(gGradientPalettes [i]), 72 );
726735 targetPalette.loadDynamicGradientPalette (tcp);
0 commit comments