otRadioFrame

#include <radio.h>

代表 IEEE 802.15.4 無線電畫面。

摘要

公開屬性

mAckFrameCounter
uint32_t
確認安全影格計數器 (適用於已設定 mAckedWithSecEnhAck 時)。
mAckKeyId
uint8_t
確認安全金鑰索引 (適用於已設定 mAckedWithSecEnhAck 時)。
mAckedWithFramePending
bool
這表示是否已在待設定頁框的情況下確認這個頁框。
mAckedWithSecEnhAck
bool
這表示是否已透過安全強化 ACK 來確認這個頁框。
mAesKey
用於 AES-CCM 影格安全性的金鑰內容。
mChannel
uint8_t
用於傳輸/接收影格的通道。
mCslPresent
bool
如果有 CSL 標頭 IE,請設為 true。
mCsmaCaEnabled
bool
如要為這個封包啟用 CSMA-CA,請將值設為 true,否則設為 false。
mIeInfo
標題 IE 相關資訊的指標。
mInfo
union otRadioFrame::@24
傳送和接收無線電畫面資訊的聯集。
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。
mRxChannelAfterTxDone
uint8_t
影格 TX 完成後的 RX 頻道 (在所有畫面重試後 - 收到檢查、逾時或取消)。
mRxInfo
struct otRadioFrame::@24::@26
代表無線電訊框接收資訊的結構。
mTimestamp
uint64_t
當 SFD 結束於當地天線時,當地無線電時鐘的顯示時間 (以微秒為單位)。
mTxDelay
uint32_t
參照 mTxDelayBaseTime 的這項傳輸延遲時間,以微秒為單位。
mTxDelayBaseTime
uint32_t
排定傳輸的基本時間 (以微秒為單位),請參閱 otPlatRadioGetNowmTxDelay
mTxInfo
struct otRadioFrame::@24::@25
代表無線電訊框傳輸資訊的結構。

公開屬性

mAckFrameCounter

uint32_t otRadioFrame::mAckFrameCounter

確認安全影格計數器 (適用於已設定 mAckedWithSecEnhAck 時)。

mAckKeyId

uint8_t otRadioFrame::mAckKeyId

確認安全金鑰索引 (適用於已設定 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

如要為這個封包啟用 CSMA-CA,請將值設為 true,否則設為 false。

mIeInfo

otRadioIeInfo * otRadioFrame::mIeInfo

標題 IE 相關資訊的指標。

mInfo

union otRadioFrame::@24 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,則 OpenThread 核心不會在影格中設定影格計數器和金鑰 CSL IE,且無線電平台會負責指派這些影格。平台必須更新頁框標頭 (指派計數器和 CSL IE 值),才能透過無線方式傳送影格,但如果傳輸作業中止,且影格從未透過無線方式傳送 (例如頻道存取錯誤),平台可能會選擇不更新標頭。如果平台會更新標頭,也必須先設定這個標記,才能從 otPlatRadioTxDone() 回呼傳遞影格。

mIsSecurityProcessed

bool otRadioFrame::mIsSecurityProcessed

如果 SubMac 應略過這個影格的 AES 處理,則為 True。

mLength

uint16_t otRadioFrame::mLength

PSDU 的長度。

mLqi

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。

mRxChannelAfterTxDone

uint8_t otRadioFrame::mRxChannelAfterTxDone

影格 TX 完成後的 RX 頻道 (在所有畫面重試後 - 收到檢查、逾時或取消)。

廣播平台可以選擇完全忽略這項資訊。OT 堆疊會在影格 TX 完成後,並在 otPlatRadioTxDone() 回呼中傳送信號,並使用所需的 RX 頻道呼叫 otPlatRadioReceive()。未提供 OT_RADIO_CAPS_TRANSMIT_RETRIES 的廣播平台必須一律忽略此項。

由於 OT 堆疊和無線電之間的互動可能會發生延遲,這項解決方案是用在 RCP/主機架構中,確保 RCP 可更快切換至 PAN 頻道的情況。尤其是對進入沉睡的孩童來說,這項功能可以讓他們用 CSL tx 達成目的,在他們可能會使用與 PAN 頻道不同的頻道 CSL。在影格 tx 結束後,我們希望無線電/RCP 能快速返回 PAN 頻道,確保家長不會錯過孩子之後的 Tx,例如孩子使用 PAN 頻道回應先前從家長傳輸的 CSL 傳輸畫面,同時無線電仍繼續在 CSL 頻道上。

切換至 RX 頻道「必須」在影格完成 TX 完成後 (例如所有重試後、收到確認的時間 (在 TX 影格上設定「確認要求」旗標) 或確認逾時) 進行。請注意,封裝會在傳送影格的同一頻道上。

mRxInfo

struct otRadioFrame::@24::@26 otRadioFrame::mRxInfo

代表無線電訊框接收資訊的結構。

mTimestamp

uint64_t otRadioFrame::mTimestamp

當 SFD 結束於當地天線時,當地無線電時鐘的顯示時間 (以微秒為單位)。

mTxDelay

uint32_t otRadioFrame::mTxDelay

參照 mTxDelayBaseTime 的這項傳輸延遲時間,以微秒為單位。

注意:mTxDelayBaseTime + mTxDelay SHALL 會指向當地無線電時鐘,在 SFD 結束時出現於當地天線的時間點。

mTxDelayBaseTime

uint32_t otRadioFrame::mTxDelayBaseTime

排定傳輸的基本時間 (以微秒為單位),請參閱 otPlatRadioGetNowmTxDelay

mTxInfo

struct otRadioFrame::@24::@25 otRadioFrame::mTxInfo

代表無線電訊框傳輸資訊的結構。

資源

OpenThread API 參考資料主題源自原始碼,請前往 GitHub 取得。如要瞭解詳情或對說明文件做出貢獻,請參閱資源