Android - motodroid 1上的加速度计首先报告错误值?
所以我正在编写一个可以检测运动的应用程序,需要根据各种动作进行校准。在过去的几天里,我注意到在注册
SensorEventListener
之后,onSensorChanged(SensorEvent)
抛出不完整(因此错误).values[]
。这种行为搞砸了我的校准过程,表示移动的力量太大了。我已经验证了我已下载并测试的每个加速度计日志记录应用程序的情况,因此它不是特定于我的代码的错误。我认为这可能是由于硬件坏(可能是我的moto droid 1特有的),或者我正在使用的自定义ROM的软件错误(Simply Stunning 4.9,来自Froyo 2.2.1源码。)
例:
sensorManager.registerListener(this, sensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER),
SENSOR_DELAY);
....
onSensorChanged(SensorEvent event){
// event.values[0] = 0.0
// event.values[1] = -0.47
// event.values[2] = 0.0
}
....
onSensorChanged(SensorEvent event){
// event.values[0] = 0.08
// event.values[1] = -0.47
// event.values[2] = 0.0
}
....
onSensorChanged(SensorEvent event){
// event.values[0] = 0.08
// event.values[1] = -0.47
// event.values[2] = 10.1
}
如您所见,在所有正确的值都可访问之前,通常需要2个读数。
任何人都可以在moto机器人1或其他手机上确认或否认这种行为吗?你认为一个好的解决方案就是放弃前2或3个读数,这样它们就不会扭曲我的校准吗?
没有找到相关结果
已邀请:
1 个回复
丧泉缝锋