Initialize (or re-arm) RX channel with configuration.
- Parameters
-
| config | RX configuration (signal ranges, edge detection, skip count) |
- Returns
- true on success, false on failure
First call: Initializes hardware and arms receiver Subsequent calls: Re-arms receiver for new capture (clears state)
Edge Detection:
- start_low=true: Skip symbols until first rising edge (LOW→HIGH), default for WS2812B
- start_low=false: Skip symbols until first falling edge (HIGH→LOW), for inverted signals
This solves the "spurious LOW capture" problem where RX captures the idle pin state before TX starts transmitting.
Example:
rx->begin(config);
u32 signal_range_min_ns
Minimum pulse width (glitch filter, default: 100ns)
bool start_low
Pin idle state: true=LOW (WS2812B), false=HIGH (inverted)
u32 signal_range_max_ns
Maximum pulse width (idle threshold, default: 100μs)
Configuration for RX device initialization.
References FL_NOEXCEPT.