MCPcopy Create free account
hub / github.com/FastLED/FastLED / wave8Transpose_4

Function wave8Transpose_4

src/fl/channels/wave8.cpp.hpp:40–54  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

38}
39
40FL_OPTIMIZE_FUNCTION FL_IRAM
41void wave8Transpose_4(const u8 (&FL_RESTRICT_PARAM lanes)[4],
42 const Wave8BitExpansionLut &lut,
43 u8 (&FL_RESTRICT_PARAM output)[4 * sizeof(Wave8Byte)]) {
44 // Allocate waveform buffers on stack (32 Wave8Bit total: 8 packed bytes per lane × 4 lanes)
45 Wave8Byte laneWaveformSymbols[4];
46
47 // Convert each lane byte to wave pulse symbols (8 packed bytes each)
48 for (int lane = 0; lane < 4; lane++) {
49 detail::wave8_convert_byte_to_wave8byte(lanes[lane], lut, &laneWaveformSymbols[lane]);
50 }
51
52 // Transpose waveforms to DMA format (interleave 32 packed bytes to 32 bytes)
53 detail::wave8_transpose_4(laneWaveformSymbols, output);
54}
55
56FL_OPTIMIZE_FUNCTION FL_IRAM
57void wave8Transpose_8(const u8 (&FL_RESTRICT_PARAM lanes)[8],

Callers 1

FL_TEST_FILEFunction · 0.85

Calls 3

wave8_transpose_4Function · 0.85
wave8_expand_byteFunction · 0.85

Tested by

no test coverage detected