FastLED 3.10.6
Loading...
Searching...
No Matches
wave3.h
Go to the documentation of this file.
1
10
11#pragma once
12
13// IWYU pragma: private
14
15#include "fl/channels/wave3.h"
17
18namespace fl {
19
20namespace detail {
21
26 const Wave3BitExpansionLut& lut,
27 Wave3Byte* output) FL_NO_EXCEPT;
28
30void wave3_transpose_2(const Wave3Byte lane_waves[2],
31 u8 output[2 * sizeof(Wave3Byte)]) FL_NO_EXCEPT;
32
34void wave3_transpose_4(const Wave3Byte lane_waves[4],
35 u8 output[4 * sizeof(Wave3Byte)]) FL_NO_EXCEPT;
36
38void wave3_transpose_8(const Wave3Byte lane_waves[8],
39 u8 output[8 * sizeof(Wave3Byte)]) FL_NO_EXCEPT;
40
42void wave3_transpose_16(const Wave3Byte lane_waves[16],
43 u8 output[16 * sizeof(Wave3Byte)]) FL_NO_EXCEPT;
44
45} // namespace detail
46
50void wave3(u8 lane,
51 const Wave3BitExpansionLut& lut,
52 u8 (&FL_RESTRICT_PARAM output)[sizeof(Wave3Byte)]) FL_NO_EXCEPT;
53
54} // namespace fl
#define FL_RESTRICT_PARAM
FL_IRAM FL_OPTIMIZE_FUNCTION void wave3_transpose_4(const Wave3Byte lane_waves[4], u8 output[4 *sizeof(Wave3Byte)]) FL_NO_EXCEPT
Transpose 4 lanes of Wave3Byte data.
Definition wave3.cpp.hpp:55
FL_IRAM FL_OPTIMIZE_FUNCTION void 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.
Definition wave3.cpp.hpp:23
FL_IRAM FL_OPTIMIZE_FUNCTION void 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.
Definition wave3.cpp.hpp:35
FL_IRAM FL_OPTIMIZE_FUNCTION void 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).
FL_IRAM FL_OPTIMIZE_FUNCTION void 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).
Compile-time linker keep-alive hook for a single fl::Bus.
Definition bus_info.h:57
unsigned char u8
Definition stdint.h:131
FL_IRAM FL_OPTIMIZE_FUNCTION void wave3(u8 lane, const Wave3BitExpansionLut &lut, u8(&FL_RESTRICT_PARAM output)[sizeof(Wave3Byte)]) FL_NO_EXCEPT
Public single-lane wave3 encoder.
InputGamut g FL_NO_EXCEPT
Definition rgbw.h:121
Base definition for an LED controller.
Definition crgb.hpp:179
Type-safe container for 3-byte wave pulse pattern (wave3 encoding)
Definition wave3.h:20