otRadioFrame
#include <radio.h>
代表 IEEE 802.15.4 無線電畫面。
摘要
公開屬性 |
|
---|---|
mAckFrameCounter
|
uint32_t
確認安全影格計數器 (適用於已設定
mAckedWithSecEnhAck 時)。 |
mAckKeyId
|
uint8_t
確認安全金鑰索引 (適用於已設定
mAckedWithSecEnhAck 時)。 |
mAckedWithFramePending
|
bool
這表示是否已在待設定頁框的情況下確認這個頁框。
|
mAckedWithSecEnhAck
|
bool
這表示是否已透過安全強化 ACK 來確認這個頁框。
|
mAesKey
|
const otMacKeyMaterial *
用於 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
排定傳輸的基本時間 (以微秒為單位),請參閱
otPlatRadioGetNow 和 mTxDelay 。 |
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 來確認這個頁框。
mChannel
uint8_t otRadioFrame::mChannel
用於傳輸/接收影格的通道。
mCslPresent
bool otRadioFrame::mCslPresent
如果有 CSL 標頭 IE,請設為 true。
mCsmaCaEnabled
bool otRadioFrame::mCsmaCaEnabled
如要為這個封包啟用 CSMA-CA,請將值設為 true,否則設為 false。
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
排定傳輸的基本時間 (以微秒為單位),請參閱 otPlatRadioGetNow
和 mTxDelay
。
mTxInfo
struct otRadioFrame::@24::@25 otRadioFrame::mTxInfo
代表無線電訊框傳輸資訊的結構。
資源
OpenThread API 參考資料主題源自原始碼,請前往 GitHub 取得。如要瞭解詳情或對說明文件做出貢獻,請參閱資源。