raiden00pl opened a new pull request, #20332: URL: https://github.com/apache/nuttx/pull/20332
## Summary The SAADC internal sample timer only works with a single enabled channel, so hardware-timed multi-channel scan was not possible. Add NRF52_SAADC_TIMER_PPI, a third trigger mode in which a general-purpose TIMER compare event is routed to TASKS_SAMPLE over PPI. All enabled channels are scanned, and the TIMER prescaler allows much lower sample rates than the internal timer, which is limited to 16MHz/CC with CC in 80..2047. NRF52_SAADC_CONTINUOUS is no longer tied to the internal timer and works with either source. Its EasyDMA buffers now hold NRF52_SAADC_CONTINUOUS_BUFLEN whole scans rather than that many single samples, so MAXCNT becomes chan_len * BUFLEN. Samples are interleaved scan by scan, so a channel map is built once at configure() time and passed to the upper half with the batch; the upper half already accepts a per-sample channel array. A single-channel configuration produces the same MAXCNT and the same delivery as before. Because both features want a PPI channel, add a build-time check that NRF52_SAADC_PPI_CHANNEL and NRF52_SAADC_CONTINUOUS_PPI_CH differ, and constrain the latter under the SoftDevice controller like the former. NRF52_SAADC_CHANNELS gains a default and range for the new mode, and documents that the internal timer is restricted to one channel. ## Impact new feature ## Testing Nordic Power Kit 2 with sampling rate 100kbps -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
