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)
特定のイニシエータの無線通信で Enhanced-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 オペレーションのスケジュール設定に使用されるクロックの、現在の不確実度を 10 us 単位で取得します。
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(OTPlatRadioConfigureEnhAckProbing)

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

特定のイニシエータの無線通信で Enhanced-ACK ベースのプローブを有効にする、無効にする、または更新する。

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

詳細
パラメータ
[in] aInstance
OpenThread インスタンス構造。
[in] aLinkMetrics
このパラメータでは、クエリを実行する指標を指定します。仕様 4.11.3.4.4.6 では、最大で 2 つの指標を指定できます。aLinkMetrics がビット単位の 0 である場合、プローブは無効になります。
[in] aShortAddress
プローブ イニシエータの短いアドレス。
[in] aExtAddress
プローブ イニシエータの拡張送信元アドレス。aExtAddrNULL にすることはできません。
戻り値
OT_ERROR_NONE
Enhanced-ACK ベースのプローブの設定が完了しました。
OT_ERROR_INVALID_ARGS
aExtAddressNULL です。
OT_ERROR_NOT_FOUND
aShortAddress で示されるイニシエータは、クリアしようとしても見つかりません。
OT_ERROR_NO_BUFS
イニシエータはサポートできなくなりました。

otPlatRadioDisable(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 の「フレーム保留」ビットを設定するか、クリアするかを決定します。

送信元アドレスのマッチテーブルは、保留中のフレームがある子のリストを提供します。送信元アドレスのマッチテーブルには、短いアドレスでも長いアドレスでも構いません。

詳細
パラメータ
[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 でした。

otPlatRadioGetCsl 精度

uint8_t otPlatRadioGetCslAccuracy(
  otInstance *aInstance
)

CSL 演算のスケジュール設定に使用されるクロックの現在の精度を ± ppm 単位で取得します。

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

otPlatRadioGetCslClockUncertainty

uint8_t otPlatRadioGetCslClockUncertainty(
  otInstance *aInstance
)

CSL オペレーションのスケジュール設定に使用されるクロックの、現在の不確実度を 10 us 単位で取得します。

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

otPlatRadioGetPreferredChannelMask

uint32_t otPlatRadioGetPreferredChannelMask(
  otInstance *aInstance
)

デバイスが優先して使用するラジオ優先チャンネル マスクを取得します。

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

otPlatRadioGetRegion

otError otPlatRadioGetRegion(
  otInstance *aInstance,
  uint16_t *aRegionCode
)

地域コードを取得します。

無線領域の形式は、ISO 3166 alpha-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(OTPlatRadioGetSupportedChannelMask)

uint32_t otPlatRadioGetSupportedChannelMask(
  otInstance *aInstance
)

デバイスの使用を許可する無線対応チャンネル マスクを取得します。

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

otPlatRadioGetTransmitBuffer(英語)

otRadioFrame * otPlatRadioGetTransmitBuffer(
  otInstance *aInstance
)

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

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

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

otPlatRadioIsCoexEnabled(オットラットの IsIsCoex の有効化)

bool otPlatRadioIsCoexEnabled(
  otInstance *aInstance
)

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

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

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

otPlatRadioIsEnabled(OTP の有効化)

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
Receive への移行が完了しました。
OT_ERROR_INVALID_STATE
無線通信が無効になっているか、送信中です。

otPlatRadioReceiveAt(オットラットの RadioRReceiveAt)

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(オットラットの RadioRReceiveDone)

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
最大電力(dBm)を指定して OT_RADIO_RSSI_INVALID を渡すと、このチャンネルは無効になります。
戻り値
OT_ERROR_NOT_IMPLEMENTED
この機能が実装されていません
OT_ERROR_INVALID_ARGS
指定したチャネルは無効です。
OT_ERROR_FAILED
その他のプラットフォーム固有のエラー。
OT_ERROR_NONE
最大送信電力を設定しました。

otPlatRadioSetCoexEnabled(オットラットの RadioSetCoexEnabled)

otError otPlatRadioSetCoexEnabled(
  otInstance *aInstance,
  bool aEnabled
)

無線 coex を有効にします。

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

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

otPlatRadioSetRegion

otError otPlatRadioSetRegion(
  otInstance *aInstance,
  uint16_t aRegionCode
)

地域コードを設定します。

無線領域の形式は、ISO 3166 alpha-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
)

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

呼び出し元は、送信をリクエストする前に、otPlatRadioGetTransmitBuffer() が提供するバッファで IEEE 802.15.4 フレームを形成する必要があります。チャンネルと送信電力は otRadioFrame 構造にも含まれます。

送信シーケンスの構成内容は次のとおりです。

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

詳細
パラメータ
[in] aInstance
OpenThread インスタンス構造。
[in] aFrame
送信するフレームへのポインタ。
戻り値
OT_ERROR_NONE
Transmit に移行しました。
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
最新のサンプル時刻。

リソース

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