Tange Cloud for Device
 Rev.333
载入中...
搜索中...
未找到
手动控制电源模式

简介

默认情况下,能力 BatteryCam 值为 "Dormant" 的设备在sdk内部空闲时会在 TciCB::on_status() 收到 STATUS_IDLE 状态通知,为其它值则永远不会。

应用程序可以手动控制这一行为以适应特殊场景,例如:

  • 非电池设备也可以进入休眠状态从而实现节能
  • 让网络模块进入休眠状态以降低功耗但仅能够远程唤醒
  • 临时禁止电池设备休眠

固件实现

  • 可以将 BatteryCam 能力设为 Solar . 该值会影响一点APP的UI
  • 调用 TciSetPowerMode(mode) 来切换电源(管理)状态

电源状态

SDK支持以下几种电源状态:

  • PM_ALLON
    主控正常工作,网络在线,p2p工作
  • PM_NETDOWN
    网络模块休眠,主控正常工作执行其它事务。进入此状态后sdk会停止p2p, 忽略网络错误, 不会发送 STATUS_IDLE 通知。
    网络模块可远程或由设备本地唤醒。唤醒后应用要手动切换到 PM_ALLON 状态。
  • PM_SLEEPABLE
    sdk空闲时,应用会收到 STATUS_IDLE 通知。然后系统可以进入休眠状态(网络模块休眠,主控下电)。本地或远程唤醒网络和主控后进入默认状态

安全进入PM_NETDOWN模式

固件在关闭或休眠网络前要确认sdk内部的网络操作已经完成。需要按以下步骤:

  1. 设置 PM_SLEEPABLE 模式.
  2. 等待 STATUS_IDLE 回调,并返回 -1.
  3. 设置 PM_NETDOWN 模式.
  4. 网络模块进入休眠.