FastLED 3.10.6
Loading...
Searching...
No Matches
wave3.cpp.hpp File Reference

Detailed Description

Out-of-line definitions for wave3 transposition internals.

Split from the former force-inline detail/wave3.hpp header so callers that don't need per-TU inlining pay the code size once (link-time), not once per translation unit. See detail/wave3.h for the public declarations.

Definition in file wave3.cpp.hpp.

+ Include dependency graph for wave3.cpp.hpp:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  fl
 Base definition for an LED controller.
 
namespace  fl::detail
 Compile-time linker keep-alive hook for a single fl::Bus.
 

Functions

FL_IRAM FL_OPTIMIZE_FUNCTION void fl::wave3 (u8 lane, const Wave3BitExpansionLut &lut, u8(&FL_RESTRICT_PARAM output)[sizeof(Wave3Byte)]) FL_NO_EXCEPT
 Public single-lane wave3 encoder.
 
FL_IRAM FL_OPTIMIZE_FUNCTION void fl::detail::wave3_convert_byte_to_wave3byte (u8 byte_value, const Wave3BitExpansionLut &lut, Wave3Byte *output) FL_NO_EXCEPT
 Convert one byte to a Wave3Byte using the nibble LUT.
 
FL_IRAM FL_OPTIMIZE_FUNCTION void fl::detail::wave3_transpose_16 (const Wave3Byte lane_waves[16], u8 output[16 *sizeof(Wave3Byte)]) FL_NO_EXCEPT
 Transpose 16 lanes of Wave3Byte data via the spread-LUT path (#2533).
 
FL_IRAM FL_OPTIMIZE_FUNCTION void fl::detail::wave3_transpose_2 (const Wave3Byte lane_waves[2], u8 output[2 *sizeof(Wave3Byte)]) FL_NO_EXCEPT
 Transpose 2 lanes of Wave3Byte data into interleaved format.
 
FL_IRAM FL_OPTIMIZE_FUNCTION void fl::detail::wave3_transpose_4 (const Wave3Byte lane_waves[4], u8 output[4 *sizeof(Wave3Byte)]) FL_NO_EXCEPT
 Transpose 4 lanes of Wave3Byte data.
 
FL_IRAM FL_OPTIMIZE_FUNCTION void fl::detail::wave3_transpose_8 (const Wave3Byte lane_waves[8], u8 output[8 *sizeof(Wave3Byte)]) FL_NO_EXCEPT
 Transpose 8 lanes of Wave3Byte data via the spread-LUT path (#2533).