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