欢迎来到天天文库
浏览记录
ID:38279599
大小:160.32 KB
页数:3页
时间:2019-05-27
《Gsensor调试方法》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、Gsensor调试方法-Allwinner/*Gsensor调试方法-Version0.1*AllwinnerPlatform*2013-09-20*Author:tzx-leistzx-hkz*/----------------------------------------------------------------------------------------------------------------gsensor原理:gsensor的作用是测量重力在x,y,z3个方向的分量。重力是1G=9.8。在gsensordriver打印出的x,y,z值就是gsenso
2、r对3个分量经ADC转换后的原始值。故在HAL层中,对其会做一个转换。xx=9.8*(x/(2的n次方)),n为ADC的位数。dmard10为10bitADC,故2的n次方为4*256=1024。而d06是7bit。----------------------------------------------------------------------------------------------------------------本文主要从gsensor的驱动层、HAL层、上层校准APK的添加三方面来阐述gsensor调试的简单方法。-------------------
3、---------------------------------------------------------------------------------------------1,驱动层:文件路径:licheelinux-3.4driversgsensor驱动层是关键,有没有数据上报,是着整个gsensor是否能正常工作的基础。a),确保驱动模块已经加载(默认编译为模块方式)$adbshell进入小机$lsmod查看是否gsensor对应的模块。若没有加载,则通过cat/proc/kmsg>gsensor.log查看开机log中加载失败原因进行分析。b),利用
4、getevent查看驱动是否有数据上报。$adbshell进入小机$getevent-p列出所有的input设备,查看对应的event0还是event1$getevent/dev/input/event1查看数据是否连续不断上报?若没有数据上报,则分析驱动,打印report处上报的值。通常出现以上问题,常为I2C通信失败,在软件端可以通过驱动log看出。此时先检查I2C地址是否正确,然后重点检查硬件I2C是否连好,可能是由于虚焊或者芯片损坏导致。c),辅助查看gsensor属性,获取gsensor设备名$adbshell进入小机$cd/sys/devices/sw_device
5、/gsensor(文件目录不尽相同,可从驱动文件中获知实际路径)$cat即可获取gsensorname通常还有其他的属性可以辅助查看,以详细了解gsensor的状态,如enable、delay等属性。----------------------------------------------------------------------------------------------------------------2,HAL层文件路径:androiddevicesoftwinnercommonhardwarelibsensors1Gsensor调试方法-All
6、winnerHAL主要是处理驱动层上报的数据,并对数据进行转换,由1024的DA值转换为1g。此部分需要修改较少,仅注意在兼容时,加入对新增gsensor的支持即可。HAL层与驱动层的结口为delay和enable。gsensor.cfg存放在小机的system/usr/gsensor.cfg,用于记录各gsensor的x,y,z轴的方向。调试时,直接adbpull出来之后修改对应的gsensor方向,再adbpush进去,重启即可生效。-----------------------------------------------------------------------
7、-----------------------------------------3,上层添加校准APK文件路径:/system/app/system/lib上层添加校准的APK具体实现方法可参考原厂提供的文件。一般包括APK以及对应的库文件。设置选项中添加校准APK后,最重要的一点是如何通过APK判断gsensor的报点是否准确,以及gsensor的x、y、z轴判定。a),报点是否准确通常不经过校准的gsensor都不是非常准的,即使在小机界面能左右旋转画面,一定需要通过报点数值进行判定。
此文档下载收益归作者所有