FastLED 3.9.15
Loading...
Searching...
No Matches
wave3.hpp File Reference

Detailed Description

Inline implementation details for wave3 transposition.

This header contains force-inlined implementations of wave3 transposition functions for optimal performance in ISR/DMA contexts.

Definition in file wave3.hpp.

+ Include dependency graph for wave3.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

FASTLED_FORCE_INLINE FL_IRAM FL_OPTIMIZE_FUNCTION void fl::wave3 (u8 lane, const Wave3BitExpansionLut &lut, u8(&FL_RESTRICT_PARAM output)[sizeof(Wave3Byte)])
 Convert byte to 3 wave3 bytes using nibble LUT.
 
FASTLED_FORCE_INLINE FL_IRAM FL_OPTIMIZE_FUNCTION void fl::detail::wave3_convert_byte_to_wave3byte (u8 byte_value, const Wave3BitExpansionLut &lut, Wave3Byte *output)
 Helper: Convert byte to Wave3Byte using nibble LUT (internal use only)
 
FASTLED_FORCE_INLINE FL_IRAM FL_OPTIMIZE_FUNCTION void fl::detail::wave3_transpose_16 (const Wave3Byte lane_waves[16], u8 output[16 *sizeof(Wave3Byte)])
 Transpose 16 lanes of Wave3Byte data into interleaved format.
 
FASTLED_FORCE_INLINE FL_IRAM FL_OPTIMIZE_FUNCTION void fl::detail::wave3_transpose_2 (const Wave3Byte lane_waves[2], u8 output[2 *sizeof(Wave3Byte)])
 Transpose 2 lanes of Wave3Byte data into interleaved format.
 
FASTLED_FORCE_INLINE FL_IRAM FL_OPTIMIZE_FUNCTION void fl::detail::wave3_transpose_4 (const Wave3Byte lane_waves[4], u8 output[4 *sizeof(Wave3Byte)])
 Transpose 4 lanes of Wave3Byte data into interleaved format.
 
FASTLED_FORCE_INLINE FL_IRAM FL_OPTIMIZE_FUNCTION void fl::detail::wave3_transpose_8 (const Wave3Byte lane_waves[8], u8 output[8 *sizeof(Wave3Byte)])
 Transpose 8 lanes of Wave3Byte data into interleaved format.