Zephyr API Documentation  2.7.0-rc2
A Scalable Open Source RTOS
ieee802154_radio_api Struct Reference

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)
 

Detailed Description

IEEE 802.15.4 radio interface API.

Field Documentation

◆ cca

int(* ieee802154_radio_api::cca) (const struct device *dev)

Clear Channel Assesment - Check channel's activity

◆ configure

int(* ieee802154_radio_api::configure) (const struct device *dev, enum ieee802154_config_type type, const struct ieee802154_config *config)

Set specific radio driver configuration.

◆ ed_scan

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.

◆ filter

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 )

◆ get_capabilities

enum ieee802154_hw_caps(* ieee802154_radio_api::get_capabilities) (const struct device *dev)

Get the device capabilities

◆ get_sch_acc

uint8_t(* ieee802154_radio_api::get_sch_acc) (const struct device *dev)

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_subg_channel_count

uint16_t(* ieee802154_radio_api::get_subg_channel_count) (const struct device *dev)

Get the available amount of Sub-GHz channels

◆ get_time

uint64_t(* ieee802154_radio_api::get_time) (const struct device *dev)

Get the current radio time in microseconds

◆ iface_api

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_channel

int(* ieee802154_radio_api::set_channel) (const struct device *dev, uint16_t channel)

Set current channel

◆ set_txpower

int(* ieee802154_radio_api::set_txpower) (const struct device *dev, int16_t dbm)

Set TX power level in dbm

◆ start

int(* ieee802154_radio_api::start) (const struct device *dev)

Start the device

◆ stop

int(* ieee802154_radio_api::stop) (const struct device *dev)

Stop the device

◆ tx

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


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