その他

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

概要

列挙型

otPlatMcuPowerState{
  OT_PLAT_MCU_POWER_STATE_ON = 0,
  OT_PLAT_MCU_POWER_STATE_LOW_POWER = 1,
  OT_PLAT_MCU_POWER_STATE_OFF = 2
}
enum
マイクロコントローラの電源状態の列挙です。
otPlatResetReason enum
可能なリセット理由コードを列挙します。

関数

otPlatAssertFail(const char *aFilename, int aLineNumber)
void
アサート用のプラットフォーム固有の実装を提供します。
otPlatGetMcuPowerState(otInstance *aInstance)
現在の目的の MCU の電源状態を取得します。
otPlatGetResetReason(otInstance *aInstance)
最後にプラットフォームがリセットされた理由を返します。
otPlatReset(otInstance *aInstance)
void
サポートされている場合は、プラットフォームでソフトウェア リセットを実行します。
otPlatResetToBootloader(otInstance *aInstance)
プラットフォームでハードウェア リセットを実行して、ブートローダー モードを起動します(サポートされている場合)。
otPlatSetMcuPowerState(otInstance *aInstance, otPlatMcuPowerState aState)
望ましい MCU 電源状態を設定します。
otPlatWakeHost(void)
void
プラットフォーム固有の操作を実行して、ホスト MCU を復帰させます。

列挙型

otPlatMcuPowerState

 otPlatMcuPowerState

マイクロコントローラの電源状態の列挙です。

OPENTHREAD_CONFIG_NCP_ENABLE_MCU_POWER_STATE_CONTROL が有効になっている場合、これらの値は NCP 構成に使用されます。

電力状態は、基盤となるプラットフォームのオペレーティング システムがアイドル状態になったときの NCP のマイクロコントローラ(MCU)の望ましい電力状態を示します。つまり、すべてのアクティブなタスク/イベントが処理され、MCU が省エネ電力状態に入る可能性があります。

電源状態は主に、ホストが NCP とやり取りする方法と、NCP と通信する前にホストが NCP への外部トリガー(「ポーク」)を必要とするかどうかを判断します。

リセット後、MCU の電源状態は OT_PLAT_POWER_STATE_ON でなければなりません。

プロパティ
OT_PLAT_MCU_POWER_STATE_LOW_POWER

NCP の MCU は省電力(省エネ)状態に入ることができます。

NCP の望ましい電源状態が LOW_POWER に設定されている場合、ホストは NCP と通信する(NCP にメッセージを送信する)前に NCP を「ポーク」させること(割り込みなどの外部トリガーなど)が想定されます。「poke」メカニズムはプラットフォーム コードによって決まります(ホストへの NCP のインターフェースに基づきます)。

電源状態が LOW_POWER に設定されている間も、NCP は(いつでも)ホストにメッセージを送信できます。なお、NCP からメッセージを受信しても、NCP の電源状態が変更されたわけではありません。つまり、ホストは電源状態が明示的に変更されるまで(otPlatSetMcuPowerState() の呼び出しが成功して ON に変更されるまで)NCP と通信したいときは「ポケ」を続けることが想定されます。

OT_PLAT_MCU_POWER_STATE_OFF

NCP は完全にオフになっています。

NCP を SPINEL_MCU_POWER_STATE_ON に戻すには、(RESET ピンによる)NCP ハードウェア リセットが必要です。リセット後に RAM が保持されない。

OT_PLAT_MCU_POWER_STATE_ON

NCP の MCU は常にオンでアクティブです。

NCP の望ましい電源状態が ON に設定されている場合、ホストは「poke」や外部トリガーなしで NCP にメッセージを送信できます。

otPlatResetReason

 otPlatResetReason

可能なリセット理由コードを列挙します。

Spinel のリセット理由コードと同じ順番です。

関数

otPlatAssertFail

void otPlatAssertFail(
  const char *aFilename,
  int aLineNumber
)

アサート用のプラットフォーム固有の実装を提供します。

詳細
パラメータ
[in] aFilename
アサートが発生したファイルの名前。
[in] aLineNumber
ファイル内でアサートが発生した行番号。

otPlatGetMcuPowerState

otPlatMcuPowerState otPlatGetMcuPowerState(
  otInstance *aInstance
)

現在の目的の MCU の電源状態を取得します。

これは、OPENTHREAD_CONFIG_NCP_ENABLE_MCU_POWER_STATE_CONTROL が有効になっている場合にのみ NCP 構成に適用され、使用されます。

リセット後、電源状態は OT_PLAT_POWER_STATE_ON を返さなければなりません。動作中、otPlatSetMcuPowerState() の呼び出しが明示的に成功した場合にのみ、電源状態が変わるべきです。

詳細
パラメータ
[in] aInstance
OpenThread インスタンスへのポインタ。
戻り値
現在の電源状態。

otPlatGetResetReason

otPlatResetReason otPlatGetResetReason(
  otInstance *aInstance
)

最後にプラットフォームがリセットされた理由を返します。

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

otPlatReset

void otPlatReset(
  otInstance *aInstance
)

サポートされている場合は、プラットフォームでソフトウェア リセットを実行します。

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

otPlatResetToBootloader

otError otPlatResetToBootloader(
  otInstance *aInstance
)

プラットフォームでハードウェア リセットを実行して、ブートローダー モードを起動します(サポートされている場合)。

OPENTHREAD_CONFIG_PLATFORM_BOOTLOADER_MODE_ENABLE が有効な場合に使用されます。

詳細
パラメータ
[in] aInstance
OpenThread インスタンスの構造。
戻り値
OT_ERROR_NONE
ブートローダーにリセットしました。
OT_ERROR_BUSY
別のオペレーションが進行中のため、失敗しました。
OT_ERROR_NOT_CAPABLE
ブートローダーにリセットできません。

otPlatSetMcuPowerState

otError otPlatSetMcuPowerState(
  otInstance *aInstance,
  otPlatMcuPowerState aState
)

望ましい MCU 電源状態を設定します。

これは、OPENTHREAD_CONFIG_NCP_ENABLE_MCU_POWER_STATE_CONTROL が有効になっている場合にのみ NCP 構成に適用され、使用されます。

詳細
パラメータ
[in] aInstance
OpenThread インスタンスへのポインタ。
[in] aState
新しい MCU の電源状態。
戻り値
OT_ERROR_NONE
電源状態を更新しました。
OT_ERROR_FAILED
指定された MCU の電源状態がプラットフォームでサポートされていません。

otPlatWakeHost

void otPlatWakeHost(
  void
)

プラットフォーム固有の操作を実行して、ホスト MCU を復帰させます。

これは NCP 構成にのみ使用されます。

関連情報

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