Zephyr API Documentation
2.7.0-rc2
A Scalable Open Source RTOS
|
IEEE 802.15.4 radio interface API. More...
#include <ieee802154_radio.h>
Data Fields | |
struct net_if_api | iface_api |
enum ieee802154_hw_caps(* | get_capabilities )(const struct device *dev) |
int(* | cca )(const struct device *dev) |
int(* | set_channel )(const struct device *dev, uint16_t channel) |
int(* | filter )(const struct device *dev, bool set, enum ieee802154_filter_type type, const struct ieee802154_filter *filter) |
int(* | set_txpower )(const struct device *dev, int16_t dbm) |
int(* | tx )(const struct device *dev, enum ieee802154_tx_mode mode, struct net_pkt *pkt, struct net_buf *frag) |
int(* | start )(const struct device *dev) |
int(* | stop )(const struct device *dev) |
int(* | configure )(const struct device *dev, enum ieee802154_config_type type, const struct ieee802154_config *config) |
uint16_t(* | get_subg_channel_count )(const struct device *dev) |
int(* | ed_scan )(const struct device *dev, uint16_t duration, energy_scan_done_cb_t done_cb) |
uint64_t(* | get_time )(const struct device *dev) |
uint8_t(* | get_sch_acc )(const struct device *dev) |
IEEE 802.15.4 radio interface API.
int(* ieee802154_radio_api::cca) (const struct device *dev) |
Clear Channel Assesment - Check channel's activity
int(* ieee802154_radio_api::configure) (const struct device *dev, enum ieee802154_config_type type, const struct ieee802154_config *config) |
Set specific radio driver configuration.
int(* ieee802154_radio_api::ed_scan) (const struct device *dev, uint16_t duration, energy_scan_done_cb_t done_cb) |
Run an energy detection scan. Note: channel must be set prior to request this function. duration parameter is in ms.
int(* ieee802154_radio_api::filter) (const struct device *dev, bool set, enum ieee802154_filter_type type, const struct ieee802154_filter *filter) |
Set/Unset filters (for IEEE802154_HW_FILTER )
enum ieee802154_hw_caps(* ieee802154_radio_api::get_capabilities) (const struct device *dev) |
Get the device capabilities
Get the current accuracy, in units of ± ppm, of the clock used for scheduling delayed receive or transmit radio operations. Note: Implementations may optimize this value based on operational conditions (i.e.: temperature).
Get the available amount of Sub-GHz channels
Get the current radio time in microseconds
struct net_if_api ieee802154_radio_api::iface_api |
Mandatory to get in first position. A network device should indeed provide a pointer on such net_if_api structure. So we make current structure pointer that can be casted to a net_if_api structure pointer.
Set current channel
Set TX power level in dbm
int(* ieee802154_radio_api::start) (const struct device *dev) |
Start the device
int(* ieee802154_radio_api::stop) (const struct device *dev) |
Stop the device
int(* ieee802154_radio_api::tx) (const struct device *dev, enum ieee802154_tx_mode mode, struct net_pkt *pkt, struct net_buf *frag) |
Transmit a packet fragment