【发布时间】:2016-06-13 02:25:19
【问题描述】:
我写了一个非常基本的应用程序“Nag for Pebble”——它所做的只是在给定的时间间隔唤醒,然后重新安排下一次唤醒并立即退出应用程序。所以效果是 - 以给定的间隔“背景”嗡嗡声。
问题是 - 即使实际时间是一致的,两次唤醒之间的时间也会不断增加。我正在做这样的事情:
time_t next= time(NULL);
next += buzz_interval*60;
wakeup_schedule(next, 0, false);
所以如果 buzz_interval 是 5 分钟,它将每 5 分钟唤醒一次。问题是在唤醒之间的一段时间后不断增加,首先难以察觉,但随后错误累积。不知道是什么原因造成的,以及如何弥补。
如果需要,这里是complete source。
更新:这是一个日志,显示下一次唤醒的预定时间(下一次)以及实际唤醒时间(当前时间)。正如您在几次唤醒后看到的那样,它获得一秒钟,然后是两秒钟。哎呀,
[DEBUG] main.c:24: Current time = 20:49:59
[DEBUG] main.c:25: Buzz Interval = 1, buzz_start = 0
[DEBUG] main.c:66: Next time = 20:50:59
[DEBUG] main.c:24: Current time = 20:50:59
[DEBUG] main.c:25: Buzz Interval = 1, buzz_start = 0
[DEBUG] main.c:66: Next time = 20:51:59
[DEBUG] main.c:24: Current time = 20:52:00
[DEBUG] main.c:25: Buzz Interval = 1, buzz_start = 0
[DEBUG] main.c:66: Next time = 20:53:00
[DEBUG] main.c:24: Current time = 20:53:00
[DEBUG] main.c:25: Buzz Interval = 1, buzz_start = 0
[DEBUG] main.c:66: Next time = 20:54:00
[DEBUG] main.c:24: Current time = 20:54:00
[DEBUG] main.c:25: Buzz Interval = 1, buzz_start = 0
[DEBUG] main.c:66: Next time = 20:55:00
[DEBUG] main.c:24: Current time = 20:55:01
[DEBUG] main.c:25: Buzz Interval = 1, buzz_start = 0
[DEBUG] main.c:66: Next time = 20:56:01
[DEBUG] main.c:24: Current time = 20:56:01
[DEBUG] main.c:25: Buzz Interval = 1, buzz_start = 0
[DEBUG] main.c:66: Next time = 20:57:01
[DEBUG] main.c:24: Current time = 20:57:03
【问题讨论】:
标签: pebble-watch pebble-sdk wakeup