Google 致力于为黑人社区推动种族平等。查看具体行动

otRadioFrame

#include <radio.h>

此结构表示 IEEE 802.15.4 无线帧。

摘要

公共属性

mAckFrameCounter
uint32_t
ACK 安全帧计数器(适用于设置了 mAckedWithSecEnhAck 的情况)。
mAckKeyId
uint8_t
ACK 安全密钥索引(适用于设置了 mAckedWithSecEnhAck 的情况)。
mAckedWithFramePending
bool
用于指示此帧是否已通过设置帧待处理加以确认。
mAckedWithSecEnhAck
bool
这表示此帧是否已使用安全增强 ACK 确认。
mAesKey
用于 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 确认。

mAesKey

const otMacKeyMaterial * otRadioFrame::mAesKey

用于 AES-CCM 帧安全性的密钥材料。

mChannel

uint8_t otRadioFrame::mChannel

用于传输/接收帧的通道。

mCslPresent

bool otRadioFrame::mCslPresent

如果存在 CSL 标头 IE,则设置为 true。

mCsmaCaEnabled

bool otRadioFrame::mCsmaCaEnabled

设置为 true 可为此数据包启用 CSMA-CA,否则设置为 false。

mIeInfo

otRadioIeInfo * otRadioFrame::mIeInfo

指向标题 IE 相关信息的指针。

移动信息

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 上找到。 如需了解详情或为我们的文档做贡献,请参阅资源