Zephyr API Documentation 4.4.99
A Scalable Open Source RTOS
Loading...
Searching...
No Matches

Driver Operations Time-aware GPIO driver operations More...

#include <zephyr/drivers/timeaware_gpio.h>

Data Fields

int(* pin_disable )(const struct device *dev, uint32_t pin)
  REQ Disable operation on pin.
int(* get_time )(const struct device *dev, uint64_t *current_time)
  REQ Get time from ART timer.
int(* cyc_per_sec )(const struct device *dev, uint32_t *cycles)
  REQ Get current running rate.
int(* set_perout )(const struct device *dev, uint32_t pin, uint64_t start_time, uint64_t repeat_interval, bool periodic_enable)
  REQ Enable periodic pulse generation on a pin.
int(* config_ext_ts )(const struct device *dev, uint32_t pin, uint32_t event_polarity)
  REQ Enable/Continue operation on pin.
int(* read_ts_ec )(const struct device *dev, uint32_t pin, uint64_t *timestamp, uint64_t *event_count)
  REQ Read timestamp and event counter from TGPIO.

Detailed Description

Driver Operations Time-aware GPIO driver operations

This is the driver API structure any Time-aware GPIO driver needs to define. It contains function pointers to the operations the driver implements, as well as any other driver-specific constant data.

Members marked with REQ MUST be set by the driver, whereas those marked with OPT are optional.

See also
DEVICE_DT_INST_DEFINE()
DEVICE_DT_DEFINE()
DEVICE_API()

Field Documentation

◆ config_ext_ts

int(* tgpio_driver_api::config_ext_ts) (const struct device *dev, uint32_t pin, uint32_t event_polarity)

REQ Enable/Continue operation on pin.

◆ cyc_per_sec

int(* tgpio_driver_api::cyc_per_sec) (const struct device *dev, uint32_t *cycles)

REQ Get current running rate.

◆ get_time

int(* tgpio_driver_api::get_time) (const struct device *dev, uint64_t *current_time)

REQ Get time from ART timer.

◆ pin_disable

int(* tgpio_driver_api::pin_disable) (const struct device *dev, uint32_t pin)

REQ Disable operation on pin.

◆ read_ts_ec

int(* tgpio_driver_api::read_ts_ec) (const struct device *dev, uint32_t pin, uint64_t *timestamp, uint64_t *event_count)

REQ Read timestamp and event counter from TGPIO.

◆ set_perout

int(* tgpio_driver_api::set_perout) (const struct device *dev, uint32_t pin, uint64_t start_time, uint64_t repeat_interval, bool periodic_enable)

REQ Enable periodic pulse generation on a pin.


The documentation for this struct was generated from the following file: