Fix for mirrored segments.
This commit is contained in:
parent
2d55056015
commit
90da471084
@ -193,13 +193,13 @@ void WS2812FX::setPixelColor(uint16_t i, byte r, byte g, byte b, byte w)
|
|||||||
for (uint16_t j = 0; j < SEGMENT.grouping; j++) {
|
for (uint16_t j = 0; j < SEGMENT.grouping; j++) {
|
||||||
int16_t indexSet = realIndex + (reversed ? -j : j);
|
int16_t indexSet = realIndex + (reversed ? -j : j);
|
||||||
if (indexSet >= SEGMENT.start && indexSet < SEGMENT.stop) {
|
if (indexSet >= SEGMENT.start && indexSet < SEGMENT.stop) {
|
||||||
if (indexSet < customMappingSize) indexSet = customMappingTable[indexSet];
|
|
||||||
busses.setPixelColor(indexSet + skip, col);
|
|
||||||
if (IS_MIRROR) { //set the corresponding mirrored pixel
|
if (IS_MIRROR) { //set the corresponding mirrored pixel
|
||||||
uint16_t indexMir = SEGMENT.stop - indexSet + SEGMENT.start - 1;
|
uint16_t indexMir = SEGMENT.stop - indexSet + SEGMENT.start - 1;
|
||||||
if (indexMir < customMappingSize) indexMir = customMappingTable[indexMir];
|
if (indexMir < customMappingSize) indexMir = customMappingTable[indexMir];
|
||||||
busses.setPixelColor(indexMir + skip, col);
|
busses.setPixelColor(indexMir + skip, col);
|
||||||
}
|
}
|
||||||
|
if (indexSet < customMappingSize) indexSet = customMappingTable[indexSet];
|
||||||
|
busses.setPixelColor(indexSet + skip, col);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else { //live data, etc.
|
} else { //live data, etc.
|
||||||
|
Loading…
Reference in New Issue
Block a user