This module includes the platform abstraction for a radio frame.

Classes

struct otExtAddress
This structure represents the IEEE 802.15.4 Extended Address.
struct otMacKey
This structure represents a MAC Key.
struct otRadioIeInfo
This structure represents the IEEE 802.15.4 Header IE (Information Element) related information of a radio frame.
struct otRadioFrame
This structure represents an IEEE 802.15.4 radio frame.
struct otRadioCoexMetrics
The following are valid radio state transitions:
struct otLinkMetrics
This structure represents what metrics are specified to query.

Macros

#define OT_PANID_BROADCAST 0xffff
IEEE 802.15.4 Broadcast PAN ID.
#define OT_EXT_ADDRESS_SIZE 8
Size of an IEEE 802.15.4 Extended Address (bytes)
#define CSL_IE_HEADER_BYTES_LO 0x04
Fixed CSL IE header first byte.
#define CSL_IE_HEADER_BYTES_HI 0x0d
Fixed CSL IE header second byte.
#define OT_MAC_KEY_SIZE 16
Size of the MAC Key in bytes.
#define OT_TOOL_PACKED_END
Compiler-specific indication at the end of a byte packed class or struct.

Typedefs

typedef uint8_t otRadioCaps
This type represents radio capabilities.
typedef uint16_t otPanId
This type represents the IEEE 802.15.4 PAN ID.
typedef uint16_t otShortAddress
This type represents the IEEE 802.15.4 Short Address.
typedef struct otExtAddress otExtAddress
This structure represents the IEEE 802.15.4 Extended Address.
typedef struct otMacKey otMacKey
This structure represents a MAC Key.
typedef uint32_t otMacKeyRef
This enum represents a MAC Key Ref used by PSA.
typedef struct otRadioIeInfo otRadioIeInfo
This structure represents the IEEE 802.15.4 Header IE (Information Element) related information of a radio frame.
typedef struct otRadioFrame otRadioFrame
This structure represents an IEEE 802.15.4 radio frame.
typedef enum otRadioState otRadioState
This structure represents the state of a radio.
typedef struct otRadioCoexMetrics otRadioCoexMetrics
The following are valid radio state transitions:
typedef struct otLinkMetrics otLinkMetrics
This structure represents what metrics are specified to query.

Enumerations

enum {
OT_RADIO_FRAME_MAX_SIZE = 127,
OT_RADIO_SYMBOLS_PER_OCTET = 2,
OT_RADIO_BIT_RATE = 250000,
OT_RADIO_BITS_PER_OCTET = 8,
OT_RADIO_SYMBOL_TIME = ((OT_RADIO_BITS_PER_OCTET / OT_RADIO_SYMBOLS_PER_OCTET) * 1000000) / OT_RADIO_BIT_RATE,
OT_RADIO_LQI_NONE = 0,
OT_RADIO_RSSI_INVALID = 127,
OT_RADIO_POWER_INVALID = 127
}
enum {
OT_RADIO_CHANNEL_PAGE_0 = 0,
OT_RADIO_CHANNEL_PAGE_0_MASK = (1U << OT_RADIO_CHANNEL_PAGE_0),
OT_RADIO_CHANNEL_PAGE_2 = 2,
OT_RADIO_CHANNEL_PAGE_2_MASK = (1U << OT_RADIO_CHANNEL_PAGE_2)
}
This enumeration defines the channel page.
enum {
OT_RADIO_915MHZ_OQPSK_CHANNEL_MIN = 1,
OT_RADIO_915MHZ_OQPSK_CHANNEL_MAX = 10,
OT_RADIO_915MHZ_OQPSK_CHANNEL_MASK = 0x3ff << OT_RADIO_915MHZ_OQPSK_CHANNEL_MIN,
OT_RADIO_2P4GHZ_OQPSK_CHANNEL_MIN = 11,
OT_RADIO_2P4GHZ_OQPSK_CHANNEL_MAX = 26,
OT_RADIO_2P4GHZ_OQPSK_CHANNEL_MASK = 0xffff << OT_RADIO_2P4GHZ_OQPSK_CHANNEL_MIN
}
This enumeration defines the frequency band channel range.
enum {
OT_RADIO_CAPS_NONE = 0,
OT_RADIO_CAPS_ACK_TIMEOUT = 1 << 0,
OT_RADIO_CAPS_ENERGY_SCAN = 1 << 1,
OT_RADIO_CAPS_TRANSMIT_RETRIES = 1 << 2,
OT_RADIO_CAPS_CSMA_BACKOFF = 1 << 3,
OT_RADIO_CAPS_SLEEP_TO_TX = 1 << 4,
OT_RADIO_CAPS_TRANSMIT_SEC = 1 << 5,
OT_RADIO_CAPS_TRANSMIT_TIMING = 1 << 6,
OT_RADIO_CAPS_RECEIVE_TIMING = 1 << 7
}
This enumeration defines constants that are used to indicate different radio capabilities.
enum {
OT_IE_HEADER_SIZE = 2,
OT_CSL_IE_SIZE = 4,
OT_ACK_IE_MAX_SIZE = 16,
OT_ENH_PROBING_IE_DATA_MAX_SIZE = 2
}
This enumeration defines constants about size of header IE in ACK.
enum otRadioState {
OT_RADIO_STATE_DISABLED = 0,
OT_RADIO_STATE_SLEEP = 1,
OT_RADIO_STATE_RECEIVE = 2,
OT_RADIO_STATE_TRANSMIT = 3,
OT_RADIO_STATE_INVALID = 255
}
This structure represents the state of a radio.

Variables

OT_TOOL_PACKED_BEGIN struct otExtAddress OT_TOOL_PACKED_END

Detailed Description

This module includes the platform abstraction for a radio frame.

Typedef Documentation

otMacKey

typedef struct otMacKey otMacKey

This structure represents a MAC Key.

Applicable only when OPENTHREAD_CONFIG_PSA_CRYPTO_ENABLE feature is enabled.

otRadioCaps

typedef uint8_t otRadioCaps

This type represents radio capabilities.

The value is a bit-field indicating the capabilities supported by the radio. See OT_RADIO_CAPS_* definitions.

otRadioCoexMetrics

The following are valid radio state transitions:

(Radio ON) +----——+ Enable() +-——+ Receive() +---——+ Transmit() +----——+ | |-----——>| |-----——>| |--------——>| | | Disabled | | Sleep | | Receive | | Transmit | | |<-----——| |<-----——| |<--------——| | +----——+ Disable() +-——+ Sleep() +---——+ Receive() +----——+ (Radio OFF) or signal TransmitDone

During the IEEE 802.15.4 data request command the transition Sleep->Receive->Transmit can be shortened to direct transition from Sleep to Transmit if the platform supports the OT_RADIO_CAPS_SLEEP_TO_TX capability. This structure represents radio coexistence metrics.

otRadioState

This structure represents the state of a radio.

Initially, a radio is in the Disabled state.

Enumeration Type Documentation

anonymous enum

anonymous enum

This enumeration defines the channel page.

Enumerator
OT_RADIO_CHANNEL_PAGE_0

2.4 GHz IEEE 802.15.4-2006

OT_RADIO_CHANNEL_PAGE_0_MASK

2.4 GHz IEEE 802.15.4-2006

OT_RADIO_CHANNEL_PAGE_2

915 MHz IEEE 802.15.4-2006

OT_RADIO_CHANNEL_PAGE_2_MASK

915 MHz IEEE 802.15.4-2006

anonymous enum

anonymous enum

This enumeration defines the frequency band channel range.

Enumerator
OT_RADIO_915MHZ_OQPSK_CHANNEL_MIN

915 MHz IEEE 802.15.4-2006

OT_RADIO_915MHZ_OQPSK_CHANNEL_MAX

915 MHz IEEE 802.15.4-2006

OT_RADIO_915MHZ_OQPSK_CHANNEL_MASK

915 MHz IEEE 802.15.4-2006

OT_RADIO_2P4GHZ_OQPSK_CHANNEL_MIN

2.4 GHz IEEE 802.15.4-2006

OT_RADIO_2P4GHZ_OQPSK_CHANNEL_MAX

2.4 GHz IEEE 802.15.4-2006

OT_RADIO_2P4GHZ_OQPSK_CHANNEL_MASK

2.4 GHz IEEE 802.15.4-2006

anonymous enum

anonymous enum

This enumeration defines constants that are used to indicate different radio capabilities.

See otRadioCaps .

Enumerator
OT_RADIO_CAPS_NONE

Radio supports no capability.

OT_RADIO_CAPS_ACK_TIMEOUT

Radio supports AckTime event.

OT_RADIO_CAPS_ENERGY_SCAN

Radio supports Energy Scans.

OT_RADIO_CAPS_TRANSMIT_RETRIES

Radio supports tx retry logic with collision avoidance (CSMA).

OT_RADIO_CAPS_CSMA_BACKOFF

Radio supports CSMA backoff for frame transmission (but no retry).

OT_RADIO_CAPS_SLEEP_TO_TX

Radio supports direct transition from sleep to TX with CSMA.

OT_RADIO_CAPS_TRANSMIT_SEC

Radio supports tx security.

OT_RADIO_CAPS_TRANSMIT_TIMING

Radio supports tx at specific time.

OT_RADIO_CAPS_RECEIVE_TIMING

Radio supports rx at specific time.

anonymous enum

anonymous enum

This enumeration defines constants about size of header IE in ACK.

Enumerator
OT_IE_HEADER_SIZE

Size of IE header in bytes.

OT_CSL_IE_SIZE

Size of CSL IE content in bytes.

OT_ACK_IE_MAX_SIZE

Max length for header IE in ACK.

OT_ENH_PROBING_IE_DATA_MAX_SIZE

Max length of Link Metrics data in Vendor-Specific IE.

anonymous enum

anonymous enum
Enumerator
OT_RADIO_FRAME_MAX_SIZE

aMaxPHYPacketSize (IEEE 802.15.4-2006)

OT_RADIO_SYMBOLS_PER_OCTET

2.4 GHz IEEE 802.15.4-2006

OT_RADIO_BIT_RATE

2.4 GHz IEEE 802.15.4 (bits per second)

OT_RADIO_BITS_PER_OCTET

Number of bits per octet.

OT_RADIO_LQI_NONE

LQI measurement not supported.

OT_RADIO_RSSI_INVALID

Invalid or unknown RSSI value.

OT_RADIO_POWER_INVALID

Invalid or unknown power value.

otRadioState

This structure represents the state of a radio.

Initially, a radio is in the Disabled state.