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

Function wave8Transpose_2

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

Source from the content-addressed store, hash-verified

21// ============================================================================
22
23FL_OPTIMIZE_FUNCTION FL_IRAM
24void wave8Transpose_2(const u8 (&FL_RESTRICT_PARAM lanes)[2],
25 const Wave8BitExpansionLut &lut,
26 u8 (&FL_RESTRICT_PARAM output)[2 * sizeof(Wave8Byte)]) {
27 // Allocate waveform buffers on stack (16 Wave8Bit total: 8 packed bytes per lane × 2 lanes)
28 // Each Wave8Byte is 8 bytes (8 Wave8Bit × 1 byte each)
29 // Layout: [Lane0_bit7, Lane0_bit6, ..., Lane0_bit0, Lane1_bit7, Lane1_bit6, ..., Lane1_bit0]
30 Wave8Byte laneWaveformSymbols[2];
31
32 // Convert each lane byte to wave pulse symbols (8 packed bytes each)
33 detail::wave8_convert_byte_to_wave8byte(lanes[0], lut, &laneWaveformSymbols[0]);
34 detail::wave8_convert_byte_to_wave8byte(lanes[1], lut, &laneWaveformSymbols[1]);
35
36 // Transpose waveforms to DMA format (interleave 8 packed bytes to 16 bytes)
37 detail::wave8_transpose_2(laneWaveformSymbols, output);
38}
39
40FL_OPTIMIZE_FUNCTION FL_IRAM
41void wave8Transpose_4(const u8 (&FL_RESTRICT_PARAM lanes)[4],

Callers 2

FL_TEST_FILEFunction · 0.85
FL_TEST_FILEFunction · 0.85

Calls 3

wave8_transpose_2Function · 0.85
wave8_expand_byteFunction · 0.85

Tested by

no test coverage detected