Google 致力于为黑人社区推动种族平等。查看具体行动

其他

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

摘要

枚举

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
此函数会在平台上执行软件重置(如果支持)。
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 通信时,如果它仍然发生变化(通过成功调用,那么系统预计会继续与“Pok”通信)更改为 otPlatSetMcuPowerState(),将状态更改为 ON)。

OT_PLAT_MCU_POWER_STATE_OFF

NCP 已完全关闭。

如需将 NCP 移回 SPINEL_MCU_POWER_STATE_ON,必须进行 NCP 硬件重置(通过 RESET 引脚)。重置后,系统不会保留 RAM。

OT_PLAT_MCU_POWER_STATE_ON

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

当 NCP 的所需电源状态设为 ON 时,主机可以向 NCP 发送消息,而无需任何“探测”或外部触发器。

otPlatResetReason

 otPlatResetReason

枚举可能的重置原因代码。

此代码的顺序与旋转轴原因代码的顺序相同。

函数

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 实例结构。

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