| 
    Zephyr Project API
    3.3.0
    
   A Scalable Open Source RTOS 
   | 
 
IEEE 802.15.4 library. More...
Data Structures | |
| struct | ieee802154_security_ctx | 
| struct | ieee802154_context | 
| struct | ieee802154_filter | 
| struct | ieee802154_key | 
| struct | ieee802154_config | 
| struct | ieee802154_radio_api | 
| IEEE 802.15.4 radio interface API.  More... | |
Macros | |
| #define | IEEE802154_MAX_PHY_PACKET_SIZE 127 | 
| #define | IEEE802154_FCS_LENGTH 2 | 
| #define | IEEE802154_MTU (IEEE802154_MAX_PHY_PACKET_SIZE - IEEE802154_FCS_LENGTH) | 
| #define | IEEE802154_SHORT_ADDR_LENGTH 2 | 
| #define | IEEE802154_EXT_ADDR_LENGTH 8 | 
| #define | IEEE802154_MAX_ADDR_LENGTH IEEE802154_EXT_ADDR_LENGTH | 
| #define | IEEE802154_NO_CHANNEL USHRT_MAX | 
| #define | IEEE802154_BROADCAST_ADDRESS 0xFFFF | 
| #define | IEEE802154_NO_SHORT_ADDRESS_ASSIGNED 0xFFFE | 
| #define | IEEE802154_SHORT_ADDRESS_NOT_ASSOCIATED 0x0000 | 
| #define | IEEE802154_BROADCAST_PAN_ID 0xFFFF | 
| #define | IEEE802154_L2_CTX_TYPE struct ieee802154_context | 
| #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) | 
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... | |
IEEE 802.15.4 library.
| #define IEEE802154_AR_FLAG_SET (0x20) | 
#include <include/zephyr/net/ieee802154_radio.h>
| #define IEEE802154_BROADCAST_ADDRESS 0xFFFF | 
#include <include/zephyr/net/ieee802154.h>
| #define IEEE802154_BROADCAST_PAN_ID 0xFFFF | 
#include <include/zephyr/net/ieee802154.h>
| #define IEEE802154_EXT_ADDR_LENGTH 8 | 
#include <include/zephyr/net/ieee802154.h>
| #define IEEE802154_FCS_LENGTH 2 | 
#include <include/zephyr/net/ieee802154.h>
| #define IEEE802154_L2_CTX_TYPE struct ieee802154_context | 
#include <include/zephyr/net/ieee802154.h>
| #define IEEE802154_MAX_ADDR_LENGTH IEEE802154_EXT_ADDR_LENGTH | 
#include <include/zephyr/net/ieee802154.h>
| #define IEEE802154_MAX_PHY_PACKET_SIZE 127 | 
#include <include/zephyr/net/ieee802154.h>
| #define IEEE802154_MTU (IEEE802154_MAX_PHY_PACKET_SIZE - IEEE802154_FCS_LENGTH) | 
#include <include/zephyr/net/ieee802154.h>
| #define IEEE802154_NO_CHANNEL USHRT_MAX | 
#include <include/zephyr/net/ieee802154.h>
| #define IEEE802154_NO_SHORT_ADDRESS_ASSIGNED 0xFFFE | 
#include <include/zephyr/net/ieee802154.h>
| #define IEEE802154_SHORT_ADDR_LENGTH 2 | 
#include <include/zephyr/net/ieee802154.h>
| #define IEEE802154_SHORT_ADDRESS_NOT_ASSOCIATED 0x0000 | 
#include <include/zephyr/net/ieee802154.h>
#include <include/zephyr/net/ieee802154_radio.h>
| typedef void(* ieee802154_event_cb_t) (const struct device *dev, enum ieee802154_event evt, void *event_params) | 
#include <include/zephyr/net/ieee802154_radio.h>
| enum ieee802154_channel | 
#include <include/zephyr/net/ieee802154_radio.h>
IEEE 802.15.4 Channel assignments.
Channel numbering for 868 MHz, 915 MHz, and 2450 MHz bands.
For more information, please refer to 802.15.4-2015 Section 10.1.2.2.
| Enumerator | |
|---|---|
| IEEE802154_SUB_GHZ_CHANNEL_MIN | |
| IEEE802154_SUB_GHZ_CHANNEL_MAX | |
| IEEE802154_2_4_GHZ_CHANNEL_MIN | |
| IEEE802154_2_4_GHZ_CHANNEL_MAX | |
#include <include/zephyr/net/ieee802154_radio.h>
IEEE802.15.4 driver configuration types.
| enum ieee802154_event | 
#include <include/zephyr/net/ieee802154_radio.h>
| Enumerator | |
|---|---|
| IEEE802154_EVENT_TX_STARTED | |
| IEEE802154_EVENT_RX_FAILED | |
| IEEE802154_EVENT_SLEEP | |
#include <include/zephyr/net/ieee802154_radio.h>
| Enumerator | |
|---|---|
| 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_fpb_mode | 
#include <include/zephyr/net/ieee802154_radio.h>
IEEE802.15.4 Frame Pending Bit table address matching mode.
| enum ieee802154_hw_caps | 
#include <include/zephyr/net/ieee802154_radio.h>
#include <include/zephyr/net/ieee802154_radio.h>
| Enumerator | |
|---|---|
| IEEE802154_RX_FAIL_NOT_RECEIVED | |
| IEEE802154_RX_FAIL_INVALID_FCS | |
| IEEE802154_RX_FAIL_ADDR_FILTERED | |
| IEEE802154_RX_FAIL_OTHER | |
| enum ieee802154_tx_mode | 
#include <include/zephyr/net/ieee802154_radio.h>
IEEE802.15.4 Transmission mode.
| void ieee802154_init | ( | struct net_if * | iface | ) | 
#include <include/zephyr/net/ieee802154_radio.h>
Initialize L2 stack for a given interface.
| iface | A valid pointer on a network interface | 
#include <include/zephyr/net/ieee802154_radio.h>
Check if AR flag is set on the frame inside given net_pkt.
| frag | A valid pointer on a net_buf structure, must not be NULL, and its length should be at least made of 1 byte (ACK frames are the smallest frames on 15.4 and made of 3 bytes, not not counting the FCS part). | 
| enum net_verdict ieee802154_radio_handle_ack | ( | struct net_if * | iface, | 
| struct net_pkt * | pkt | ||
| ) | 
#include <include/zephyr/net/ieee802154_radio.h>
Radio driver ACK handling function that hw drivers should use.
ACK handling requires fast handling and thus such function helps to hook directly the hw drivers to the radio driver.
| iface | A valid pointer on a network interface that received the packet | 
| pkt | A valid pointer on a packet to check |