其他

這個單元包含適用於其他行為的平台抽象化機制。

摘要

列舉

otPlatMcuPowerState{
  OT_PLAT_MCU_POWER_STATE_ON = 0,
  OT_PLAT_MCU_POWER_STATE_LOW_POWER = 1,
  OT_PLAT_MCU_POWER_STATE_OFF = 2
}
列舉
微控制器的電源狀態列舉。
otPlatResetReason 列舉
可能的重設原因代碼列舉。

函式

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) 通訊。「抽菸」機制是由平台程式碼決定 (根據主機的 NCP 介面)。

當電源狀態設為 LOW_POWER 時,NCP 仍可 (任何時間) 傳送訊息到主機。請注意,收到來自 NCP 的訊息並不表示 NCP 的電源狀態已變更,也就是說,當 NCP 想與 NCP 進行通訊時,應會繼續「關閉」,直到明確變更電源狀態為止 (成功呼叫 otPlatSetMcuPowerState() 將狀態變更為 ON)。

OT_PLAT_MCU_POWER_STATE_OFF

NCP 完全關閉。

必須重設 NCP 硬體 (透過 RESET PIN 碼),才能將 NCP 復原至 SPINEL_MCU_POWER_STATE_ON。重設後,RAM 不會保留。

OT_PLAT_MCU_POWER_STATE_ON

NCP 的 MCU 會持續運作並保持運作。

當 NCP 的所需電源狀態設為 ON 時,主機無需任何「叫用」或外部觸發條件,即可傳送訊息至 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 取得。如要瞭解詳情或對說明文件做出貢獻,請參閱資源