10#include <zephyr/kernel.h>
11#include <zephyr/types.h>
12#include <zephyr/device.h>
13#include <nrfx_saadc.h>
31#define SAADCT_MEAS_BLOCK_HEADER_SIZE sizeof(void *)
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))
95int saadct_start(
const struct device *dev,
struct k_mem_slab *slab);
132int saadct_get(
const struct device *dev, nrf_saadc_value_t **data, k_timeout_t timeout);
140void saadct_put(
const struct device *dev, nrf_saadc_value_t *data);
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