【已解决】TuyaOS开发低功耗mesh设备,软件定时器不准

蓝牙 BLE设备、蓝牙 MESH设备、蓝牙 Beacon设备、Sub-G设备等


Post Reply
Jaoki
Posts: 71

现在使用的是TuyaOS开发的一款mesh低功耗设备(TLSR825X芯片平台),发现设备从睡眠状态唤醒的时候,启动的软件定时器不准确,在设备发送重置mesh网络的指令后, 设备定时器时间恢复正常。使用的软件定时器接口为:tal_sw_timer_start。TuyaOS 版本为3.5.0 。

Attachments
TuyaOS 定时器不准确问题.png
Last edited by Jaoki on 2023年 Mar 3日 10:53, edited 1 time in total.

Tags:
User avatar
joey_nobug
Posts: 144

Re: 【求助】TuyaOS开发低功耗mesh设备,软件定时器不准

如果需要精确的定时器,建议使用硬件定时器,参考 tkl_timer 中的接口。 软定时由于是在 main loop 中循环执行的任务,如果此时有较多的蓝牙终端以及其他业务阻塞运行,则会导致当前周期的定时并不准确

Talk is cheap, show me the code.
Jaoki
Posts: 71

Re: 【求助】TuyaOS开发低功耗mesh设备,软件定时器不准

发现设备收到的网络状态为:[0000000000 TUYA D][app_common.c:376] mesh_state:0 时,这时候从睡眠状态唤醒也是正常的

User avatar
joey_nobug
Posts: 144

Re: 【求助】TuyaOS开发低功耗mesh设备,软件定时器不准

这个状态是未配网状态,设备处于未配网状态相对于已配网状态 mesh 协议栈中相对处理的数据都会少很多。中断较少,以及处理的事件也都会少,此时 main loop 的一个周期是比较短的,所以整体软定时是比较准的。

Talk is cheap, show me the code.
Post Reply