Zephyr API Documentation
3.7.0
A Scalable Open Source RTOS
|
This file extends interface of ieee802154_radio.h for OpenThread. More...
#include <zephyr/net/ieee802154_radio.h>
Go to the source code of this file.
Data Structures | |
struct | ieee802154_openthread_config |
OpenThread specific configuration data of ieee802154 driver. More... | |
struct | ieee802154_openthread_attr_value |
OpenThread specific attribute value data of ieee802154 driver. More... | |
Macros | |
#define | IEEE802154_OPENTHREAD_THREAD_IE_VENDOR_OUI { 0x9b, 0xb8, 0xea } |
Thread vendor OUI for vendor specific header or nested information elements, see IEEE 802.15.4-2020, sections 7.4.2.2 and 7.4.4.30. | |
#define | IEEE802154_OPENTHREAD_VENDOR_OUI_LEN 3 |
length of IEEE 802.15.4-2020 vendor OUIs | |
Enumerations | |
enum | ieee802154_openthread_hw_caps { IEEE802154_OPENTHREAD_HW_MULTIPLE_CCA = BIT(IEEE802154_HW_CAPS_BITS_PRIV_START) } |
OpenThread specific capabilities of ieee802154 driver. More... | |
enum | ieee802154_openthread_tx_mode { IEEE802154_OPENTHREAD_TX_MODE_TXTIME_MULTIPLE_CCA = IEEE802154_TX_MODE_PRIV_START } |
TX mode. More... | |
enum | ieee802154_openthread_config_type { IEEE802154_OPENTHREAD_CONFIG_MAX_EXTRA_CCA_ATTEMPTS = IEEE802154_CONFIG_PRIV_START } |
OpenThread specific configuration types of ieee802154 driver. More... | |
enum | ieee802154_openthread_attr { IEEE802154_OPENTHREAD_ATTR_T_RECCA = IEEE802154_ATTR_PRIV_START , IEEE802154_OPENTHREAD_ATTR_T_CCATX } |
OpenThread specific attributes of ieee802154 driver. More... | |
This file extends interface of ieee802154_radio.h for OpenThread.
#define IEEE802154_OPENTHREAD_THREAD_IE_VENDOR_OUI { 0x9b, 0xb8, 0xea } |
Thread vendor OUI for vendor specific header or nested information elements, see IEEE 802.15.4-2020, sections 7.4.2.2 and 7.4.4.30.
in little endian
#define IEEE802154_OPENTHREAD_VENDOR_OUI_LEN 3 |
length of IEEE 802.15.4-2020 vendor OUIs
OpenThread specific attributes of ieee802154 driver.
This type extends ieee802154_attr
Enumerator | |
---|---|
IEEE802154_OPENTHREAD_ATTR_T_RECCA | Attribute: Maximum time between consecutive CCAs performed back-to-back. This is attribute for T_recca parameter mentioned for @ref IEEE802154_OPENTHREAD_TX_MODE_TXTIME_MULTIPLE_CCA. Time is expressed in microseconds. |
IEEE802154_OPENTHREAD_ATTR_T_CCATX | Attribute: Maximum time between detection of CCA idle channel and the moment of start of SHR at the local antenna. This is attribute for T_ccatx parameter mentioned for IEEE802154_OPENTHREAD_TX_MODE_TXTIME_MULTIPLE_CCA. Time is expressed in microseconds. |
OpenThread specific configuration types of ieee802154 driver.
This type extends ieee802154_config_type.
Enumerator | |
---|---|
IEEE802154_OPENTHREAD_CONFIG_MAX_EXTRA_CCA_ATTEMPTS | Allows to configure extra CCA for transmission requested with mode IEEE802154_OPENTHREAD_TX_MODE_TXTIME_MULTIPLE_CCA. Requires IEEE802154_OPENTHREAD_HW_MULTIPLE_CCA capability. |
OpenThread specific capabilities of ieee802154 driver.
This type extends ieee802154_hw_caps.
Enumerator | |
---|---|
IEEE802154_OPENTHREAD_HW_MULTIPLE_CCA | Capability to transmit with IEEE802154_OPENTHREAD_TX_MODE_TXTIME_MULTIPLE_CCA mode. |
TX mode.
Enumerator | |
---|---|
IEEE802154_OPENTHREAD_TX_MODE_TXTIME_MULTIPLE_CCA | The IEEE802154_OPENTHREAD_TX_MODE_TXTIME_MULTIPLE_CCA mode allows to send a scheduled packet if the channel is reported idle after at most 1 + max_extra_cca_attempts CCAs performed back-to-back. This mode is a non-standard experimental OpenThread feature. It allows transmission of a packet within a certain time window. The earliest transmission time is specified as in the other TXTIME modes: When the first CCA reports an idle channel then the first symbol of the packet's PHR SHALL be present at the local antenna at the time represented by the scheduled TX timestamp (referred to as T_tx below). If the first CCA reports a busy channel, then additional CCAs up to max_extra_cca_attempts will be done until one of them reports an idle channel and the packet is sent out or the max number of attempts is reached in which case the transmission fails. The timing of these additional CCAs depends on the capabilities of the driver which reports them in the T_recca and T_ccatx driver attributes (see IEEE802154_OPENTHREAD_ATTR_T_RECCA and IEEE802154_OPENTHREAD_ATTR_T_CCATX). Based on these attributes the upper layer can calculate the latest point in time (T_txmax) that the first symbol of the scheduled packet's PHR SHALL be present at the local antenna: T_maxtxdelay = max_extra_cca_attempts * (aCcaTime + T_recca) - T_recca + T_ccatx T_txmax = T_tx + T_maxtxdelay See IEEE 802.15.4-2020, section 11.3, table 11-1 for the definition of aCcaTime. Drivers implementing this TX mode SHOULD keep T_recca and T_ccatx as short as possible. T_ccatx SHALL be less than or equal aTurnaroundTime as defined in ibid., section 11.3, table 11-1. CCA SHALL be executed as defined by the phyCcaMode PHY PIB attribute (see ibid., section 11.3, table 11-2). Requires IEEE802154_OPENTHREAD_HW_MULTIPLE_CCA capability. |