A Stale Buffer Recalibrated My ADC: A DMA Modification for 30kSPS Streaming
Hitting the ADS1255’s full 30kSPS rate meant replacing blocking SPI/UART calls with a double-buffered DMA pipeline, tracking down a bug where the ADC was calibrating itself off its own stale sample data, and hand-trimming HAL’s per-call DMA overhead down to about a third of where it started.