以下说明主要是针对gsensor方向XY反向的问题。
gsensor方向的调试,涉及到两个方面,一个是通道的改变,一个是数据的改变。下面以mma7660为例,简单介绍下在调试过程中遇到的一些问题,便于以后学习查询。
在版及配置文件中,mma7660注册信息如下:
static struct sensor_platform_data mma7660_info = {
.type = SENSOR_TYPE_ACCEL,
.irq_enable = 1,
.poll_delay_ms = 30,
.init_platform_hw = mma7660_init_platform_hw,
.orientation = {-1, 0, 0, 0, 1, 0, 0, 0, -1},
};
其中orientation 是控制方向使用的,当然也可以直接在驱动代码里面更改XY的值。
判断到底是gsensor的数据改变,还是通道数改变,可以借助第三方apk或者打印前后串口信息。或者两种方法分别尝试也都可以,反正不是很麻烦。
1.通道更改:
.orientation = {0, 1, 0,-1, 0, 0, 0, 0, -1},
此种情况交换驱动中的XY也可以;
2.数据改变:
.orientation = {1, 0, 0, 0, -1, 0, 0, 0, -1},
此种情况更改驱动中的XY值是无效的。