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
このパケットで 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

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

このパケットで 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 が設定されていない場合、フレーム カウンタとキー 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

ローカル無線時計を基準とした、スケジュールされた送信のベース時間(マイクロ秒単位)。otPlatRadioGetNowmTxDelay をご覧ください。

mTxInfo

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

無線フレーム送信情報を表す構造。

関連情報

OpenThread API リファレンスのトピックは、GitHub で入手できるソースコードに由来しています。 詳細について、またはドキュメントへの投稿については、リソースをご覧ください。