|
FastLED 3.10.6
|
Sampler geometry of the RP PIO RX capture.
These numbers are the contract between the capture device and anything that has to predict whether a frame will fit in it, and they bound a capture in two independent ways (FastLED#4371):
kRpPioRxEdgeCapacity is a pool of signal phases, two per bit.kRpPioRxSamplesPerDmaWord pin samples taken at kRpPioRxClockHz.They live here, portable and free of the RP build guard, so the device, the bound in fl/channels/validation.h and the host tests all read the same definitions instead of copies that can drift apart.
Definition in file pio_geometry.h.
#include "fl/stl/int.h"
Include dependency graph for pio_geometry.h:Go to the source code of this file.
Namespaces | |
| namespace | fl |
| Base definition for an LED controller. | |
Variables | |
| constexpr u32 | fl::kRpPioRxClockHz = 20000000u |
| After synchronizing to the first rising edge the PIO runs one IN PINS instruction per cycle, so 20 MHz gives 50 ns samples – enough to separate WS2812 timing phases without losing the first phase to counter setup. | |
| constexpr size_t | fl::kRpPioRxDmaTailWords = 64u |
| Reset-tail words appended to the DMA transfer. | |
| constexpr size_t | fl::kRpPioRxEdgeCapacity = 100u * 3u * 16u + 1u |
| Phase slots in the shared capture pool. | |
| constexpr u32 | fl::kRpPioRxSamplesPerDmaWord = 32u |
| Pin samples packed into each 32-bit DMA word. | |