mirror of
https://github.com/apache/nuttx.git
synced 2026-10-16 18:49:05 +00:00
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. Assisted-by: Claude Code Signed-off-by: raiden00pl <raiden00@railab.me> |
||
|---|---|---|
| .. | ||
| a1x | ||
| am67 | ||
| am335x | ||
| at32 | ||
| bcm2708 | ||
| c5471 | ||
| cxd56xx | ||
| dm320 | ||
| efm32 | ||
| eoss3 | ||
| fvp-v8r-aarch32 | ||
| gd32f4 | ||
| goldfish | ||
| ht32f491x3 | ||
| imx1 | ||
| imx6 | ||
| imx9 | ||
| imxrt | ||
| kinetis | ||
| kl | ||
| lc823450 | ||
| lpc17xx | ||
| lpc31xx | ||
| lpc40xx | ||
| lpc43xx | ||
| lpc54xx | ||
| lpc214x | ||
| lpc2378 | ||
| max326xx | ||
| moxart | ||
| mps | ||
| mx8mp | ||
| n32h7 | ||
| nrf52 | ||
| nrf53 | ||
| nrf54l | ||
| nrf91 | ||
| nuc1xx | ||
| phy62xx | ||
| qemu | ||
| ra4m1 | ||
| rp23xx | ||
| rp2040 | ||
| rtl8720f | ||
| rtl8721dx | ||
| rtl8721f | ||
| rtl8730e | ||
| s32k1xx | ||
| s32k3xx | ||
| sam34 | ||
| sama5 | ||
| samd2l2 | ||
| samd5e5 | ||
| samv7 | ||
| stm32c0 | ||
| stm32c5 | ||
| stm32f0 | ||
| stm32f1 | ||
| stm32f2 | ||
| stm32f3 | ||
| stm32f4 | ||
| stm32f7 | ||
| stm32g0 | ||
| stm32g4 | ||
| stm32h5 | ||
| stm32h7 | ||
| stm32l0 | ||
| stm32l1 | ||
| stm32l4 | ||
| stm32l5 | ||
| stm32n6 | ||
| stm32u0 | ||
| stm32u3 | ||
| stm32u5 | ||
| stm32wb | ||
| stm32wl5 | ||
| str71x | ||
| tiva | ||
| tms570 | ||
| xmc4 | ||
| index.rst | ||