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

Function wave8Transpose_8

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

Source from the content-addressed store, hash-verified

54}
55
56FL_OPTIMIZE_FUNCTION FL_IRAM
57void wave8Transpose_8(const u8 (&FL_RESTRICT_PARAM lanes)[8],
58 const Wave8BitExpansionLut &lut,
59 u8 (&FL_RESTRICT_PARAM output)[8 * sizeof(Wave8Byte)]) {
60 // Allocate waveform buffers on stack (64 Wave8Bit total: 8 packed bytes per lane × 8 lanes)
61 Wave8Byte laneWaveformSymbols[8];
62
63 // Convert each lane byte to wave pulse symbols (8 packed bytes each)
64 for (int lane = 0; lane < 8; lane++) {
65 detail::wave8_convert_byte_to_wave8byte(lanes[lane], lut, &laneWaveformSymbols[lane]);
66 }
67
68 // Transpose waveforms to DMA format (interleave 64 packed bytes to 64 bytes)
69 detail::wave8_transpose_8(laneWaveformSymbols, output);
70}
71
72FL_OPTIMIZE_FUNCTION FL_IRAM
73void wave8Transpose_16(const u8 (&FL_RESTRICT_PARAM lanes)[16],

Callers 2

FL_TEST_FILEFunction · 0.85
FL_TEST_FILEFunction · 0.85

Calls 3

wave8_transpose_8Function · 0.85
wave8_expand_byteFunction · 0.85

Tested by

no test coverage detected