|
FastLED 3.9.15
|
| struct fl::FL_ALIGNAS | ( | 8 | ) |
Container for 8 packed wave symbols (8 bytes total)
Byte-indexed expansion LUT (#2526): 256 entries × 8 bytes = 2 KB.
Lookup table for nibble-to-waveform expansion (64 bytes total)
Holds 8 Wave8Bit structures (1 byte each = 8 bytes total). The struct is 8-byte aligned for optimized memory access.
Maps each 4-bit nibble (0x0 to 0xF) to 4 Wave8Bit structures (4 bytes). This reduces byte conversion from 8 lookups (bit-level) to 2 lookups (nibble-level).
Total size: 16 nibbles × 4 Wave8Bit × 1 byte = 64 bytes
Maps a full input byte directly to its 8 Wave8Bit pulse symbols, so the hot expansion is a single indexed 8-byte copy instead of two nibble lookups + two 4-byte copies. Same total memory traffic, ~half the index/issue work — the win on the in-order RV32 core (which is issue-bound here, not bandwidth- bound). Keep this in internal SRAM (not PSRAM) so the lookup stays fast.
Definition at line 1 of file wave8.h.