Wear OS(Android Wear)时间戳错误

时间:2018-08-10 22:12:41

标签: android timestamp wear-os android-sensors

我正在尝试在运行Wear OS的一些智能手表中使用传感器。采样几秒钟后(通常运行45秒,但也可能持续几分钟),时间戳是错误的。

时间戳会跳到未来几秒钟或几分钟,然后所有时间戳在此“中断”之前或之后几乎同时出现。因此,它最终是一个没有时间戳的中断,然后是许多时间戳,然后才恢复正常,然后通常会再次发生。

当我查看图形中的数据时,传感器(X,Y,Z)的其他值似乎是在正确的时间采样的,但前提是X轴没有时间戳。它可以在几秒钟后发生,并且可以在45秒的窗口中发生多达6至7次。

有关代码的一些信息:

  • 从加速度计,陀螺仪和磁力计(如果有)中采样。
  • 在服务(前景服务)中进行采样。
  • 在开始采样时设置了部分唤醒锁(Log.d显示唤醒锁将在整个45秒内保持)。
  • maxReportLatencyUs = 0(使用长达10秒的其他数字进行测试)
  • 传感器延迟=最快(已通过游戏测试)
  • 所有传感器使用相同的侦听器

“中断/跳跃”之间通常有200个样本,但是可以有所不同。它们通常持续2000、4000或14000 ms。

我只在3块手表上测试了该应用程序。 出现此问题的手表是:

  • 华为Watch 2 Classic(这是最糟糕的一个)
  • 豪雅(Tag Heuer)

手表不会发生:

  • Fossil Q Explorist Gen 3

这并不意味着它永远不会在Fossil手表上发生,但是我还没有看到这种情况发生。

Here,您会看到时间戳跳跃,因此数据看起来很奇怪(Y轴上的加速度计(X),X轴上的时间戳)。当显示不带时间戳的数据时,它看起来很像应该并且可以here看到。

This (timestamps on the Y axis (blue line). It was sampling for 6 min (360,000 ms))显示了时间戳如何随时间变化。它似乎结束在正确的位置(几乎..(365,153 ms)),但是在那一点上,它似乎有点慢,然后每200个样本跳14000 ms来追赶。 This is a 3 min sampling with a Fossil Q Explorist Gen 3. This is what it should look like, the blue line is straight and laying behind the orange line.

This graph shows the difference between each timestamp (a[n+1] - a[n]). You can see exactly when it happens and how far the "jump" was.

有人知道我在做什么错吗?

0 个答案:

没有答案