Zephyr API Documentation  3.7.0
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
ieee802154_config Struct Reference

IEEE 802.15.4 driver configuration data. More...

#include <ieee802154_radio.h>

Data Fields

union {
   struct {
      bool   enabled
 Is auto ACK FPB enabled. More...
 
      enum ieee802154_fpb_mode   mode
 Auto ACK FPB mode. More...
 
   }   auto_ack_fpb
 see IEEE802154_CONFIG_AUTO_ACK_FPB More...
 
   struct {
      uint8_t *   addr
 little endian for both short and extended address More...
 
      bool   extended
 Is extended address. More...
 
      bool   enabled
 Is enabled. More...
 
   }   ack_fpb
 see IEEE802154_CONFIG_ACK_FPB More...
 
   bool   pan_coordinator
 see IEEE802154_CONFIG_PAN_COORDINATOR More...
 
   bool   promiscuous
 see IEEE802154_CONFIG_PROMISCUOUS More...
 
   bool   rx_on_when_idle
 see IEEE802154_CONFIG_RX_ON_WHEN_IDLE More...
 
   ieee802154_event_cb_t   event_handler
 see IEEE802154_CONFIG_EVENT_HANDLER More...
 
   struct ieee802154_key *   mac_keys
 see IEEE802154_CONFIG_MAC_KEYS More...
 
   uint32_t   frame_counter
 see IEEE802154_CONFIG_FRAME_COUNTER More...
 
   struct {
      net_time_t   start
 Nanosecond resolution timestamp relative to the network subsystem's local clock defining the start of the RX window during which the receiver is expected to be listening (i.e. More...
 
      net_time_t   duration
 Nanosecond resolution duration of the RX window relative to the above RX window start time during which the receiver is expected to be listening (i.e. More...
 
      uint8_t   channel
 Used channel. More...
 
   }   rx_slot
 see IEEE802154_CONFIG_RX_SLOT More...
 
   uint32_t   csl_period
 see IEEE802154_CONFIG_CSL_PERIOD More...
 
   net_time_t   expected_rx_time
 see IEEE802154_CONFIG_EXPECTED_RX_TIME More...
 
   struct {
      struct ieee802154_header_ie *   header_ie
 Pointer to the header IE, see section 7.4.2.1, figure 7-21. More...
 
      const uint8_t *   ext_addr
 Filters the devices that will receive this IE by extended address. More...
 
      uint16_t   short_addr
 Filters the devices that will receive this IE by short address. More...
 
      bool   purge_ie
 Flag for purging enh ACK header IEs. More...
 
   }   ack_ie
 see IEEE802154_CONFIG_ENH_ACK_HEADER_IE More...
 
}; 
 Configuration data.
 

Detailed Description

IEEE 802.15.4 driver configuration data.

Field Documentation

◆ 

union { ... } ieee802154_config::@313

Configuration data.

◆ 

struct { ... } ieee802154_config::ack_fpb

◆ 

struct { ... } ieee802154_config::ack_ie

◆ addr

uint8_t* ieee802154_config::addr

little endian for both short and extended address

◆ 

struct { ... } ieee802154_config::auto_ack_fpb

◆ channel

uint8_t ieee802154_config::channel

Used channel.

◆ csl_period

uint32_t ieee802154_config::csl_period

see IEEE802154_CONFIG_CSL_PERIOD

in CPU byte order

◆ duration

net_time_t ieee802154_config::duration

Nanosecond resolution duration of the RX window relative to the above RX window start time during which the receiver is expected to be listening (i.e.

not including any shutdown times). Only positive values larger than or equal zero are allowed.

Setting the duration to zero will disable the receiver, no matter what the start parameter.

◆ enabled

bool ieee802154_config::enabled

Is auto ACK FPB enabled.

Is enabled.

◆ event_handler

ieee802154_event_cb_t ieee802154_config::event_handler

◆ expected_rx_time

net_time_t ieee802154_config::expected_rx_time

◆ ext_addr

const uint8_t* ieee802154_config::ext_addr

Filters the devices that will receive this IE by extended address.

MAY be set to NULL to configure a fallback for all devices (implies that short_addr MUST also be set to IEEE802154_BROADCAST_ADDRESS).

in big endian

◆ extended

bool ieee802154_config::extended

Is extended address.

◆ frame_counter

uint32_t ieee802154_config::frame_counter

◆ header_ie

struct ieee802154_header_ie* ieee802154_config::header_ie

Pointer to the header IE, see section 7.4.2.1, figure 7-21.

Certain header IEs may be incomplete if they require timing information to be injected at runtime on-the-fly, see the list in IEEE802154_CONFIG_ENH_ACK_HEADER_IE.

◆ mac_keys

struct ieee802154_key* ieee802154_config::mac_keys

see IEEE802154_CONFIG_MAC_KEYS

Pointer to an array containing a list of keys used for MAC encryption. Refer to secKeyIdLookupDescriptor and secKeyDescriptor in IEEE 802.15.4

The key_value field points to a buffer containing the 16 byte key. The buffer SHALL be copied by the driver before returning from the call.

The variable length array is terminated by key_value field set to NULL.

◆ mode

enum ieee802154_fpb_mode ieee802154_config::mode

Auto ACK FPB mode.

◆ pan_coordinator

bool ieee802154_config::pan_coordinator

◆ promiscuous

bool ieee802154_config::promiscuous

◆ purge_ie

bool ieee802154_config::purge_ie

Flag for purging enh ACK header IEs.

When flag is set to true, driver should remove all existing header IEs, and all other entries in config should be ignored. This means that purging current header IEs and configuring a new one in the same call is not allowed.

◆ rx_on_when_idle

bool ieee802154_config::rx_on_when_idle

◆ 

struct { ... } ieee802154_config::rx_slot

◆ short_addr

uint16_t ieee802154_config::short_addr

Filters the devices that will receive this IE by short address.

MAY be set to IEEE802154_BROADCAST_ADDRESS to configure a fallback for all devices (implies that ext_addr MUST also set to NULL in this case).

in CPU byte order

◆ start

net_time_t ieee802154_config::start

Nanosecond resolution timestamp relative to the network subsystem's local clock defining the start of the RX window during which the receiver is expected to be listening (i.e.

not including any driver startup times).

Configuring an rx_slot with the start attribute set to -1 will cancel and delete any previously active rx slot.


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