Wi-Fi 设备、蜂窝设备、WuKongAI、开发板、TuyaOS 移植等
-
hzb
- Posts: 45
- Joined: 2023年 Nov 14日 21:50
现有一个低功耗产品需要开发, 使用T3模组二次开发:
SDK版本:T3_TUYAOS-3.12.0
在编译tuyaos_demo_deep_sleep例程时编译显示链接错误:tkl_set_ll_wakeup_source未定义
另外请问下:
- deep_sleep是深度睡眠模式吗?
- 睡眠时软件定时器和任务是否正常执行的
- 通过外部中断唤醒(如按键触发唤醒)时,模组是否会重启
-
Attachments
-

-
chaser
- Posts: 99
- Joined: 2022年 Sep 16日 18:18
- 最新sdk, 这个接口tkl_set_ll_wakeup_source已经使用static,供内部使用。应用直接调用tkl_wakeup_source_set接口设置就行了。
- deep sleep 就是深度睡眠模式
- deep sleep 模式软定时等任务调度已经停止,该模式近乎类似断电情况,只有唤醒源部分在运行
- 通过外部中断唤醒(如按键触发唤醒)时,模组会重启
-
hzb
- Posts: 45
- Joined: 2023年 Nov 14日 21:50
好的,谢谢。
另外再请教下:
tal_wifi_set_lps_dtim(10);
tuya_wifi_ulp_init();
这2个函数是进入 保活低功耗模式, 即软件定时器和 任务是正常运行的嘛?该模式是通过dtim定时唤醒嘛
-
chaser
- Posts: 99
- Joined: 2022年 Sep 16日 18:18
是的, 如果要进入保活低功耗模式, 先调用 tal_wifi_set_lps_dtim(10); 设置为 dtim10, 再调用 tuya_wifi_ulp_init() 使能保活低功耗。这个模式依赖于wifi中断(dtim10 是 1s 一次)唤醒设备, 软件定时和调度正常运行。
注意:
- 进入应用尽快调用 tal_wifi_set_lps_dtim(10); tuya_wifi_ulp_init() 接口需要在连上路由器前调用。
- 进入保活低功耗,由于1s 设备唤醒一次,所以软件定时器周期不能小于1s
-
hzb
- Posts: 45
- Joined: 2023年 Nov 14日 21:50
好的, 再请教下:
- 唤醒后维持的时间是多久呢? 需要自己手动(如:tkl_cpu_sleep_mode_set)再次进入睡眠嘛
- 任务在运行过程中,进入睡眠任务是不是被挂起了,等唤醒后再继续运行,即任务某个周期会超过1秒,这样理解正确嘛
- 由于1s 设备唤醒一次, 那么像按键检测功能用什么机制去实现呢
-
chaser
- Posts: 99
- Joined: 2022年 Sep 16日 18:18
保活低功耗模式:
- 唤醒后一般维持10ms左右,具体维持多久取决于你唤醒后多久进入idle 模式。
- 保活低功耗模式下,正常情况下你不需要控制唤醒进入低功耗逻辑,底层已经完成闭环控制。 应用层要控制的是使能功耗模式和挂起退出功耗模式。
- 正常情况下唤醒后是把任务执行完成进入idle线程才会睡下去的
- 按键检测逻辑, 推荐长按识别按键可以轮询方式, 短按触发可以把按键对应的io设置为唤醒源,这样可以立即响应
-
hzb
- Posts: 45
- Joined: 2023年 Nov 14日 21:50