otRadioFrame Struct Reference

This structure represents an IEEE 802.15.4 radio frame.

#include < include/openthread/platform/radio.h >

Public Attributes

uint8_t * mPsdu
The PSDU.
uint16_t mLength
Length of the PSDU.
uint8_t mChannel
Channel used to transmit/receive the frame.
uint8_t mRadioType
Radio link type - should be ignored by radio driver.
union {
struct {
const otMacKey * mAesKey
The key used for AES-CCM frame security.
otRadioIeInfo * mIeInfo
The pointer to the Header IE(s) related information.
uint32_t mTxDelay
The delay time for this transmission (based on mTxDelayBaseTime ).
uint32_t mTxDelayBaseTime
The base time for the transmission delay.
uint8_t mMaxCsmaBackoffs
Maximum number of backoffs attempts before declaring CCA failure.
uint8_t mMaxFrameRetries
Maximum number of retries allowed after a transmission failure.
otMacKeyRef mAesKeyRef
The key reference used for AES-CCM frame security.
bool mIsARetx : 1
Indicates whether the frame is a retransmission or not.
bool mCsmaCaEnabled : 1
Set to true to enable CSMA-CA for this packet, false otherwise.
bool mCslPresent : 1
Set to true if CSL header IE is present.
bool mIsSecurityProcessed : 1
True if SubMac should skip the AES processing of this frame.
} mTxInfo
Structure representing radio frame transmit information.
struct {
uint64_t mTimestamp
The timestamp when the frame was received in microseconds.
uint32_t mAckFrameCounter
ACK security frame counter (applicable when mAckedWithSecEnhAck is set).
uint8_t mAckKeyId
ACK security key index (applicable when mAckedWithSecEnhAck is set).
int8_t mRssi
Received signal strength indicator in dBm for received frames.
uint8_t mLqi
Link Quality Indicator for received frames.
bool mAckedWithFramePending : 1
This indicates if this frame was acknowledged with frame pending set.
bool mAckedWithSecEnhAck : 1
This indicates if this frame was acknowledged with secured enhance ACK.
} mRxInfo
Structure representing radio frame receive information.
} mInfo
The union of transmit and receive information for a radio frame.

This structure represents an IEEE 802.15.4 radio frame.

Member Data Documentation

mIsARetx

bool otRadioFrame::mIsARetx

Indicates whether the frame is a retransmission or not.

If the platform layer does not provide OT_RADIO_CAPS_TRANSMIT_SEC capability, it can ignore this flag.

If the platform provides OT_RADIO_CAPS_TRANSMIT_SEC capability, then platform is expected to handle tx security processing and assignment of frame counter. In this case the following behavior is expected:

When mIsARetx is set, it indicates that OpenThread core has already set the frame counter and key id (if security is enabled) in the prepared frame. The counter is ensured to match the counter value from the previous attempts of the same frame. The platform should not assign or change the frame counter (but may still need to perform security processing depending on mIsSecurityProcessed flag).

If mIsARetx is not set, then the frame counter and key id are not set in the frame by OpenThread core and it is the responsibility of the radio platform to assign them. The platform should update the frame (assign counter and key id) even if the transmission gets aborted or fails (e.g., channel access error).

mTimestamp

uint64_t otRadioFrame::mTimestamp

The timestamp when the frame was received in microseconds.

The value SHALL be the time when the SFD was received when TIME_SYNC or CSL is enabled. Otherwise, the time when the MAC frame was fully received is also acceptable.


The documentation for this struct was generated from the following file:
  • include/openthread/platform/ radio.h