版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、/*Gsensor调试方法-Version0.1*Allwinner Platform*2013-09-20*Author:tzx-leis tzx-hkz*/-gsensor原理:gsensor的作用是测量重力在x,y,z3个方向的分量。重力是1G=9.8。在gsensor driver打印出的x,y,z 值就是gsensor对3个分量经ADC转换后的原始值。-本文主要从gsensor的驱动层、HAL层、上层校准APK的添加三方面来阐述gsensor调试的简单方法。-1,驱动层:文件路径:licheelinux-3.4driversgsensor驱动层是关键,有没有数据上报,是着整个gsen
2、sor是否能正常工作的基础。a,确保驱动模块已经加载(默认编译为模块方式$adb shell进入小机$lsmod查看是否gsensor对应的模块。若没有加载,则通过cat/proc/kmsggsensor.log查看开机log中加载失败原因进行分析。b,利用getevent查看驱动是否有数据上报。$adb shell进入小机$getevent-p列出所有的input设备,查看对应的event0还是event1$getevent/dev/input/event1查看数据是否连续不断上报?若没有数据上报,则分析驱动,打印report处上报的值。通常出现以上问题,常为I2C通信失败,在软件端可以通过
3、驱动log看出。此时先检查I2C地址是否正确,然后重点检查硬件I2C是否连好,可能是由于虚焊或者芯片损坏导致。c,辅助查看gsensor属性,获取gsensor设备名$adb shell进入小机$cd/sys/devices/sw_device/gsensor(文件目录不尽相同,可从驱动文件中获知实际路径$cat即可获取gsensor name通常还有其他的属性可以辅助查看,以详细了解gsensor的状态,如enable、delay等属性。-2,HAL层文件路径:androiddevicesoftwinnercommonhardwarelibsensorsHAL主要是处理驱动层上报的数据,并对
4、数据进行转换,由1024的DA值转换为1g。此部分需要修改较少,仅注意在兼容时,加入对新增gsensor的支持即可。HAL层与驱动层的结口为delay和enable。gsensor.cfg存放在小机的system/usr/gsensor.cfg,用于记录各gsensor的x,y,z轴的方向。调试时,直接adb pull出来之后修改对应的gsensor方向,再adb push进去,重启即可生效。-3,上层添加校准APK文件路径:/system/app/system/lib上层添加校准的APK具体实现方法可参考原厂提供的文件。一般包括APK以及对应的库文件。设置选项中添加校准APK后,最重要的一点
5、是如何通过APK判断gsensor的报点是否准确,以及gsensor的x、y、z轴判定。a,报点是否准确通常不经过校准的gsensor都不是非常准的,即使在小机界面能左右旋转画面,一定需要通过报点数值进行判定。一般通过APK查看的默认的x、y、z值分别在自己的方向上为9.8附近的值即可满足校准的需求。若值为9.8的4倍或者1/2倍或者N倍,均可相应的通过驱动或者HAL进行一个修改及补偿。b,gsensor的x、y、z轴判定当数值准确时,此时应该判断以及修改gsensor的方向,此点非常重要,一旦没有调好会导致整个gsensor的功能失效,前面所有的工作也将失去意义。评判gsensor的方向一定
6、不能从界面旋转正确来作为标准,需要参考标准坐标系(符合右手定则。何为标准坐标系:平板水平放置在桌面上,正面面对自己。此时Z轴应该为+值,且值为9.8左右,x、y轴应该为0值左右。平行于身体的为x轴,左边不动,右边抬起时,x轴的数值应该由0开始增大,直到垂直时为+9.8左右。垂直于身体的为y轴,下边不动,上边抬起时,y中的数值应该由0开始增大,直到垂直时为+9.8左右。在辅助功能,先关闭“自动旋转屏幕”功能,安装SensorMoniter.apk,通过以上动作进行操作。若有不符合以上情况的,则相应的修改gsensor.cfg调整x、y轴的位置以及正负值,直到满足为止。然后水平放置,点击校准,此时
7、gsensor可以正常工作。-4,移植gsensor涉及的几部分a,驱动,兼容列表b,HAL层对gsensor的支持c,上层添加校准APKd,配置sys_config.fex文件e,增加recovery功能,即恢复出厂设置后也能保存校准文件f,gsensor.cfg文件-NOTE:各种小问题集锦1,gsensor没有校准,导致旋转缓慢。2,gsensor水平放置的时候z轴为-9.8附近的值,导致需要垂直操作才能旋转(正常情况下45即可旋转。3,没有参考标准坐标系,只通过小机界面的方向来判断x、y轴的值。导致玩神庙逃亡的时候,前后摇摆对应左右摇摆,此需要修改framework层,设置ro.sw.
8、hwrotation。-|device目录下的wing_k70.mk文件添加:ro.sf.rotation=180-|frameworks/base/core/java/android/hardware/SystemSensorManager.java修改如下:-|if(SystemProperties.getInt(ro.sf.hwrotation,0=180/default value is270;for adapt gsensor rotation set as180for720D4,搞不清x、y轴如何判定,以及是否需要对调。5,没有生成校准文件。可能是由于没有权限或者是丢失了APK对应
9、的库文件。6,da311待机唤醒时概率性不报点,由于待机后,gsensor模块断电,唤醒后寄存器会重新初始化,但是时序受到干扰,导致有些寄存器的值发生变化,导致不报点。修改对应的驱动文件中的变化的寄存器即可。7,dmard10、dmard06不管校准不校准都会出现一个现象,即x/y轴的数值上报抖动,导致玩一些游戏(竞技摩托时候会左右偏,不稳定。原因是报点不稳,在驱动read_xyz函数中加入滤波功能。效果好很多。d10的抖动受到喇叭声音的影响很大,是由于IC内部对声音噪点的抗干扰的能力很弱,暂时不能解决。8,da311系统重启时,概率性出现detect函数失败,导致检测不到da311gsensor。由于寄存器中分两页,在切页过程中出现问题,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 河北沧州市运东七县2025-2026学年高一上学期2月期末语文试题(含答案)(含解析)
- 2026年南开大学滨海学院单招职业技能测试题库附答案详解(综合题)
- 2026年厦门华厦学院单招职业倾向性测试题库及1套完整答案详解
- 2026年内江卫生与健康职业学院单招职业适应性考试题库及答案详解(基础+提升)
- 2026年南宁职业技术学院单招职业适应性测试题库含答案详解(模拟题)
- 2026年内蒙古建筑职业技术学院单招职业倾向性考试题库带答案详解(完整版)
- 2026年六盘水职业技术学院单招职业技能考试题库及答案详解一套
- 2026年兰州职业技术学院单招职业倾向性测试题库带答案详解(a卷)
- 2026年内蒙古赤峰市单招职业倾向性考试题库附答案详解(黄金题型)
- 2026年南昌影视传播职业学院单招职业倾向性测试题库及答案详解(有一套)
- 泳池突发安全事故应急预案
- 03K501-1 燃气红外线辐射供暖系统设计选用及施工安装
- 2026年甘肃省公信科技有限公司面向社会招聘80人(第一批)考试重点题库及答案解析
- 2026年上海市虹口区初三上学期一模化学试卷和参考答案
- 涉密文件销毁设备选型与管理
- 高考英语同义词近义词(共1142组)
- 2024年上海市专科层次自主招生考试职业适应性测试真题
- 2026年东营科技职业学院单招综合素质考试必刷测试卷附答案
- 《立体裁剪》课件-3.原型立体裁剪
- 2025年安徽省选调生考试笔试试卷【附答案】
- (零模)苏州市2026届高三年级期初阳光调研试卷 生物试卷(含答案)
评论
0/150
提交评论