|
| fl::result< u32, DecodeError > | decodeFlexPwmEdges (const ChipsetTiming4Phase &timing, fl::span< const EdgeTime > edges, fl::span< u8 > bytes_out) FL_NO_EXCEPT |
| | Batch decoder over an edge list (HIGH, LOW, HIGH, ... with a LOW left out after a gap).
|
| |
| fl::result< u32, DecodeError > | decodeWs2812Edges (const ChipsetTiming4Phase &timing, fl::span< const EdgeTime > edges, fl::span< u8 > out) FL_NO_EXCEPT |
| | Decode a WS2812 edge-pair stream into bytes.
|
| |
| u32 | flexPwmAdaptiveMidpointNs (const ChipsetTiming4Phase &timing, u32 high_min, u32 high_max, u32 samples) FL_NO_EXCEPT |
| | #3416 adaptive midpoint: (min + max) / 2 of the observed HIGH widths once there are enough samples spread wide enough to trust; else the static one.
|
| |
| int | flexPwmBitFromHigh (u32 high_ns, const ChipsetTiming4Phase &timing) FL_NO_EXCEPT |
| | Bit from a HIGH whose LOW was a gap/reset or was not captured: range check against the T0H / T1H windows.
|
| |
| int | flexPwmBitFromMidpoint (u32 high_ns, u32 midpoint_ns) FL_NO_EXCEPT |
| | Bit from a HIGH followed by a normal LOW: HIGH-only midpoint split.
|
| |
| bool | flexPwmIsMidpointSample (u32 high_ns) FL_NO_EXCEPT |
| | Whether a HIGH width contributes to the adaptive-midpoint pre-pass (idle and glitch widths are excluded).
|
| |
| u32 | flexPwmNsPerTickQ16 (u32 counter_hz) FL_NO_EXCEPT |
| | Q16.16 ns-per-tick for a counter clock.
|
| |
| u32 | flexPwmStaticMidpointNs (const ChipsetTiming4Phase &timing) FL_NO_EXCEPT |
| | Static threshold between a 0 and a 1 HIGH: midpoint of T0H max / T1H min.
|
| |
| u32 | flexPwmTickDeltaNs (u16 t0, u16 t1, u32 ns_per_tick_q16) FL_NO_EXCEPT |
| | Convert a 16-bit capture-counter delta to ns.
|
| |