FastLED 3.10.6
Loading...
Searching...
No Matches

◆ buildWave8ByteExpansionLUT() [2/2]

void fl::buildWave8ByteExpansionLUT ( const Wave8BitExpansionLut & nibble,
Wave8ByteExpansionLut & out )

Out-param overload: fill an existing 2 KB LUT in place.

Prefer this on embedded targets — the by-value overload materialises a 2 KB temporary on the caller's stack (FastLED#3569 stack-canary panic on classic ESP32's 8 KB loop task).

Definition at line 314 of file wave8.cpp.hpp.

315 {
316 for (int b = 0; b < 256; ++b) {
317 const Wave8Bit *hi = nibble.lut[(b >> 4) & 0xF];
318 const Wave8Bit *lo = nibble.lut[b & 0xF];
319 for (int i = 0; i < 4; ++i) {
320 out.lut[b].symbols[i] = hi[i];
321 out.lut[b].symbols[i + 4] = lo[i];
322 }
323 }
324}
Type-safe container for packed 8-bit wave pulse pattern.
Definition wave8.h:22

References FL_NO_EXCEPT.

Referenced by buildWave8ByteExpansionLUT().

+ Here is the caller graph for this function: