Radio Types#

This module includes the platform abstraction for a radio frame.

Modules#

otExtAddress

otMacKey

otMacKeyMaterial

otRadioIeInfo

otRadioFrame

otRadioCoexMetrics

otLinkMetrics

Enumerations#

enum
@11 {
OT_RADIO_FRAME_MAX_SIZE = 127
OT_RADIO_FRAME_MIN_SIZE = 3
OT_RADIO_SYMBOLS_PER_OCTET = 2
OT_RADIO_BIT_RATE = 250000
OT_RADIO_BITS_PER_OCTET = 8
OT_RADIO_SYMBOL_RATE = 62500
OT_RADIO_SYMBOL_TIME = 1000000 * 1 / OT_RADIO_SYMBOL_RATE
OT_RADIO_TEN_SYMBOLS_TIME = 10 * OT_RADIO_SYMBOL_TIME
OT_RADIO_LQI_NONE = 0
OT_RADIO_RSSI_INVALID = 127
OT_RADIO_POWER_INVALID = 127
}
enum
@12 {
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)
}

Defines the channel page.

enum
@13 {
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
}

Defines the frequency band channel range.

enum
@14 {
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
OT_RADIO_CAPS_RX_ON_WHEN_IDLE = 1 << 8
OT_RADIO_CAPS_TRANSMIT_FRAME_POWER = 1 << 9
}

Defines constants that are used to indicate different radio capabilities.

enum
@15 {
OT_IE_HEADER_SIZE = 2
OT_CSL_IE_SIZE = 4
OT_ACK_IE_MAX_SIZE = 16
OT_ENH_PROBING_IE_DATA_MAX_SIZE = 2
}

Defines constants about size of header IE in ACK.

enum
OT_KEY_TYPE_LITERAL_KEY = 0
OT_KEY_TYPE_KEY_REF = 1
}

Defines constants about key types.

enum
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
}

Represents the state of a radio.

Typedefs#

typedef uint16_t

Represents radio capabilities.

typedef uint16_t

Represents the IEEE 802.15.4 PAN ID.

typedef uint16_t

Represents the IEEE 802.15.4 Short Address.

typedef struct otExtAddress

Represents the IEEE 802.15.4 Extended Address.

typedef struct otMacKey

Represents a MAC Key.

Represents a MAC Key Ref used by PSA.

typedef struct otRadioIeInfo

Represents the IEEE 802.15.4 Header IE (Information Element) related information of a radio frame.

typedef struct otRadioFrame

Represents an IEEE 802.15.4 radio frame.

typedef enum otRadioState

Represents the state of a radio.

typedef struct otRadioCoexMetrics

The following are valid radio state transitions:

typedef struct otLinkMetrics

Represents what metrics are specified to query.

Macros#

#define

IEEE 802.15.4 Broadcast PAN ID.

#define

Size of an IEEE 802.15.4 Extended Address (bytes)

#define

Fixed CSL IE header first byte.

#define

Fixed CSL IE header second byte.

#define

Size of the MAC Key in bytes.

#define

Compiler-specific indication at the end of a byte packed class or struct.

Enumeration Documentation#

@11#

@11
Enumerator
OT_RADIO_FRAME_MAX_SIZE

aMaxPHYPacketSize (IEEE 802.15.4-2006)

OT_RADIO_FRAME_MIN_SIZE

Minimal size of frame FCS + CONTROL.

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_SYMBOL_RATE

The O-QPSK PHY symbol rate when operating in the 780MHz, 915MHz, 2380MHz, 2450MHz.

OT_RADIO_SYMBOL_TIME

Symbol duration time in unit of microseconds.

OT_RADIO_TEN_SYMBOLS_TIME

Time for 10 symbols in unit of microseconds.

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.


Definition at line 66 of file include/openthread/platform/radio.h

@12#

@12

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


Definition at line 90 of file include/openthread/platform/radio.h

@13#

@13

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


Definition at line 101 of file include/openthread/platform/radio.h

@14#

@14

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.

OT_RADIO_CAPS_RX_ON_WHEN_IDLE

Radio supports RxOnWhenIdle handling.

OT_RADIO_CAPS_TRANSMIT_FRAME_POWER

Radio supports setting per-frame transmit power.


Definition at line 121 of file include/openthread/platform/radio.h

@15#

@15

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.


Definition at line 153 of file include/openthread/platform/radio.h

otRadioKeyType#

otRadioKeyType

Defines constants about key types.

Enumerator
OT_KEY_TYPE_LITERAL_KEY

Use Literal Keys.

OT_KEY_TYPE_KEY_REF

Use Reference to Key.


Definition at line 220 of file include/openthread/platform/radio.h

otRadioState#

otRadioState

Represents the state of a radio.

Initially, a radio is in the Disabled state.

Enumerator
OT_RADIO_STATE_DISABLED
OT_RADIO_STATE_SLEEP
OT_RADIO_STATE_RECEIVE
OT_RADIO_STATE_TRANSMIT
OT_RADIO_STATE_INVALID

Definition at line 381 of file include/openthread/platform/radio.h

Typedef Documentation#

otRadioCaps#

typedef uint16_t otRadioCaps

Represents radio capabilities.

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


Definition at line 116 of file include/openthread/platform/radio.h

otPanId#

typedef uint16_t otPanId

Represents the IEEE 802.15.4 PAN ID.


Definition at line 141 of file include/openthread/platform/radio.h

otShortAddress#

typedef uint16_t otShortAddress

Represents the IEEE 802.15.4 Short Address.


Definition at line 146 of file include/openthread/platform/radio.h

otExtAddress#

typedef struct otExtAddress otExtAddress

Represents the IEEE 802.15.4 Extended Address.


Definition at line 178 of file include/openthread/platform/radio.h

otMacKey#

typedef struct otMacKey otMacKey

Represents a MAC Key.


Definition at line 196 of file include/openthread/platform/radio.h

otMacKeyRef#

typedef otCryptoKeyRef otMacKeyRef

Represents a MAC Key Ref used by PSA.


Definition at line 201 of file include/openthread/platform/radio.h

otMacKeyMaterial#

typedef struct otMacKeyMaterial otMacKeyMaterial

Definition at line 215 of file include/openthread/platform/radio.h

otRadioIeInfo#

typedef struct otRadioIeInfo otRadioIeInfo

Represents the IEEE 802.15.4 Header IE (Information Element) related information of a radio frame.


Definition at line 234 of file include/openthread/platform/radio.h

otRadioFrame#

typedef struct otRadioFrame otRadioFrame

Represents an IEEE 802.15.4 radio frame.


Definition at line 375 of file include/openthread/platform/radio.h

otRadioState#

typedef enum otRadioState otRadioState

Represents the state of a radio.

Initially, a radio is in the Disabled state.


Definition at line 388 of file include/openthread/platform/radio.h

otRadioCoexMetrics#

typedef struct otRadioCoexMetrics 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. Represents radio coexistence metrics.


Definition at line 431 of file include/openthread/platform/radio.h

otLinkMetrics#

typedef struct otLinkMetrics otLinkMetrics

Represents what metrics are specified to query.


Definition at line 443 of file include/openthread/platform/radio.h

Variable Documentation#

OT_TOOL_PACKED_END#

OT_TOOL_PACKED_BEGIN struct otMacKey OT_TOOL_PACKED_END

Definition at line 173 of file include/openthread/platform/radio.h

Macro Definition Documentation#

OT_PANID_BROADCAST#

#define OT_PANID_BROADCAST
Value:
0xffff

IEEE 802.15.4 Broadcast PAN ID.


Definition at line 136 of file include/openthread/platform/radio.h

OT_EXT_ADDRESS_SIZE#

#define OT_EXT_ADDRESS_SIZE
Value:
8

Size of an IEEE 802.15.4 Extended Address (bytes)


Definition at line 148 of file include/openthread/platform/radio.h

CSL_IE_HEADER_BYTES_LO#

#define CSL_IE_HEADER_BYTES_LO
Value:
0x04

Fixed CSL IE header first byte.


Definition at line 161 of file include/openthread/platform/radio.h

CSL_IE_HEADER_BYTES_HI#

#define CSL_IE_HEADER_BYTES_HI
Value:
0x0d

Fixed CSL IE header second byte.


Definition at line 162 of file include/openthread/platform/radio.h

OT_MAC_KEY_SIZE#

#define OT_MAC_KEY_SIZE
Value:
16

Size of the MAC Key in bytes.


Definition at line 180 of file include/openthread/platform/radio.h

OT_TOOL_PACKED_END#

#define OT_TOOL_PACKED_END

Compiler-specific indication at the end of a byte packed class or struct.


Definition at line 172 of file include/openthread/platform/toolchain.h