搜索

430

主题

515

帖子

2118

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2118
QQ
发表于 2020-9-10 16:20:12 4745 浏览 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
回复

使用道具 举报

返回列表
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


登录或注册
快速回复 返回顶部 返回列表