42 return t1_ns == other.t1_ns &&
43 t2_ns == other.t2_ns &&
44 t3_ns == other.t3_ns &&
50 return !(*
this == other);
62template <
typename CHIPSET>
Encoding pipeline selector for clockless LED chipsets.
Centralized LED chipset timing definitions with nanosecond precision.
constexpr ChipsetTimingConfig makeTimingConfig() FL_NOEXCEPT
Convert compile-time CHIPSET type to runtime timing config.
Base definition for an LED controller.
u32 t1_ns
T0H: High time for bit 0 (nanoseconds)
constexpr bool operator==(const ChipsetTimingConfig &other) const FL_NOEXCEPT
Equality operator (all timing fields participate; name ignored)
u32 t2_ns
T1H-T0H: Additional high time for bit 1 (nanoseconds)
constexpr bool operator!=(const ChipsetTimingConfig &other) const FL_NOEXCEPT
Inequality operator.
u32 reset_us
Reset/latch time (microseconds)
const char * name
Human-readable chipset name.
constexpr u32 total_period_ns() const FL_NOEXCEPT
Get total bit period (T1 + T2 + T3)
u32 t3_ns
T0L: Low tail duration (nanoseconds)
constexpr ChipsetTimingConfig(u32 t1, u32 t2, u32 t3, u32 reset, const char *name="UNNAMED CHIPSET") FL_NOEXCEPT
constexpr ChipsetTimingConfig() FL_NOEXCEPT
Runtime bit-period timing for a clockless chipset.