nuttx/Documentation
raiden00pl a8ac2e74e0 arch/nrf52: add SAADC external TIMER trigger over PPI
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>
2026-09-28 11:20:31 +02:00
..
_extensions
_static
_templates
applications Documentation/math: explain that KissFFT is a small FFT library 2026-09-22 00:11:08 +08:00
components drivers/ioexpander: add an optional pin PWM operation 2026-09-24 20:16:12 +08:00
contributing docs: document Python linting requirements 2026-09-15 09:40:09 +08:00
debugging Documentation: Add documentation of SCHED_DUMP_TASKS and SCHED_DUMP_STACK 2026-06-09 08:04:54 -04:00
faq !boards: Remove NSH_ARCHINIT and board_app_initialize 2026-05-02 18:36:46 +08:00
guides arch/x86_64: Implement up_addrenv_fork() and provide POSIX fork(). 2026-09-24 18:02:36 -03:00
implementation docs: document chroot jail root 2026-09-20 22:27:38 +08:00
introduction Documentation: Point the buildroot links at the repository that still exists. 2026-09-13 18:29:40 -03:00
logos style: fix typos 2025-04-30 13:45:46 +08:00
platforms arch/nrf52: add SAADC external TIMER trigger over PPI 2026-09-28 11:20:31 +02:00
quickstart Documentation: fill in pass1 directory description in organization.rst 2026-07-06 10:18:42 -03:00
reference docs/wdog: Document wd_start_next delay requirement. 2026-09-26 22:18:02 +08:00
ReleaseNotes Documentation: add NuttX 13.1.0 release notes 2026-09-26 10:54:27 -03:00
standards docs/pthread: Document pthread_sigqueue 2026-09-21 14:53:26 +08:00
testing ci: apply Depends-On dependencies to the memory report 2026-09-15 08:47:25 -03:00
.gitignore docs/tags: Introduce tagging feature to the documentation. 2025-04-29 09:18:25 +02:00
conf.py Documentation: conf: Ignore .venv 2026-05-29 01:26:21 +08:00
glossary.rst
index.rst docs/security: Add Security section to the documentation. 2026-01-06 02:17:20 +08:00
known-warnings.txt
legacy_README.md Documentation: Point the buildroot links at the repository that still exists. 2026-09-13 18:29:40 -03:00
make.bat
Makefile doc: Improve sphinx build time + add autobuild help info. 2026-01-27 09:50:55 +08:00
Pipfile docs/plantuml: Add PlantUML support to Documentation build 2026-02-15 08:47:23 +01:00
Pipfile.lock build(deps): bump anyio from 4.14.0 to 4.14.2 in /Documentation 2026-09-20 18:04:41 -03:00
security.rst docs/security: Add Security section to the documentation. 2026-01-06 02:17:20 +08:00
substitutions.rst