nRF Connect SDK API 3.4.99
Loading...
Searching...
No Matches
pulse_meas.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 PULSE_MEAS_H
8#define PULSE_MEAS_H
9
10#include <zephyr/types.h>
11#include <zephyr/device.h>
12#include <hal/nrf_gpio.h>
13
14#ifdef __cplusplus
15extern "C" {
16#endif
17
31#define PULSE_MEAS_BLOCK_HEADER_SIZE sizeof(void *)
32
34#define PULSE_MEAS_BLOCK_SIZE(num_meas) \
35 (PULSE_MEAS_BLOCK_HEADER_SIZE + (num_meas) * sizeof(uint32_t))
36
43
50
69
81int pulse_meas_configure(const struct device *dev, const struct pulse_meas_config *cfg);
82
97int pulse_meas_start(const struct device *dev, struct k_mem_slab *slab);
98
114int pulse_meas_stop(const struct device *dev, bool immediate);
115
129int pulse_meas_get(const struct device *dev, uint32_t **data);
130
137void pulse_meas_put(const struct device *dev, uint32_t *data);
138
146uint32_t pulse_meas_pending(const struct device *dev);
147
150#ifdef __cplusplus
151}
152#endif
153
154#endif /* PULSE_MEAS_H */
pulse_meas_mode_t
Definition pulse_meas.h:44
@ PULSE_MEAS_MODE_CONTINUOUS
Definition pulse_meas.h:48
@ PULSE_MEAS_MODE_ONE_SHOT
Definition pulse_meas.h:46
pulse_meas_pulse_t
Definition pulse_meas.h:37
@ PULSE_MEAS_PULSE_NEGATIVE
Definition pulse_meas.h:41
@ PULSE_MEAS_PULSE_POSITIVE
Definition pulse_meas.h:39
int pulse_meas_start(const struct device *dev, struct k_mem_slab *slab)
Start pulse width measurement.
int pulse_meas_get(const struct device *dev, uint32_t **data)
Read a completed measurement series.
uint32_t pulse_meas_pending(const struct device *dev)
Get the number of completed series waiting to be read.
int pulse_meas_configure(const struct device *dev, const struct pulse_meas_config *cfg)
Configure pulse width measurement.
void pulse_meas_put(const struct device *dev, uint32_t *data)
Release a measurement buffer.
int pulse_meas_stop(const struct device *dev, bool immediate)
Stop pulse width measurement.
nrf_gpio_pin_pull_t pull_config
Definition pulse_meas.h:59
pulse_meas_mode_t mode
Definition pulse_meas.h:57
pulse_meas_pulse_t pulse_type
Definition pulse_meas.h:55
uint32_t num_of_meas
Definition pulse_meas.h:53
void * user_context
Definition pulse_meas.h:67
void(* user_handler)(void *context)
Definition pulse_meas.h:65
Definition pulse_meas.h:51