FastLED 3.10.8
Loading...
Searching...
No Matches

◆ wave8Transpose_4() [1/2]

void fl::wave8Transpose_4 ( const u8(&) lanes[4],
const Wave8BitExpansionLut & lut,
u8(&) output[4 *sizeof(Wave8Byte)] )

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

45 {
46 // Allocate waveform buffers on stack (32 Wave8Bit total: 8 packed bytes per lane × 4 lanes)
47 Wave8Byte laneWaveformSymbols[4];
48
49 // Convert each lane byte to wave pulse symbols (8 packed bytes each)
50 for (int lane = 0; lane < 4; lane++) {
51 detail::wave8_convert_byte_to_wave8byte(lanes[lane], lut, &laneWaveformSymbols[lane]);
52 }
53
54 // Transpose waveforms to DMA format (interleave 32 packed bytes to 32 bytes)
55 detail::wave8_transpose_4(laneWaveformSymbols, output);
56}
FL_IRAM FL_OPTIMIZE_FUNCTION void wave8_transpose_4(const Wave8Byte lane_waves[4], u8 output[4 *sizeof(Wave8Byte)]) FL_NO_EXCEPT
Definition wave8.cpp.hpp:62
FL_IRAM FL_OPTIMIZE_FUNCTION void wave8_convert_byte_to_wave8byte(u8 byte_value, const Wave8BitExpansionLut &lut, Wave8Byte *output) FL_NO_EXCEPT
Definition wave8.cpp.hpp:24

References FL_NO_EXCEPT, FL_RESTRICT_PARAM, fl::detail::wave8_convert_byte_to_wave8byte(), and fl::detail::wave8_transpose_4().

+ Here is the call graph for this function: