10#include <zephyr/types.h>
11#include <zephyr/device.h>
12#include <hal/nrf_gpio.h>
31#define PULSE_MEAS_BLOCK_HEADER_SIZE sizeof(void *)
34#define PULSE_MEAS_BLOCK_SIZE(num_meas) \
35 (PULSE_MEAS_BLOCK_HEADER_SIZE + (num_meas) * sizeof(uint32_t))
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