T3编译低功耗例程链接错误

Wi-Fi 设备、蜂窝设备、WuKongAI、开发板、TuyaOS 移植等


Post Reply
hzb
Posts: 45

现有一个低功耗产品需要开发, 使用T3模组二次开发:
SDK版本:T3_TUYAOS-3.12.0

在编译tuyaos_demo_deep_sleep例程时编译显示链接错误:tkl_set_ll_wakeup_source未定义

另外请问下:

  1. deep_sleep是深度睡眠模式吗?
  2. 睡眠时软件定时器和任务是否正常执行的
  3. 通过外部中断唤醒(如按键触发唤醒)时,模组是否会重启
Attachments
编译链接错误.png
chaser
Posts: 99

Re: T3编译低功耗例程链接错误

  1. 最新sdk, 这个接口tkl_set_ll_wakeup_source已经使用static,供内部使用。应用直接调用tkl_wakeup_source_set接口设置就行了。
  2. deep sleep 就是深度睡眠模式
  3. deep sleep 模式软定时等任务调度已经停止,该模式近乎类似断电情况,只有唤醒源部分在运行
  4. 通过外部中断唤醒(如按键触发唤醒)时,模组会重启
hzb
Posts: 45

Re: T3编译低功耗例程链接错误

好的,谢谢。
另外再请教下:
tal_wifi_set_lps_dtim(10);
tuya_wifi_ulp_init();

这2个函数是进入 保活低功耗模式, 即软件定时器和 任务是正常运行的嘛?该模式是通过dtim定时唤醒嘛

chaser
Posts: 99

Re: T3编译低功耗例程链接错误

是的, 如果要进入保活低功耗模式, 先调用 tal_wifi_set_lps_dtim(10); 设置为 dtim10, 再调用 tuya_wifi_ulp_init() 使能保活低功耗。这个模式依赖于wifi中断(dtim10 是 1s 一次)唤醒设备, 软件定时和调度正常运行。
注意:

  1. 进入应用尽快调用 tal_wifi_set_lps_dtim(10); tuya_wifi_ulp_init() 接口需要在连上路由器前调用。
  2. 进入保活低功耗,由于1s 设备唤醒一次,所以软件定时器周期不能小于1s
hzb
Posts: 45

Re: T3编译低功耗例程链接错误

好的, 再请教下:

  1. 唤醒后维持的时间是多久呢? 需要自己手动(如:tkl_cpu_sleep_mode_set)再次进入睡眠嘛
  2. 任务在运行过程中,进入睡眠任务是不是被挂起了,等唤醒后再继续运行,即任务某个周期会超过1秒,这样理解正确嘛
  3. 由于1s 设备唤醒一次, 那么像按键检测功能用什么机制去实现呢
chaser
Posts: 99

Re: T3编译低功耗例程链接错误

保活低功耗模式:

  1. 唤醒后一般维持10ms左右,具体维持多久取决于你唤醒后多久进入idle 模式。
  2. 保活低功耗模式下,正常情况下你不需要控制唤醒进入低功耗逻辑,底层已经完成闭环控制。 应用层要控制的是使能功耗模式和挂起退出功耗模式。
  3. 正常情况下唤醒后是把任务执行完成进入idle线程才会睡下去的
  4. 按键检测逻辑, 推荐长按识别按键可以轮询方式, 短按触发可以把按键对应的io设置为唤醒源,这样可以立即响应
hzb
Posts: 45

Re: T3编译低功耗例程链接错误

好的,非常感谢~

Post Reply