diff --git a/wled00/FX_fcn.cpp b/wled00/FX_fcn.cpp index 7c87a2920..c1ee11afa 100644 --- a/wled00/FX_fcn.cpp +++ b/wled00/FX_fcn.cpp @@ -125,9 +125,12 @@ void WS2812FX::setPixelColor(uint16_t i, byte r, byte g, byte b, byte w) /* Set all the pixels in the group, ensuring _skipFirstMode is honored */ bool reversed = reverseMode ^ IS_REVERSE; uint16_t realIndex = realPixelIndex(i); + for (uint16_t j = 0; j < SEGMENT.grouping; j++) { int16_t indexSet = realIndex + (reversed ? -j : j); - if (indexSet >= SEGMENT.start && indexSet < SEGMENT.stop) bus->SetPixelColor(indexSet + skip, col); + int16_t indexSetRev = indexSet; + if (reverseMode) indexSetRev = _length - 1 - indexSet; + if (indexSetRev >= SEGMENT.start && indexSetRev < SEGMENT.stop) bus->SetPixelColor(indexSet + skip, col); } } else { //live data, etc. if (reverseMode) i = _length - 1 - i; diff --git a/wled00/wled00.ino b/wled00/wled00.ino index f186f5e84..245ba3a33 100644 --- a/wled00/wled00.ino +++ b/wled00/wled00.ino @@ -90,7 +90,7 @@ #endif //version code in format yymmddb (b = daily build) -#define VERSION 2002021 +#define VERSION 2002161 char versionString[] = "0.9.1";