nRF Connect SDK API 3.4.99
Loading...
Searching...
No Matches
saadct.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2026 Nordic Semiconductor ASA
3 *
4 * SPDX-License-Identifier: LicenseRef-Nordic-5-Clause
5 */
6
7#ifndef SAADCT_H
8#define SAADCT_H
9
10#include <zephyr/kernel.h>
11#include <zephyr/types.h>
12#include <zephyr/device.h>
13#include <nrfx_saadc.h>
14
15#ifdef __cplusplus
16extern "C" {
17#endif
18
31#define SAADCT_MEAS_BLOCK_HEADER_SIZE sizeof(void *)
32
34#define SAADCT_MEAS_BLOCK_SIZE(num_meas, num_channels) \
35 (SAADCT_MEAS_BLOCK_HEADER_SIZE + (num_meas) * (num_channels) * sizeof(nrf_saadc_value_t))
36
43
47 uint32_t num_of_meas;
51 nrf_saadc_resolution_t resolution;
61 void (*user_handler)(void *context);
65 nrfx_saadc_channel_t const *channels_config;
66};
67
79int saadct_configure(const struct device *dev, const struct saadct_config *cfg);
80
95int saadct_start(const struct device *dev, struct k_mem_slab *slab);
96
113int saadct_stop(const struct device *dev, bool immediate);
114
132int saadct_get(const struct device *dev, nrf_saadc_value_t **data, k_timeout_t timeout);
133
140void saadct_put(const struct device *dev, nrf_saadc_value_t *data);
141
149uint32_t saadct_pending(const struct device *dev);
150
153#ifdef __cplusplus
154}
155#endif
156
157#endif /* SAADCT_H */
void saadct_put(const struct device *dev, nrf_saadc_value_t *data)
Release a measurement buffer.
int saadct_stop(const struct device *dev, bool immediate)
Stop timer-triggered SAADC sampling.
int saadct_get(const struct device *dev, nrf_saadc_value_t **data, k_timeout_t timeout)
Read a completed measurement series.
saadct_mode_t
Definition saadct.h:37
@ saadct_mode_continuous
Definition saadct.h:41
@ saadct_mode_one_shot
Definition saadct.h:39
uint32_t saadct_pending(const struct device *dev)
Get the number of completed series waiting to be read.
int saadct_configure(const struct device *dev, const struct saadct_config *cfg)
Configure timer-triggered SAADC sampling.
int saadct_start(const struct device *dev, struct k_mem_slab *slab)
Start timer-triggered SAADC sampling.
void * user_context
Definition saadct.h:63
void(* user_handler)(void *context)
Definition saadct.h:61
uint32_t num_of_meas
Definition saadct.h:47
nrf_saadc_resolution_t resolution
Definition saadct.h:51
uint8_t num_of_channels
Definition saadct.h:49
uint32_t sample_rate_hz
Definition saadct.h:55
saadct_mode_t mode
Definition saadct.h:53
nrfx_saadc_channel_t const * channels_config
Definition saadct.h:65
Definition saadct.h:45