Zephyr Project API
3.2.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_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_SHORT_ADDR_LENGTH 2 |
#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 |