|
FastLED 3.10.6
|
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 "fl/channels/detail/wave3.h"#include "fl/channels/detail/bit_spread_lut.hpp"#include "fl/stl/compiler_control.h"#include "fl/stl/isr/memcpy.h"
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). | |