Zephyr API Documentation 4.0.0
A Scalable Open Source RTOS
|
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. | ||
IEEE 802.15.4 driver configuration data.
union { ... } ieee802154_config |
Configuration data.
struct { ... } ieee802154_config::ack_fpb |
struct { ... } ieee802154_config::ack_ie |
uint8_t* ieee802154_config::addr |
little endian for both short and extended address
struct { ... } ieee802154_config::auto_ack_fpb |
uint8_t ieee802154_config::channel |
Used channel.
uint32_t ieee802154_config::csl_period |
see IEEE802154_CONFIG_CSL_PERIOD
in CPU byte order
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.
bool ieee802154_config::enabled |
Is auto ACK FPB enabled.
Is enabled.
ieee802154_event_cb_t ieee802154_config::event_handler |
net_time_t ieee802154_config::expected_rx_time |
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
bool ieee802154_config::extended |
Is extended address.
uint32_t ieee802154_config::frame_counter |
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.
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.
enum ieee802154_fpb_mode ieee802154_config::mode |
Auto ACK FPB mode.
bool ieee802154_config::pan_coordinator |
bool ieee802154_config::promiscuous |
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.
bool ieee802154_config::rx_on_when_idle |
struct { ... } ieee802154_config::rx_slot |
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
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.