FastLED 3.10.6
Loading...
Searching...
No Matches

◆ encodeLedsToUart() [2/2]

FL_IRAM FL_OPTIMIZE_FUNCTION size_t fl::encodeLedsToUart ( const u8 * input,
size_t input_size,
u8 * output,
size_t output_capacity,
const Wave10Lut & lut )

Encode LED pixel data to UART bytes using a Wave10 LUT.

Parameters
inputLED pixel data (RGB bytes)
input_sizeInput size in bytes
outputOutput buffer for UART bytes
output_capacityOutput buffer size in bytes
lutWave10 lookup table for encoding
Returns
Number of encoded bytes written, or 0 if insufficient capacity

Definition at line 295 of file uart_wave_encoder.cpp.hpp.

299 {
300 size_t required_size = input_size * 4;
301
302 if (required_size > output_capacity) {
303 return 0;
304 }
305
306 for (size_t i = 0; i < input_size; ++i) {
307 detail::encodeUartByte(input[i], &output[i * 4], lut);
308 }
309
310 return required_size;
311}
FASTLED_FORCE_INLINE FL_IRAM FL_OPTIMIZE_FUNCTION void encodeUartByte(u8 led_byte, u8 *output, const Wave10Lut &lut) FL_NO_EXCEPT
Encode 1 LED byte to 4 UART bytes using a Wave10 LUT.

References fl::detail::encodeUartByte(), and FL_NO_EXCEPT.

+ Here is the call graph for this function: