Zephyr API Documentation  2.7.0-rc2
A Scalable Open Source RTOS
ieee802154_radio.h File Reference

Public IEEE 802.15.4 Radio API. More...

#include <device.h>
#include <net/net_if.h>
#include <net/net_pkt.h>
#include <net/ieee802154.h>

Go to the source code of this file.

Data Structures

struct  ieee802154_filter
 
struct  ieee802154_key
 
struct  ieee802154_config
 
struct  ieee802154_radio_api
 IEEE 802.15.4 radio interface API. More...
 

Macros

#define IEEE802154_AR_FLAG_SET   (0x20)
 

Typedefs

typedef void(* energy_scan_done_cb_t) (const struct device *dev, int16_t max_ed)
 
typedef void(* ieee802154_event_cb_t) (const struct device *dev, enum ieee802154_event evt, void *event_params)
 

Enumerations

enum  ieee802154_channel { IEEE802154_SUB_GHZ_CHANNEL_MIN = 0 , IEEE802154_SUB_GHZ_CHANNEL_MAX = 10 , IEEE802154_2_4_GHZ_CHANNEL_MIN = 11 , IEEE802154_2_4_GHZ_CHANNEL_MAX = 26 }
 IEEE 802.15.4 Channel assignments. More...
 
enum  ieee802154_hw_caps {
  IEEE802154_HW_FCS = BIT(0) , IEEE802154_HW_PROMISC = BIT(1) , IEEE802154_HW_FILTER = BIT(2) , IEEE802154_HW_CSMA = BIT(3) ,
  IEEE802154_HW_2_4_GHZ = BIT(4) , IEEE802154_HW_TX_RX_ACK = BIT(5) , IEEE802154_HW_SUB_GHZ = BIT(6) , IEEE802154_HW_ENERGY_SCAN = BIT(7) ,
  IEEE802154_HW_TXTIME = BIT(8) , IEEE802154_HW_SLEEP_TO_TX = BIT(9) , IEEE802154_HW_TX_SEC = BIT(10) , IEEE802154_HW_RXTIME = BIT(11)
}
 
enum  ieee802154_filter_type {
  IEEE802154_FILTER_TYPE_IEEE_ADDR , IEEE802154_FILTER_TYPE_SHORT_ADDR , IEEE802154_FILTER_TYPE_PAN_ID , IEEE802154_FILTER_TYPE_SRC_IEEE_ADDR ,
  IEEE802154_FILTER_TYPE_SRC_SHORT_ADDR
}
 
enum  ieee802154_event { IEEE802154_EVENT_TX_STARTED , IEEE802154_EVENT_RX_FAILED , IEEE802154_EVENT_SLEEP }
 
enum  ieee802154_rx_fail_reason { IEEE802154_RX_FAIL_NOT_RECEIVED , IEEE802154_RX_FAIL_INVALID_FCS , IEEE802154_RX_FAIL_ADDR_FILTERED , IEEE802154_RX_FAIL_OTHER }
 
enum  ieee802154_tx_mode {
  IEEE802154_TX_MODE_DIRECT , IEEE802154_TX_MODE_CCA , IEEE802154_TX_MODE_CSMA_CA , IEEE802154_TX_MODE_TXTIME ,
  IEEE802154_TX_MODE_TXTIME_CCA
}
 
enum  ieee802154_fpb_mode { IEEE802154_FPB_ADDR_MATCH_THREAD , IEEE802154_FPB_ADDR_MATCH_ZIGBEE }
 
enum  ieee802154_config_type {
  IEEE802154_CONFIG_AUTO_ACK_FPB , IEEE802154_CONFIG_ACK_FPB , IEEE802154_CONFIG_PAN_COORDINATOR , IEEE802154_CONFIG_PROMISCUOUS ,
  IEEE802154_CONFIG_EVENT_HANDLER , IEEE802154_CONFIG_MAC_KEYS , IEEE802154_CONFIG_FRAME_COUNTER , IEEE802154_CONFIG_RX_SLOT ,
  IEEE802154_CONFIG_CSL_PERIOD , IEEE802154_CONFIG_CSL_RX_TIME , IEEE802154_CONFIG_ENH_ACK_HEADER_IE
}
 

Functions

static bool ieee802154_is_ar_flag_set (struct net_buf *frag)
 Check if AR flag is set on the frame inside given net_pkt. More...
 
enum net_verdict ieee802154_radio_handle_ack (struct net_if *iface, struct net_pkt *pkt)
 Radio driver ACK handling function that hw drivers should use. More...
 
void ieee802154_init (struct net_if *iface)
 Initialize L2 stack for a given interface. More...
 

Detailed Description

Public IEEE 802.15.4 Radio API.