FastLED 3.9.15
Loading...
Searching...
No Matches

◆ wave3ClockFrequencyHz()

FL_OPTIMIZE_FUNCTION u32 fl::wave3ClockFrequencyHz ( const ChipsetTiming & timing)

Calculate the clock frequency for wave3 encoding.

Clock = 3,000,000,000 / total_period_ns, so that 3 ticks = 1 bit period.

Parameters
timingChipsetTiming struct with T1, T2, T3 in nanoseconds
Returns
Clock frequency in Hz (e.g., 2400000 for WS2812)

Definition at line 54 of file wave3.cpp.hpp.

54 {
55 const u32 period = timing.T1 + timing.T2 + timing.T3;
56 if (period == 0) {
57 return 0;
58 }
59 // clock_hz = 3,000,000,000 / total_period_ns
60 // Use u64 to avoid overflow
61 return static_cast<u32>(3000000000ULL / period);
62}
u32 T2
Additional high time for bit 1 (nanoseconds)
Definition led_timing.h:88
u32 T3
Low tail duration (nanoseconds)
Definition led_timing.h:89
u32 T1
High time for bit 0 (nanoseconds)
Definition led_timing.h:87

References fl::ChipsetTiming::T1, fl::ChipsetTiming::T2, and fl::ChipsetTiming::T3.