电子产品世界 » 论坛首页 » 综合技术 » 通讯及无线技术 » 有陀螺仪的情况下指南针不准问题


共3条 1/1 1 跳转至

有陀螺仪的情况下指南针不准问题

菜鸟
2017-10-12 19:03:11    评分


有陀螺仪的情况下指南针不准,而没有陀螺仪的情况下却是准确的。 这个问题的原因一般是由于android的sensor manager那边在有陀螺仪的情况下虚拟出了一个orientation sensor,同时去掉mag sensor提供的orientation sensor,但android提供的这个sensor可能并不一定准确,所以出现了上述的情况。


解决方法是可以尝试去掉android虚拟出来的orientation sensor,用mag sensor自带的orientation sensor。


参考修改代码:
SensorService.cpp:
void SensorService:nFirstRef()

{
if (hasGyro) {
```````
// these are optional
// registerVirtualSensor( new OrientationSensor() ); //去掉这里
registerVirtualSensor( new CorrectedGyroSensor(list, count) );
}
········
if (hasGyro &&
(virtualSensorsNeeds & (1<<SENSOR_TYPE_ROTATION_VECTOR))) {
// if we have the fancy sensor fusion, and it's not provided by the
// HAL, use our own (fused) orientation sensor by removing the
// HAL supplied one form the user list.
if (orientationIndex >= 0) {
// mUserSensorList.removeItemsAt(orientationIndex); //去掉这里
}
}
}




关键词: 陀螺仪     指南针    

管理员
2017-10-13 09:14:09    评分
2楼

 


专家
2017-10-13 11:56:53    评分
3楼

这也是一种解决方法。


共3条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]