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

◆ wave8_convert_byte_to_wave8byte()

void fl::detail::wave8_convert_byte_to_wave8byte ( u8 byte_value,
const Wave8BitExpansionLut & lut,
Wave8Byte * output )

Definition at line 24 of file wave8.cpp.hpp.

26 {
27 const Wave8Bit* high_nibble_data = lut.lut[(byte_value >> 4) & 0xF];
28 isr::memcpy_32(fl::bit_cast_ptr<u32>(&output->symbols[0]),
29 fl::bit_cast_ptr<const u32>(high_nibble_data),
30 1);
31
32 const Wave8Bit* low_nibble_data = lut.lut[byte_value & 0xF];
33 isr::memcpy_32(fl::bit_cast_ptr<u32>(&output->symbols[4]),
34 fl::bit_cast_ptr<const u32>(low_nibble_data),
35 1);
36}
FL_OPTIMIZE_FUNCTION FL_IRAM FASTLED_FORCE_INLINE void memcpy_32(u32 *FL_RESTRICT_PARAM dst, const u32 *FL_RESTRICT_PARAM src, size_t count)
ISR-optimized 32-bit block copy for 4-byte aligned memory.
Definition memcpy.h:32
To * bit_cast_ptr(void *storage) FL_NO_EXCEPT
Definition bit_cast.h:60
Type-safe container for packed 8-bit wave pulse pattern.
Definition wave8.h:22

References fl::bit_cast_ptr(), fl::FL_NO_EXCEPT, and fl::isr::memcpy_32().

Referenced by fl::wave8(), fl::wave8Transpose_16(), fl::wave8Transpose_2(), fl::wave8Transpose_4(), and fl::wave8Transpose_8().

+ Here is the call graph for this function:
+ Here is the caller graph for this function: