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  otMacKeyMaterial
 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 otCryptoKeyRef otMacKeyRef
 This type represents a MAC Key Ref used by PSA.
 
typedef struct otMacKeyMaterial otMacKeyMaterial
 
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_FRAME_MIN_SIZE = 3,
  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  otRadioKeyType {
  OT_KEY_TYPE_LITERAL_KEY = 0,
  OT_KEY_TYPE_KEY_REF = 1
}
 This enumeration defines constants about key types.
 
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

◆ 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

typedef enum otRadioState otRadioState

This structure represents the state of a radio.

Initially, a radio is in the Disabled state.

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
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_LQI_NONE 

LQI measurement not supported.

OT_RADIO_RSSI_INVALID 

Invalid or unknown RSSI value.

OT_RADIO_POWER_INVALID 

Invalid or unknown power value.

◆ 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.

◆ otRadioKeyType

This enumeration defines constants about key types.

Enumerator
OT_KEY_TYPE_LITERAL_KEY 

Use Literal Keys.

OT_KEY_TYPE_KEY_REF 

Use Reference to Key.

◆ otRadioState

This structure represents the state of a radio.

Initially, a radio is in the Disabled state.