Fix for smaller number of pixeld than matrix size.

Borrowed from upstream / onepx-segment
This commit is contained in:
Ewoud
2023-03-11 21:18:21 +01:00
parent cac975c046
commit 2f024568de
3 changed files with 20 additions and 11 deletions

View File

@@ -720,7 +720,6 @@ class WS2812FX { // 96 bytes
finalizeInit(),
service(void),
setMode(uint8_t segid, uint8_t m),
setColor(uint8_t slot, uint8_t r, uint8_t g, uint8_t b, uint8_t w = 0),
setColor(uint8_t slot, uint32_t c),
setCCT(uint16_t k),
setBrightness(uint8_t b, bool direct = false),
@@ -738,7 +737,8 @@ class WS2812FX { // 96 bytes
setTargetFps(uint8_t fps),
enumerateLedmaps(); //WLEDMM (from fcn_declare)
void fill(uint32_t c) { for (int i = 0; i < _length; i++) setPixelColor(i, c); } // fill whole strip with color (inline)
void setColor(uint8_t slot, uint8_t r, uint8_t g, uint8_t b, uint8_t w = 0) { setColor(slot, RGBW32(r,g,b,w)); }
void fill(uint32_t c) { for (int i = 0; i < getLengthTotal(); i++) setPixelColor(i, c); } // fill whole strip with color (inline)
void addEffect(uint8_t id, mode_ptr mode_fn, const char *mode_name); // add effect to the list; defined in FX.cpp
void setupEffectData(void); // add default effects to the list; defined in FX.cpp
@@ -786,17 +786,17 @@ class WS2812FX { // 96 bytes
ablMilliampsMax,
currentMilliamps,
getLengthPhysical(void),
getLengthTotal(void), // will include virtual/nonexistent pixels in matrix
getFps();
inline uint16_t getFrameTime(void) { return _frametime; }
inline uint16_t getMinShowDelay(void) { return MIN_SHOW_DELAY; }
inline uint16_t getLengthTotal(void) { return _length; }
inline uint16_t getLength(void) { return _length; } // 2D matrix may have less pixels than W*H
inline uint16_t getTransition(void) { return _transitionDur; }
uint32_t
now,
timebase,
currentColor(uint32_t colorNew, uint8_t tNr),
getPixelColor(uint16_t);
inline uint32_t getLastShow(void) { return _lastShow; }