|
FastLED 3.10.6
|
Out-of-line declarations for wave3 transposition internals.
Split from the former detail/wave3.hpp force-inline header. Callers now include this .h and link against detail/wave3.cpp.hpp. The transposes are still in IRAM and are still FL_OPTIMIZE_FUNCTION — they are just no longer force-inlined into every translation unit that references them. The unity build compiles the .cpp.hpp once and every caller resolves via normal link.
Definition in file wave3.h.
Include dependency graph for wave3.h:
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). | |