|
Zephyr API Documentation 4.4.99
A Scalable Open Source RTOS
|
Driver vtable. More...
#include <zephyr/drivers/pulse_io.h>
Data Fields | |
| int(* | get_capabilities )(const struct device *dev, struct pulse_io_caps *caps) |
| OPT NULL returns -ENOSYS from the wrapper. | |
| int(* | channel_get )(const struct device *dev, uint8_t channel_idx, struct pulse_io_channel **chan) |
| REQ | |
| int(* | channel_release )(const struct device *dev, struct pulse_io_channel *chan) |
| REQ | |
| int(* | channel_configure )(const struct device *dev, struct pulse_io_channel *chan, const struct pulse_io_config *cfg) |
| REQ | |
| int(* | transmit_sync )(const struct device *dev, struct pulse_io_channel *chan, const struct pulse_io_tx_req *req, k_timeout_t timeout) |
| REQ | |
| int(* | receive_sync )(const struct device *dev, struct pulse_io_channel *chan, const struct pulse_io_rx_req *req, size_t *count, k_timeout_t timeout) |
| REQ | |
| int(* | stop )(const struct device *dev, struct pulse_io_channel *chan) |
| REQ | |
| void(* | submit )(const struct device *dev, struct rtio_iodev_sqe *iodev_sqe) |
| OPT RTIO submit; NULL if the backend has no RTIO support. | |
| int(* | get_encoder )(const struct device *dev, const struct pulse_io_encoder_api **api) |
| OPT | |
| int(* | get_decoder )(const struct device *dev, const struct pulse_io_decoder_api **api) |
| OPT | |
Driver vtable.
Implemented by each backend; not intended for direct application use. The core ops are mandatory and must not be NULL; the RTIO ops are optional and the wrappers return -ENOSYS when they are NULL.
| int(* pulse_io_driver_api::channel_configure) (const struct device *dev, struct pulse_io_channel *chan, const struct pulse_io_config *cfg) |
REQ
| int(* pulse_io_driver_api::channel_get) (const struct device *dev, uint8_t channel_idx, struct pulse_io_channel **chan) |
REQ
| int(* pulse_io_driver_api::channel_release) (const struct device *dev, struct pulse_io_channel *chan) |
REQ
| int(* pulse_io_driver_api::get_capabilities) (const struct device *dev, struct pulse_io_caps *caps) |
OPT NULL returns -ENOSYS from the wrapper.
| int(* pulse_io_driver_api::get_decoder) (const struct device *dev, const struct pulse_io_decoder_api **api) |
OPT
| int(* pulse_io_driver_api::get_encoder) (const struct device *dev, const struct pulse_io_encoder_api **api) |
OPT
| int(* pulse_io_driver_api::receive_sync) (const struct device *dev, struct pulse_io_channel *chan, const struct pulse_io_rx_req *req, size_t *count, k_timeout_t timeout) |
REQ
| int(* pulse_io_driver_api::stop) (const struct device *dev, struct pulse_io_channel *chan) |
REQ
| void(* pulse_io_driver_api::submit) (const struct device *dev, struct rtio_iodev_sqe *iodev_sqe) |
OPT RTIO submit; NULL if the backend has no RTIO support.
| int(* pulse_io_driver_api::transmit_sync) (const struct device *dev, struct pulse_io_channel *chan, const struct pulse_io_tx_req *req, k_timeout_t timeout) |
REQ