マルチパン

このモジュールには、マルチパン サポートのためのプラットフォーム抽象化が含まれています。

概要

関数

otPlatMultipanGetActiveInstance(otInstance **aInstance)
無線通信を現在制御しているインスタンスを取得します。
otPlatMultipanIidToInstance(uint8_t aIid)
指定された IID に対応するインスタンス ポインタを取得します。
otPlatMultipanInstanceToIid(otInstance *aInstance)
uint8_t
指定された OpenThread インスタンス ポインタに対応する IID を取得します。
otPlatMultipanSetActiveInstance(otInstance *aInstance, bool aCompletePending)
aInstance を、無線を制御する現在アクティブなインスタンスとして設定します。
otPlatMultipanSwitchoverDone(otInstance *aInstance, bool aSuccess)
void
プラットフォームでインターフェースの切り替え手順を完了した。

関数

otPlatMultipanGetActiveInstance

otError otPlatMultipanGetActiveInstance(
  otInstance **aInstance
)

無線通信を現在制御しているインスタンスを取得します。

すべてのインターフェースで無線通信が並列に動作しない場合、この関数は、許可された無線通信権限を持つインスタンス オブジェクトを返します。

詳細
パラメータ
[out] aInstance
アクティブなインスタンス ポインタを格納する変数へのポインタ。
戻り値
OT_ERROR_NONE
プロパティを取得しました。
OT_ERROR_NOT_IMPLEMENTED
ラジオでサポートされていないため、失敗しました。
OT_ERROR_INVALID_COMMAND
プラットフォームはすべてのインターフェースを同時にサポートします。

otPlatMultipanIidToInstance

otInstance * otPlatMultipanIidToInstance(
  uint8_t aIid
)

指定された IID に対応するインスタンス ポインタを取得します。

詳細
パラメータ
[in] aIid
インターフェースの IID。
戻り値
Instance
aIid にインスタンスが割り当てられている場合はポインタ、そうでない場合は nullptr が使用されます。

otPlatMultipanInstanceToIid

uint8_t otPlatMultipanInstanceToIid(
  otInstance *aInstance
)

指定された OpenThread インスタンス ポインタに対応する IID を取得します。

詳細
パラメータ
[in] aInstance
OpenThread インスタンスの構造。
戻り値
IID
そうでない場合は IID をブロードキャストします。

otPlatMultipanSetActiveInstance

otError otPlatMultipanSetActiveInstance(
  otInstance *aInstance,
  bool aCompletePending
)

aInstance を、無線を制御する現在アクティブなインスタンスとして設定します。

この関数を使用すると、複数のインターフェースでの並列通信をサポートしていないプラットフォーム上で、現在アクティブなインスタンスを選択できます。つまり、複数のインスタンスが受信状態にある場合、otPlatMultipanSetActiveInstance を呼び出すと、指定されたインスタンスが受信状態であることが保証されます。リクエストが正しく受信されると、この関数は返されます。インターフェースの切り替えが完了すると、プラットフォームは otPlatMultipanSwitchoverDone を呼び出す必要があります。aCompletePending が true に設定されている場合、インターフェースの切り替えに時間がかかることがあります。

詳細
パラメータ
[in] aInstance
OpenThread インスタンスの構造。
[in] aCompletePending
進行中の無線操作がインターフェースの切り替え(ソフトスイッチ)の前に完了する場合は true、強制切り替えの場合は false です。
戻り値
OT_ERROR_NONE
プロパティを設定しました。
OT_ERROR_BUSY
別のオペレーションが進行中のため、失敗しました。
OT_ERROR_NOT_IMPLEMENTED
不明なインスタンスか、使用可能なインターフェースを超えるインスタンス数を超えたため、失敗しました。
OT_ERROR_INVALID_COMMAND
プラットフォームはすべてのインターフェースを同時にサポートします。
OT_ERROR_ALREADY
指定したインターフェースはすでに有効です。

otPlatMultipanSwitchoverDone

void otPlatMultipanSwitchoverDone(
  otInstance *aInstance,
  bool aSuccess
)

プラットフォームでインターフェースの切り替え手順を完了した。

遅延が不要な場合、またはインターフェースの切り替えが完了した後で、無線オペレーションを先に完了する必要がある場合は、otPlatMultipanSetActiveInstance の処理の直後に呼び出す必要があります。

詳細
パラメータ
[in] aInstance
OpenThread インスタンスの構造。
[in] aSuccess
インターフェースの切り替えに成功した場合は true、切り替えが失敗した場合は false。

関連情報

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