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
このパケットで 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
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
このパケットで 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
が設定されていない場合、フレーム カウンタとキー CSL IE は OpenThread コアによってフレームに設定されず、これらを割り当てるのは無線プラットフォームの責任です。プラットフォームはフレームを無線で送信する前にフレーム ヘッダーを更新する必要があります(カウンタと 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 チャネルにすばやく切り替えられるようにするために使用されます。特に、就寝時に PAN チャンネルとは別のチャンネルを CSL に使用する場合がある、眠い子どもへの CSL 送信に役立ちます。フレーム tx の後、親が子から tx を見逃さないようにするために、無線/RCP が迅速に PAN チャネルに戻る必要があります。たとえば、無線が CSL チャンネルに留まる一方で、PAN チャネルを使用して親から以前に 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
は、ローカル無線時計を基準として、SFD の終点がローカル アンテナに存在する時点を指すものとします。
mTxDelayBaseTime
uint32_t otRadioFrame::mTxDelayBaseTime
ローカル無線時計を基準とした、スケジュールされた送信のベース時間(マイクロ秒単位)。otPlatRadioGetNow
と mTxDelay
をご覧ください。
mTxInfo
struct otRadioFrame::@24::@25 otRadioFrame::mTxInfo
無線フレーム送信情報を表す構造。
関連情報
OpenThread API リファレンスのトピックは、GitHub で入手できるソースコードに由来しています。 詳細について、またはドキュメントへの投稿については、リソースをご覧ください。