磁力计导致滞后?

时间:2010-11-10 10:42:49

标签: android compass-geolocation sensor magnetometer

我正在开发一种应用程序,它将使用磁力计数据进行交互,方法是将磁铁朝向和远离手机移动。这样工作正常(足够),但似乎当我将磁铁移近电话时,会出现明显的延迟,并且这些消息正在向日志吐出:

标记消息 AK8973 HRET = AKSC_HOF_DSS_START AK8973 HRET = AKSC_HOF_DSS_REQUEST AK8973 HRET = AKSC_HOF_DSS_REQUEST AK8973 HRET = AKSC_HOF_DSS_REQUEST AK8973 HRET = AKSC_HOF_DSS_REQUEST AK8973 HRET = AKSC_HOF_DSS_REQUEST AK8973 HRET = AKSC_HOF_DSS_REQUEST AK8973 HRET = AKSC_HOF_DSS_REQUEST AK8973 HRET = AKSC_HOF_DSS_COMPLETE

这也可以在例如市场上可获得的应用程序“Compass 3D”中得到证明。移动耳机与手机直接接触就足够了,它会产生至少4-500毫秒的延迟,并且上面的信息会打印到Logcat。这是我的HTC Hero。

关于造成这种滞后的原因,或者如何解决这个问题的想法?这也会出现在其他手机型号上吗?

所有想法和/或理论都会有所帮助!

1 个答案:

答案 0 :(得分:0)

嗯,AK8973是磁力计:

AK8973 - 3-axis Electronic Compass - Asahi Kasei Microsystems

看起来它正在抱怨强大的领域,可能会开始校准程序?

我在代码中注意到这个定义:

#define AK8973B_PERIOD 500000000 / 0.5秒