otRadioFrame
#include <radio.h>
此结构表示 IEEE 802.15.4 无线帧。
摘要
公共属性 |
|
---|---|
mAckFrameCounter
|
uint32_t
ACK 安全帧计数器(适用于设置了
mAckedWithSecEnhAck 的情况)。 |
mAckKeyId
|
uint8_t
ACK 安全密钥索引(适用于设置了
mAckedWithSecEnhAck 的情况)。 |
mAckedWithFramePending
|
bool
用于指示此帧是否已通过设置帧待处理加以确认。
|
mAckedWithSecEnhAck
|
bool
这表示此帧是否已使用安全增强 ACK 确认。
|
mAesKey
|
const otMacKeyMaterial *
用于 AES-CCM 帧安全性的密钥材料。
|
mChannel
|
uint8_t
用于传输/接收帧的通道。
|
mCslPresent
|
bool
如果存在 CSL 标头 IE,则设置为 true。
|
mCsmaCaEnabled
|
bool
设置为 true 可为此数据包启用 CSMA-CA,否则设置为 false。
|
mIeInfo
|
指向标题 IE 相关信息的指针。
|
mInfo
|
union otRadioFrame::@19
收发无线装置帧信息的并集。
|
mIsARetx
|
bool
指示帧是否是重新传输。
|
mIsHeaderUpdated
|
bool
指示帧计数器和 CSL IE 是否会在标头中正确更新。
|
mIsSecurityProcessed
|
bool
如果 SubMac 应跳过此帧的 AES 处理,则为 True。
|
mLength
|
uint16_t
PSDU 的长度。
|
mLqi
|
uint8_t
所接收帧的链接质量指示器。
|
mMaxCsmaBackoffs
|
uint8_t
声明 CCA 失败前的退避尝试次数上限。
|
mMaxFrameRetries
|
uint8_t
传输失败后允许的重试次数上限。
|
mPsdu
|
uint8_t *
PSDU。
|
mRadioType
|
uint8_t
无线装置链接类型 - 应被无线驱动程序忽略。
|
mRssi
|
int8_t
已接收帧的信号强度指示器(以 dBm 为单位)。
|
mRxInfo
|
struct otRadioFrame::@19::@21
表示无线电帧接收信息的结构。
|
mTimestamp
|
uint64_t
收到帧时的时间戳(以微秒为单位)。
|
mTxDelay
|
uint32_t
此次传输的延迟时间(基于
mTxDelayBaseTime )。 |
mTxDelayBaseTime
|
uint32_t
传输延迟的基准时间。
|
mTxInfo
|
struct otRadioFrame::@19::@20
表示无线电帧传输信息的结构。
|
公共属性
毫克帧计数器
uint32_t otRadioFrame::mAckFrameCounter
ACK 安全帧计数器(适用于设置了 mAckedWithSecEnhAck
的情况)。
mAckKeyId
uint8_t otRadioFrame::mAckKeyId
ACK 安全密钥索引(适用于设置了 mAckedWithSecEnhAck
的情况)。
mAckedWithFramePending
bool otRadioFrame::mAckedWithFramePending
用于指示此帧是否已通过设置帧待处理加以确认。
mAckedWithSecEnhAck
bool otRadioFrame::mAckedWithSecEnhAck
这表示此帧是否已使用安全增强 ACK 确认。
mChannel
uint8_t otRadioFrame::mChannel
用于传输/接收帧的通道。
mCslPresent
bool otRadioFrame::mCslPresent
如果存在 CSL 标头 IE,则设置为 true。
mCsmaCaEnabled
bool otRadioFrame::mCsmaCaEnabled
设置为 true 可为此数据包启用 CSMA-CA,否则设置为 false。
移动信息
union otRadioFrame::@19 otRadioFrame::mInfo
收发无线装置帧信息的并集。
mIsARetx
bool otRadioFrame::mIsARetx
指示帧是否是重新传输。
mIsHeaderUpdated
bool otRadioFrame::mIsHeaderUpdated
指示帧计数器和 CSL IE 是否会在标头中正确更新。
如果平台层不提供 OT_RADIO_CAPS_TRANSMIT_SEC
功能,则可以忽略此标志。
如果平台提供 OT_RADIO_CAPS_TRANSMIT_SEC
功能,平台应负责处理 tx 安全处理和帧计数器分配。在这种情况下,预计会出现以下行为:
设置 mIsHeaderUpdated
后,表示 OpenThread 核心已在准备好的帧中设置帧计数器和 CSL IE(如果已启用安全)。确保计数器与先前尝试同一帧的计数器值相匹配。平台不应分配或更改帧计数器(但可能仍需要根据 mIsSecurityProcessed
标记执行安全处理)。
如果 mIsHeaderUpdated
未设置,则帧计数器和密钥 CSL IE 并非由 OpenThread 核心在帧中设置,由电台平台负责分配。平台必须在通过无线下载发送帧之前更新帧标头(分配计数器和 CSL IE 值),但是如果传输被取消且帧从未通过无线下载方式发送(例如,频道访问错误),平台可能会选择不更新标头。如果平台更新标头,它还必须设置此标记,然后再从 otPlatRadioTxDone()
回调传回帧。
mIsSecurityProcessed
bool otRadioFrame::mIsSecurityProcessed
如果 SubMac 应跳过此帧的 AES 处理,则为 True。
毫米长度
uint16_t otRadioFrame::mLength
PSDU 的长度。
毫升
uint8_t otRadioFrame::mLqi
所接收帧的链接质量指示器。
mMaxCsmaBackoffs
uint8_t otRadioFrame::mMaxCsmaBackoffs
声明 CCA 失败前的退避尝试次数上限。
mMaxFrameRetries
uint8_t otRadioFrame::mMaxFrameRetries
传输失败后允许的重试次数上限。
mPsdu
uint8_t * otRadioFrame::mPsdu
PSDU。
mRadioType
uint8_t otRadioFrame::mRadioType
无线装置链接类型 - 应被无线驱动程序忽略。
mRssi
int8_t otRadioFrame::mRssi
已接收帧的信号强度指示器(以 dBm 为单位)。
mRxInfo
struct otRadioFrame::@19::@21 otRadioFrame::mRxInfo
表示无线电帧接收信息的结构。
mTimestamp
uint64_t otRadioFrame::mTimestamp
收到帧时的时间戳(以微秒为单位)。
该值应为启用 TIME_SYNC 或 CSL 时收到 SFD 的时间。除此之外,MAC 帧完全接收的时间也是可以接受的。
mTxDelay
uint32_t otRadioFrame::mTxDelay
此次传输的延迟时间(基于 mTxDelayBaseTime
)。
mTxDelayBaseTime
uint32_t otRadioFrame::mTxDelayBaseTime
传输延迟的基准时间。
mTxInfo
struct otRadioFrame::@19::@20 otRadioFrame::mTxInfo
表示无线电帧传输信息的结构。
资源
OpenThread API 参考主题源自源代码,可在 GitHub 上找到。 如需了解详情或为我们的文档做贡献,请参阅资源。