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.
uint8_t mIid
Interface Id for the radio packet.
union {
struct {
const otMacKeyMaterial * mAesKey
The key material 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.
bool mIsHeaderUpdated : 1
Indicates whether frame counter and CSL IEs are properly updated in the header.
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

mIsHeaderUpdated

bool otRadioFrame::mIsHeaderUpdated

Indicates whether frame counter and CSL IEs are properly updated in the header.

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 mIsHeaderUpdated is set, it indicates that OpenThread core has already set the frame counter and CSL IEs (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 mIsHeaderUpdated is not set, then the frame counter and key CSL IE not set in the frame by OpenThread core and it is the responsibility of the radio platform to assign them. The platform must update the frame header (assign counter and CSL IE values) before sending the frame over the air, however if the the transmission gets aborted and the frame is never sent over the air (e.g., channel access error) the platform may choose to not update the header. If the platform updates the header, it must also set this flag before passing the frame back from the otPlatRadioTxDone() callback.

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