Zephyr API Documentation
2.7.0-rc2
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_ADDR_LENGTH 8 |
#define | IEEE802154_NO_CHANNEL USHRT_MAX |
#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/net/ieee802154_radio.h>
#define IEEE802154_L2_CTX_TYPE struct ieee802154_context |
#include <include/net/ieee802154.h>
#define IEEE802154_MAX_ADDR_LENGTH 8 |
#include <include/net/ieee802154.h>
#define IEEE802154_NO_CHANNEL USHRT_MAX |
#include <include/net/ieee802154.h>
#include <include/net/ieee802154_radio.h>
typedef void(* ieee802154_event_cb_t) (const struct device *dev, enum ieee802154_event evt, void *event_params) |
#include <include/net/ieee802154_radio.h>
enum ieee802154_channel |
#include <include/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/net/ieee802154_radio.h>
IEEE802.15.4 driver configuration types.
enum ieee802154_event |
#include <include/net/ieee802154_radio.h>
Enumerator | |
---|---|
IEEE802154_EVENT_TX_STARTED | |
IEEE802154_EVENT_RX_FAILED | |
IEEE802154_EVENT_SLEEP |
#include <include/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/net/ieee802154_radio.h>
IEEE802.15.4 Frame Pending Bit table address matching mode.
enum ieee802154_hw_caps |
#include <include/net/ieee802154_radio.h>
#include <include/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/net/ieee802154_radio.h>
IEEE802.15.4 Transmission mode.
#include <include/net/ieee802154_radio.h>
Initialize L2 stack for a given interface.
iface | A valid pointer on a network interface |
#include <include/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/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 |