Google は、黒人コミュニティのための人種的公平の促進に取り組んでいます。詳細をご覧ください。

手術

このモジュールには、無線操作のためのプラットフォームの抽象化が含まれています。

概要

関数

otPlatDiagRadioReceiveDone ( otInstance *aInstance, otRadioFrame *aFrame, otError aError)
void
無線ドライバはこのメソッドを呼び出して、受信したフレームをOpenThread診断モジュールに通知します。
otPlatDiagRadioTransmitDone ( otInstance *aInstance, otRadioFrame *aFrame, otError aError)
void
無線ドライバはこのメソッドを呼び出して、送信が完了したことをOpenThread診断モジュールに通知します。
otPlatRadioAddSrcMatchExtEntry ( otInstance *aInstance, const otExtAddress *aExtAddress)
拡張アドレスを送信元アドレス一致テーブルに追加します。
otPlatRadioAddSrcMatchShortEntry ( otInstance *aInstance, otShortAddress aShortAddress)
送信元アドレス一致テーブルに短いアドレスを追加します。
otPlatRadioClearSrcMatchExtEntries ( otInstance *aInstance)
void
送信元アドレス一致テーブルからすべての拡張/長いアドレスをクリアします。
otPlatRadioClearSrcMatchExtEntry ( otInstance *aInstance, const otExtAddress *aExtAddress)
送信元アドレス一致テーブルから拡張アドレスを削除します。
otPlatRadioClearSrcMatchShortEntries ( otInstance *aInstance)
void
送信元アドレス一致テーブルからすべての短いアドレスをクリアします。
otPlatRadioClearSrcMatchShortEntry ( otInstance *aInstance, otShortAddress aShortAddress)
送信元アドレス一致テーブルから短いアドレスを削除します。
otPlatRadioConfigureEnhAckProbing ( otInstance *aInstance, otLinkMetrics aLinkMetrics, otShortAddress aShortAddress, const otExtAddress *aExtAddress)
特定のイニシエーターの無線で拡張ACKベースのプローブを有効/無効または更新します。
otPlatRadioDisable ( otInstance *aInstance)
無線を無効にします。
otPlatRadioEnable ( otInstance *aInstance)
無線を有効にします。
otPlatRadioEnableCsl ( otInstance *aInstance, uint32_t aCslPeriod, otShortAddress aShortAddr, const otExtAddress *aExtAddr)
CSLレシーバーを有効または無効にします。
otPlatRadioEnableSrcMatch ( otInstance *aInstance, bool aEnable)
void
送信元アドレス一致機能を有効/無効にします。
otPlatRadioEnergyScan ( otInstance *aInstance, uint8_t aScanChannel, uint16_t aScanDuration)
ラジオでエネルギースキャンシーケンスを開始します。
otPlatRadioEnergyScanDone ( otInstance *aInstance, int8_t aEnergyScanMaxRssi)
void
無線ドライバはこのメソッドを呼び出して、エネルギースキャンが完了したことをOpenThreadに通知します。
otPlatRadioGetCoexMetrics ( otInstance *aInstance, otRadioCoexMetrics *aCoexMetrics)
無線共存メトリックを取得します。
otPlatRadioGetCslAccuracy ( otInstance *aInstance)
uint8_t
CSL操作のスケジューリングに使用されるクロックの現在の精度を±ppm単位で取得します。
otPlatRadioGetCslClockUncertainty ( otInstance *aInstance)
uint8_t
CSL操作のスケジューリングに使用されるクロックの現在の不確実性を10us単位で取得します。
otPlatRadioGetPreferredChannelMask ( otInstance *aInstance)
uint32_t
デバイスが形成することを好む無線優先チャネルマスクを取得します。
otPlatRadioGetRegion ( otInstance *aInstance, uint16_t *aRegionCode)
リージョンコードを取得します。
otPlatRadioGetRssi ( otInstance *aInstance)
int8_t
最新のRSSI測定値を取得します。
otPlatRadioGetState ( otInstance *aInstance)
ラジオの現在の状態を取得します。
otPlatRadioGetSupportedChannelMask ( otInstance *aInstance)
uint32_t
デバイスのオンが許可されている、無線でサポートされているチャネルマスクを取得します。
otPlatRadioGetTransmitBuffer ( otInstance *aInstance)
無線送信フレームバッファを取得します。
otPlatRadioIsCoexEnabled ( otInstance *aInstance)
bool
無線coexが有効になっているかどうかを確認します。
otPlatRadioIsEnabled ( otInstance *aInstance)
bool
無線が有効になっているかどうかを確認します。
otPlatRadioReceive ( otInstance *aInstance, uint8_t aChannel)
ラジオをスリープから受信に移行します(ラジオをオンにします)。
otPlatRadioReceiveAt ( otInstance *aInstance, uint8_t aChannel, uint32_t aStart, uint32_t aDuration)
特定の時間と期間にラジオ受信ウィンドウをスケジュールします。
otPlatRadioReceiveDone ( otInstance *aInstance, otRadioFrame *aFrame, otError aError)
void
無線ドライバはこのメソッドを呼び出して、受信したフレームをOpenThreadに通知します。
otPlatRadioSetChannelMaxTransmitPower ( otInstance *aInstance, uint8_t aChannel, int8_t aMaxPower)
特定のチャネルの最大送信電力を設定します。
otPlatRadioSetCoexEnabled ( otInstance *aInstance, bool aEnabled)
無線coexを有効にします。
otPlatRadioSetRegion ( otInstance *aInstance, uint16_t aRegionCode)
リージョンコードを設定します。
otPlatRadioSleep ( otInstance *aInstance)
ラジオを受信からスリープに移行します(ラジオをオフにします)。
otPlatRadioTransmit ( otInstance *aInstance, otRadioFrame *aFrame)
無線で送信シーケンスを開始します。
otPlatRadioTxDone ( otInstance *aInstance, otRadioFrame *aFrame, otRadioFrame *aAckFrame, otError aError)
void
無線ドライバはこの関数を呼び出して、送信操作が完了したことをOpenThreadに通知し、送信されたフレームと、該当する場合は受信されたackフレームの両方を提供します。
otPlatRadioTxStarted ( otInstance *aInstance, otRadioFrame *aFrame)
void
無線ドライバはこのメソッドを呼び出して、送信が開始されたことをOpenThreadに通知します。
otPlatRadioUpdateCslSampleTime ( otInstance *aInstance, uint32_t aCslSampleTime)
void
無線ドライバのCSLサンプル時間を更新します。

関数

otPlatDiagRadioReceiveDone

void otPlatDiagRadioReceiveDone(
  otInstance *aInstance,
  otRadioFrame *aFrame,
  otError aError
)

無線ドライバはこのメソッドを呼び出して、受信したフレームをOpenThread診断モジュールに通知します。

この機能は、診断が有効になっている場合に使用されます。

詳細
パラメーター
[in] aInstance
OpenThreadインスタンス構造。
[in] aFrame
受信フレームへのポインタ。受信操作が失敗した場合はNULL。
[in] aError
フレームを正常に受信した場合はOT_ERROR_NONE、受信を中止してフレームを受信しなかった場合はOT_ERROR_ABORT、rxバッファスペースが不足しているためにフレームを受信できなかった場合はOT_ERROR_NO_BUFS。

otPlatDiagRadioTransmitDone

void otPlatDiagRadioTransmitDone(
  otInstance *aInstance,
  otRadioFrame *aFrame,
  otError aError
)

無線ドライバはこのメソッドを呼び出して、送信が完了したことをOpenThread診断モジュールに通知します。

この機能は、診断が有効になっている場合に使用されます。

詳細
パラメーター
[in] aInstance
OpenThreadインスタンス構造。
[in] aFrame
送信されたフレームへのポインタ。
[in] aError
フレームが送信されたときのOT_ERROR_NONE、チャネルでのアクティビティのためにOT_ERROR_CHANNEL_ACCESS_FAILURE txを実行できませんでした。その他の理由で送信が中止されたときは、OT_ERROR_ABORT。

otPlatRadioAddSrcMatchExtEntry

otError otPlatRadioAddSrcMatchExtEntry(
  otInstance *aInstance,
  const otExtAddress *aExtAddress
)

拡張アドレスを送信元アドレス一致テーブルに追加します。

詳細
パラメーター
[in] aInstance
OpenThreadインスタンス構造。
[in] aExtAddress
追加する拡張アドレスは、リトルエンディアンのバイトオーダーで格納されます。
戻り値
OT_ERROR_NONE
拡張アドレスがソース一致テーブルに正常に追加されました。
OT_ERROR_NO_BUFS
ソース一致テーブルに使用可能なエントリがありません。

otPlatRadioAddSrcMatchShortEntry

otError otPlatRadioAddSrcMatchShortEntry(
  otInstance *aInstance,
  otShortAddress aShortAddress
)

送信元アドレス一致テーブルに短いアドレスを追加します。

詳細
パラメーター
[in] aInstance
OpenThreadインスタンス構造。
[in] aShortAddress
追加する短いアドレス。
戻り値
OT_ERROR_NONE
ソース一致テーブルに短いアドレスが正常に追加されました。
OT_ERROR_NO_BUFS
ソース一致テーブルに使用可能なエントリがありません。

otPlatRadioClearSrcMatchExtEntries

void otPlatRadioClearSrcMatchExtEntries(
  otInstance *aInstance
)

送信元アドレス一致テーブルからすべての拡張/長いアドレスをクリアします。

詳細
パラメーター
[in] aInstance
OpenThreadインスタンス構造。

otPlatRadioClearSrcMatchExtEntry

otError otPlatRadioClearSrcMatchExtEntry(
  otInstance *aInstance,
  const otExtAddress *aExtAddress
)

送信元アドレス一致テーブルから拡張アドレスを削除します。

詳細
パラメーター
[in] aInstance
OpenThreadインスタンス構造。
[in] aExtAddress
削除される拡張アドレスは、リトルエンディアンのバイト順で格納されます。
戻り値
OT_ERROR_NONE
ソースマッチテーブルから拡張アドレスを正常に削除しました。
OT_ERROR_NO_ADDRESS
拡張アドレスが送信元アドレス一致テーブルにありません。

otPlatRadioClearSrcMatchShortEntries

void otPlatRadioClearSrcMatchShortEntries(
  otInstance *aInstance
)

送信元アドレス一致テーブルからすべての短いアドレスをクリアします。

詳細
パラメーター
[in] aInstance
OpenThreadインスタンス構造。

otPlatRadioClearSrcMatchShortEntry

otError otPlatRadioClearSrcMatchShortEntry(
  otInstance *aInstance,
  otShortAddress aShortAddress
)

送信元アドレス一致テーブルから短いアドレスを削除します。

詳細
パラメーター
[in] aInstance
OpenThreadインスタンス構造。
[in] aShortAddress
削除する短いアドレス。
戻り値
OT_ERROR_NONE
ソース一致テーブルから短いアドレスが正常に削除されました。
OT_ERROR_NO_ADDRESS
ショートアドレスが送信元アドレス一致テーブルにありません。

otPlatRadioConfigureEnhAckProbing

otError otPlatRadioConfigureEnhAckProbing(
  otInstance *aInstance,
  otLinkMetrics aLinkMetrics,
  otShortAddress aShortAddress,
  const otExtAddress *aExtAddress
)

特定のイニシエーターの無線で拡張ACKベースのプローブを有効/無効または更新します。

特定のプロービングイニシエーターによって拡張ACKベースのプロービングが構成された後、そのノードに送信される拡張ACKには、リンクメトリックデータを含むベンダー固有のIEが含まれている必要があります。このメソッドは、リンクメトリックデータを収集するために開始/停止するように無線に通知し、そのプロービングイニシエータに送信されたEnhanced-ACKのデータを含むベンダー固有のIEを含めます。

詳細
パラメーター
[in] aInstance
OpenThreadインスタンス構造。
[in] aLinkMetrics
このパラメーターは、照会するメトリックを指定します。仕様4.11.3.4.4.6に従って、最大2つのメトリックを指定できます。場合プロービングが無効になってしまうaLinkMetricsビット単位0です。
[in] aShortAddr
プロービングイニシエーターの短いアドレス。
[in] aExtAddr
プロービングイニシエーターの拡張送信元アドレス。 aExtAddrしているはずがありませんNULL
戻り値
OT_ERROR_NONE
Enhanced-ACKベースのプロービングが正常に構成されました。
OT_ERROR_INVALID_ARGS
aExtAddressあるNULL
OT_ERROR_NOT_FOUND
イニシエータはで示さaShortAddressクリアしようとしたときには見られません。
OT_ERROR_NO_BUFS
これ以上のイニシエーターはサポートできません。

otPlatRadioDisable

otError otPlatRadioDisable(
  otInstance *aInstance
)

無線を無効にします。

詳細
パラメーター
[in] aInstance
OpenThreadインスタンス構造。
戻り値
OT_ERROR_NONE
障害者への移行に成功しました。
OT_ERROR_INVALID_STATE
ラジオはスリープ状態ではありませんでした。

otPlatRadioEnable

otError otPlatRadioEnable(
  otInstance *aInstance
)

無線を有効にします。

詳細
パラメーター
[in] aInstance
OpenThreadインスタンス構造。
戻り値
OT_ERROR_NONE
正常に有効になりました。
OT_ERROR_FAILED
無線を有効にできませんでした。

otPlatRadioEnableCsl

otError otPlatRadioEnableCsl(
  otInstance *aInstance,
  uint32_t aCslPeriod,
  otShortAddress aShortAddr,
  const otExtAddress *aExtAddr
)

CSLレシーバーを有効または無効にします。

詳細
パラメーター
[in] aInstance
OpenThreadインスタンス構造。
[in] aCslPeriod
CSL期間、CSLを無効にする場合は0。
[in] aShortAddr
CSLレシーバーのピアの短い送信元アドレス。
[in] aExtAddr
CSLレシーバーのピアの拡張送信元アドレス。
戻り値
kErrorNotImplemented
無線ドライバはCSLをサポートしていません。
kErrorFailed
その他のプラットフォーム固有のエラー。
kErrorNone
CSLを正常に有効または無効にしました。

otPlatRadioEnableSrcMatch

void otPlatRadioEnableSrcMatch(
  otInstance *aInstance,
  bool aEnable
)

送信元アドレス一致機能を有効/無効にします。

送信元アドレス一致機能は、子からのデータ要求コマンドに応答して送信されるackの「フレーム保留」ビットを無線層が決定する方法を制御します。

無効にした場合、無線層はすべてのackの「フレーム保留中」をデータ要求コマンドに設定する必要があります。

有効にすると、無線層は送信元アドレス一致テーブルを使用して、データ要求コマンドに対するackの「フレーム保留」ビットを設定するかクリアするかを決定します。

送信元アドレス一致テーブルは、保留中のフレームがある子のリストを提供します。短いアドレスまたは拡張/長いアドレスのいずれかを送信元アドレス一致テーブルに追加できます。

詳細
パラメーター
[in] aInstance
OpenThreadインスタンス構造。
[in] aEnable
送信元アドレス一致機能を有効/無効にします。

otPlatRadioEnergyScan

otError otPlatRadioEnergyScan(
  otInstance *aInstance,
  uint8_t aScanChannel,
  uint16_t aScanDuration
)

ラジオでエネルギースキャンシーケンスを開始します。

この関数は、無線がOT_RADIO_CAPS_ENERGY_SCAN機能を提供する場合に使用されます。

詳細
パラメーター
[in] aInstance
OpenThreadインスタンス構造。
[in] aScanChannel
エネルギースキャンを実行するチャネル。
[in] aScanDuration
スキャンされるチャネルの期間(ミリ秒単位)。
戻り値
OT_ERROR_NONE
チャネルのスキャンを正常に開始しました。
OT_ERROR_NOT_IMPLEMENTED
ラジオはエネルギースキャンをサポートしていません。

otPlatRadioEnergyScanDone

void otPlatRadioEnergyScanDone(
  otInstance *aInstance,
  int8_t aEnergyScanMaxRssi
)

無線ドライバはこのメソッドを呼び出して、エネルギースキャンが完了したことをOpenThreadに通知します。

この関数は、無線がOT_RADIO_CAPS_ENERGY_SCAN機能を提供する場合に使用されます。

詳細
パラメーター
[in] aInstance
OpenThreadインスタンス構造。
[in] aEnergyScanMaxRssi
スキャンされたチャネルで検出された最大RSSI。

otPlatRadioGetCoexMetrics

otError otPlatRadioGetCoexMetrics(
  otInstance *aInstance,
  otRadioCoexMetrics *aCoexMetrics
)

無線共存メトリックを取得します。

この関数は、機能OPENTHREAD_CONFIG_PLATFORM_RADIO_COEX_ENABLEが有効になっている場合に使用されます。

詳細
パラメーター
[in] aInstance
OpenThreadインスタンス構造。
[out] aCoexMetrics
共存メトリック構造へのポインタ。
戻り値
OT_ERROR_NONE
coexメトリックを正常に取得しました。
OT_ERROR_INVALID_ARGS
aCoexMetrics NULLでした。

otPlatRadioGetCslAccuracy

uint8_t otPlatRadioGetCslAccuracy(
  otInstance *aInstance
)

CSL操作のスケジューリングに使用されるクロックの現在の精度を±ppm単位で取得します。

詳細
パラメーター
[in] aInstance
OpenThreadインスタンスへのポインタ。
戻り値
現在のCSLrx / txスケジューリングドリフト(±ppm単位)。

otPlatRadioGetCslClockUncertainty

uint8_t otPlatRadioGetCslClockUncertainty(
  otInstance *aInstance
)

CSL操作のスケジューリングに使用されるクロックの現在の不確実性を10us単位で取得します。

詳細
パラメーター
[in] aInstance
OpenThreadインスタンスへのポインタ。
戻り値
10us単位の現在のCSLクロックの不確実性。

otPlatRadioGetPreferredChannelMask

uint32_t otPlatRadioGetPreferredChannelMask(
  otInstance *aInstance
)

デバイスが形成することを好む無線優先チャネルマスクを取得します。

詳細
パラメーター
[in] aInstance
OpenThreadインスタンス構造。
戻り値
無線優先チャネルマスク。

otPlatRadioGetRegion

otError otPlatRadioGetRegion(
  otInstance *aInstance,
  uint16_t *aRegionCode
)

リージョンコードを取得します。

無線領域フォーマットは、ISO 3166alpha-2コードの2バイトのASCII表現です。

詳細
パラメーター
[in] aInstance
OpenThreadインスタンス構造。
[out] aRegionCode
ラジオ地域。
戻り値
OT_ERROR_INVALID_ARGS
aRegionCode nullptrです。
OT_ERROR_FAILED
その他のプラットフォーム固有のエラー。
OT_ERROR_NONE
リージョンコードを正常に取得しました。

otPlatRadioGetRssi

int8_t otPlatRadioGetRssi(
  otInstance *aInstance
)

最新のRSSI測定値を取得します。

詳細
パラメーター
[in] aInstance
OpenThreadインスタンス構造。
戻り値
有効な場合のRSSI(dBm)。 RSSIが無効な場合は127。

otPlatRadioGetState

otRadioState otPlatRadioGetState(
  otInstance *aInstance
)

ラジオの現在の状態を取得します。

この関数はOpenThreadでは必要ありません。デバッグやアプリケーション固有の目的で使用できます。

詳細
パラメーター
[in] aInstance
OpenThreadインスタンス構造。
戻り値
ラジオの現在の状態。

otPlatRadioGetSupportedChannelMask

uint32_t otPlatRadioGetSupportedChannelMask(
  otInstance *aInstance
)

デバイスのオンが許可されている、無線でサポートされているチャネルマスクを取得します。

詳細
パラメーター
[in] aInstance
OpenThreadインスタンス構造。
戻り値
無線でサポートされているチャネルマスク。

otPlatRadioGetTransmitBuffer

otRadioFrame * otPlatRadioGetTransmitBuffer(
  otInstance *aInstance
)

無線送信フレームバッファを取得します。

OpenThreadこのバッファにIEEE 802.15.4フレームは、その後呼び出し形成otPlatRadioTransmit()リクエスト送信します。

詳細
パラメーター
[in] aInstance
OpenThreadインスタンス構造。
戻り値
送信フレームバッファへのポインタ。

otPlatRadioIsCoexEnabled

bool otPlatRadioIsCoexEnabled(
  otInstance *aInstance
)

無線coexが有効になっているかどうかを確認します。

この関数は、機能OPENTHREAD_CONFIG_PLATFORM_RADIO_COEX_ENABLEが有効になっている場合に使用されます。

詳細
パラメーター
[in] aInstance
OpenThreadインスタンス構造。
戻り値
無線coexが有効になっている場合はTRUE、それ以外の場合はFALSE。

otPlatRadioIsEnabled

bool otPlatRadioIsEnabled(
  otInstance *aInstance
)

無線が有効になっているかどうかを確認します。

詳細
パラメーター
[in] aInstance
OpenThreadインスタンス構造。
戻り値
無線が有効な場合はTRUE、それ以外の場合はFALSE。

otPlatRadioReceive

otError otPlatRadioReceive(
  otInstance *aInstance,
  uint8_t aChannel
)

ラジオをスリープから受信に移行します(ラジオをオンにします)。

詳細
パラメーター
[in] aInstance
OpenThreadインスタンス構造。
[in] aChannel
受信に使用するチャネル。
戻り値
OT_ERROR_NONE
受信に正常に移行しました。
OT_ERROR_INVALID_STATE
無線が無効になっているか、送信中です。

otPlatRadioReceiveAt

otError otPlatRadioReceiveAt(
  otInstance *aInstance,
  uint8_t aChannel,
  uint32_t aStart,
  uint32_t aDuration
)

特定の時間と期間にラジオ受信ウィンドウをスケジュールします。

詳細
パラメーター
[in] aChannel
受信する無線チャネル。
[in] aStart
受信ウィンドウの開始時間(マイクロ秒単位)。
[in] aDuration
受信ウィンドウの継続時間(マイクロ秒単位)
戻り値
OT_ERROR_NONE
正常にスケジュールされた受信ウィンドウ。
OT_ERROR_FAILED
受信ウィンドウをスケジュールできませんでした。

otPlatRadioReceiveDone

void otPlatRadioReceiveDone(
  otInstance *aInstance,
  otRadioFrame *aFrame,
  otError aError
)

無線ドライバはこのメソッドを呼び出して、受信したフレームをOpenThreadに通知します。

詳細
パラメーター
[in] aInstance
OpenThreadインスタンス構造。
[in] aFrame
受信フレームへのポインタ。受信操作が失敗した場合はNULL。
[in] aError
フレームを正常に受信した場合はOT_ERROR_NONE、受信を中止してフレームを受信しなかった場合はOT_ERROR_ABORT、rxバッファスペースが不足しているためにフレームを受信できなかった場合はOT_ERROR_NO_BUFS。

otPlatRadioSetChannelMaxTransmitPower

otError otPlatRadioSetChannelMaxTransmitPower(
  otInstance *aInstance,
  uint8_t aChannel,
  int8_t aMaxPower
)

特定のチャネルの最大送信電力を設定します。

詳細
パラメーター
[in] aInstance
OpenThreadインスタンス構造。
[in] aChannel
無線チャネル。
[in] aMaxPower
OT_RADIO_RSSI_INVALIDを渡すと、dBm単位の最大電力がこのチャネルを無効にします。
戻り値
OT_ERROR_NOT_IMPLEMENTED
この機能は実装されていません
OT_ERROR_INVALID_ARGS
指定されたチャネルは無効です。
OT_ERROR_FAILED
その他のプラットフォーム固有のエラー。
OT_ERROR_NONE
最大送信電力を正常に設定しました。

otPlatRadioSetCoexEnabled

otError otPlatRadioSetCoexEnabled(
  otInstance *aInstance,
  bool aEnabled
)

無線coexを有効にします。

この関数は、機能OPENTHREAD_CONFIG_PLATFORM_RADIO_COEX_ENABLEが有効になっている場合に使用されます。

詳細
パラメーター
[in] aInstance
OpenThreadインスタンス構造。
[in] aEnabled
無線coexを有効にする場合はTRUE、それ以外の場合はFALSE。
戻り値
OT_ERROR_NONE
正常に有効になりました。
OT_ERROR_FAILED
無線coexを有効にできませんでした。

otPlatRadioSetRegion

otError otPlatRadioSetRegion(
  otInstance *aInstance,
  uint16_t aRegionCode
)

リージョンコードを設定します。

無線領域フォーマットは、ISO 3166alpha-2コードの2バイトのASCII表現です。

詳細
パラメーター
[in] aInstance
OpenThreadインスタンス構造。
[in] aRegionCode
ラジオ地域。
戻り値
OT_ERROR_FAILED
その他のプラットフォーム固有のエラー。
OT_ERROR_NONE
リージョンコードを正常に設定しました。

otPlatRadioSleep

otError otPlatRadioSleep(
  otInstance *aInstance
)

ラジオを受信からスリープに移行します(ラジオをオフにします)。

詳細
パラメーター
[in] aInstance
OpenThreadインスタンス構造。
戻り値
OT_ERROR_NONE
スリープへの移行に成功しました。
OT_ERROR_BUSY
ラジオが送信されていました。
OT_ERROR_INVALID_STATE
ラジオが無効になりました。

otPlatRadioTransmit

otError otPlatRadioTransmit(
  otInstance *aInstance,
  otRadioFrame *aFrame
)

無線で送信シーケンスを開始します。

呼び出し側は、によって提供されるバッファにIEEE 802.15.4フレーム形成しなければならないotPlatRadioGetTransmitBuffer()の送信を要求する前に。チャネルおよび送信電力もに含まれるotRadioFrame構造。

送信シーケンスは次のもので構成されます。

  1. 次のいずれかの状態から無線を送信に移行します。
    • デバイスがアイドル状態のときにRXがオンになっている場合、またはOT_RADIO_CAPS_SLEEP_TO_TXがサポートされていない場合に受信する
    • デバイスがアイドル状態でOT_RADIO_CAPS_SLEEP_TO_TXがサポートされているときに、RXがオフの場合はスリープします。
  2. 指定されたチャネルおよび指定された送信電力でpsduを送信します。

詳細
パラメーター
[in] aInstance
OpenThreadインスタンス構造。
[in] aFrame
送信するフレームへのポインタ。
戻り値
OT_ERROR_NONE
送信への移行に成功しました。
OT_ERROR_INVALID_STATE
ラジオは受信状態ではありませんでした。

otPlatRadioTxDone

void otPlatRadioTxDone(
  otInstance *aInstance,
  otRadioFrame *aFrame,
  otRadioFrame *aAckFrame,
  otError aError
)

無線ドライバはこの関数を呼び出して、送信操作が完了したことをOpenThreadに通知し、送信されたフレームと、該当する場合は受信されたackフレームの両方を提供します。

ラジオが提供する場合OT_RADIO_CAPS_TRANSMIT_SEC能力を、無線プラットフォーム層は、更新aFrame無線によって維持セキュリティ・フレーム・カウンタとキーインデックス値を有します。

詳細
パラメーター
[in] aInstance
OpenThreadインスタンス構造。
[in] aFrame
送信されたフレームへのポインタ。
[in] aAckFrame
ACKフレームへのポインタ。ACKが受信されなかった場合はNULL。
[in] aError
フレームが送信されたときのOT_ERROR_NONE、フレームが送信されたがACKが受信されなかったときのOT_ERROR_NO_ACK、チャネルのアクティビティのためにOT_ERROR_CHANNEL_ACCESS_FAILURE txを実行できなかった、その他の理由で送信が中止されたときのOT_ERROR_ABORT。

otPlatRadioTxStarted

void otPlatRadioTxStarted(
  otInstance *aInstance,
  otRadioFrame *aFrame
)

無線ドライバはこのメソッドを呼び出して、送信が開始されたことをOpenThreadに通知します。

詳細
パラメーター
[in] aInstance
OpenThreadインスタンス構造へのポインタ。
[in] aFrame
送信されているフレームへのポインタ。

otPlatRadioUpdateCslSampleTime

void otPlatRadioUpdateCslSampleTime(
  otInstance *aInstance,
  uint32_t aCslSampleTime
)

無線ドライバのCSLサンプル時間を更新します。

サンプル時間は、CSL IEでACKを送信するときの位相を計算するために、コピーとして無線ドライバに保存されます。

詳細
パラメーター
[in] aInstance
OpenThreadインスタンス構造。
[in] aCslSampleTime
最新のサンプル時間。