[DESCRIPTION]
设置菜单里进行陀螺仪和重力传感器的校准原理及写入的数据格式
[SOLUTION]
重力传感器:
平放取20次平均,({0,0,9.8}-平均值)=校准值 (float型)
–写入Driver:校准值×1000 //JNI再IOCTL Driver中的Gsensor_IOCTL_SET_CALI,只写nvram而不写入
driver的话需要重启后才能生效。开机过程中的nvram_daemon会去读取nvram中的值
写入driver,从而生效
–写入Nvram:校准值×65536/9.80665 ( 有做round处理,所以可能写进去的和读出来的稍微不一样,小数点被舍掉
了)
–所以上层APK读取和写入Nvram的值时都需要处理
陀螺仪
平放取20次平均,({0,0,0}-平均值)=校准值 (float型)
–写入Driver:校准值 //JNI再IOCTL Driver中的GYROSCOPE_IOCTL_SET_CALI,只写nvram而不写入
driver的话需要重启后才能生效。开机过程中的nvram_daemon会去读取nvram中的值
写入driver,从而生效
–写入Nvram:校准值×1000
–所以上层APK读取和写入Nvram的值时都需要处理
来源:一牛网论坛
网友评论