其他

此模块包含其他行为的平台抽象。

摘要

枚举

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 配置。

电源状态指定了当底层平台的操作系统进入空闲模式(即所有活动任务/事件均已处理,且 MCU 可能会进入节能电源状态)时 NCP 微控制器 (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 的电源状态已更改,也就是说,主机在想与 NCP 通信时应继续“发出”,直到电源状态明确更改(通过成功调用 otPlatSetMcuPowerState() 将状态更改为 ON)。

OT_PLAT_MCU_POWER_STATE_OFF

NCP 已完全关闭。

需要进行 NCP 硬件重置(通过重置引脚)才能使 NCP 恢复到 SPINEL_MCU_POWER_STATE_ON 状态。重置后不保留 RAM。

OT_PLAT_MCU_POWER_STATE_ON

NCP 的 MCU 始终保持开启和活跃状态。

当 NCP 的所需电源状态设为 ON 时,主机可以将消息发送至 NCP,而不需要任何“poke”或外部触发器。

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 上提供的源代码。如需了解详情,或者为我们的文档做贡献,请参阅资源