|
发表于 2020-9-10 16:20:12
6439 浏览 0 回复
Android [sensor]陀螺仪,重力传感器校准原理及数据格式
[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的值时都需要处理
注:写入Nvram的校准值都是3个INT型的,重力传感器和陀螺仪都是
|
|
手机微信同号:13682654092
|
|
|
|
|
登录或注册
|