34template <
typename TIMING>
37 static constexpr u32
T1 = TIMING::T1;
40 static constexpr u32
T2 = TIMING::T2;
43 static constexpr u32
T3 = TIMING::T3;
46 static constexpr u32
RESET = TIMING::RESET;
49 static constexpr u32
BIT_PERIOD = TIMING::T1 + TIMING::T2 + TIMING::T3;
62template <u32 T1_NS, u32 T2_NS, u32 T3_NS, u32 RESET_US = 280>
64 static constexpr u32
T1 = T1_NS;
65 static constexpr u32
T2 = T2_NS;
66 static constexpr u32
T3 = T3_NS;
67 static constexpr u32
RESET = RESET_US;
75 u16 t3_in, u16 *out_t0h,
76 u16 *out_t0l, u16 *out_t1h,
79 *out_t0l = t2_in + t3_in;
80 *out_t1h = t1_in + t2_in;
void convert_fastled_timings_to_timedeltas(u16 t1_in, u16 t2_in, u16 t3_in, u16 *out_t0h, u16 *out_t0l, u16 *out_t1h, u16 *out_t1l) FL_NOEXCEPT
Base definition for an LED controller.
static constexpr u32 BIT_PERIOD
static constexpr u32 RESET
Helper to create timing traits from individual timing values Useful for creating custom timing config...
static constexpr u32 RESET
Reset/latch time (microseconds)
static constexpr u32 T2
Additional high time for bit 1 (nanoseconds)
static constexpr u32 T3
Low tail duration (nanoseconds)
static constexpr u32 BIT_PERIOD
Total bit period (T1 + T2 + T3) in nanoseconds.
static constexpr u32 T1
High time for bit 0 (nanoseconds)
Compile-time trait to extract timing values from timing types.