最近4个月的时间,5个人做了两个Android的手机项目:一个2.2.1的,另一个是2.3.4;不知道其他公司是不是也是这样的工作量。对于我们相比之前的项目来说,完全是让我们超长发挥。从之前没有接触过,到目前基本搞通Android框架——主要是底层驱动框架,BSP部分,对于应用层的结构也略知一二。整个成长过程可谓是历经艰辛。各中压力只有我们几个当事人才深有体会。前面先抱怨几句,后面博文会继续总结和记录一些个人认为值得自己总结的要点。

        这次就记录一下键盘灯的相关资料。事情的起因是硬件同事反馈触摸屏下面的按键灯电流过大,可能会烧掉LED灯。开始我认为这应该是高通ARM9完全控制的。结果在代码里面发现设置键盘灯的地方实际是通过RPC从ARM11传过来的命令控制的。因为在ARM9这边控制键盘灯的类型为KBD_XXX。于是我想当然认为ARM11肯定有一个KEYBOARD类型的light设备。从代码上的确找到了这样一个设备。在lights.c的文件中,可以看到有一个打开键盘灯的函数。当传入的参数为真,则在文件系统中写一个键盘背光灯亮度文件,值为255。那么通过RPC传给ARM9后,设置键盘灯的亮度就是最大的。其实ARM9侧键盘灯最大应该为6,对应电流大约为60mA。那么只要将函数中,亮度值改小应该就可以了。我将该值改为了20。运行测试了一下,发现好像没什么变化。难道有别的地方再操作该值???国庆加班不太在状态,先回家再说。

        第二晚上,没事再来琢磨一下。在网上搜索“键盘灯亮度设置”,结果发现有一个叫"AdjBrightness"的应用程序可以调节键盘灯亮度。但是好像都下载失败。看来想通过应用程序来测试分析的路走不通。再研究一下这个brightness的文件。结果发现有一个button-backlight的目录,而没有kbd-backlight的目录(这个是我最疑惑的地方)。测试发现,当键盘灯熄灭时,button-backlight的brightness文件值为0,点亮后为255。那么我有理由怀疑真正控制键盘灯亮度的是button-backlight里面的brightness,而不是我之前认为的keyboard-backlight。找个时间修改代码测试一下。等测试后再记录测试结果。

        10月8日上班测试了一把,证明我的推断是正确的。这个问题可以关闭了。

更多相关文章

  1. Ohone SDK的模拟器居然不能联网??
  2. Android应用程序访问linux驱动第一步:实现并测试Linux驱动
  3. Android(安卓)屏蔽Power键 Home键
  4. 为开发者摆平 Android(安卓)碎片化,TestObject 融资百万美元
  5. Android功耗测试小工具集锦
  6. 安卓自动化测试-脚本相关初探
  7. Android(安卓)错误:at java.lang.reflect.Method.invoke(Native M
  8. Android单元测试(一):JUnit框架的使用
  9. Android--设置软键盘的显示和隐藏

随机推荐

  1. android ping
  2. Android 通过按钮弹出菜单(通过Button显示
  3. Android热修复--腾讯bugly
  4. Python+appium 实现 Android 自动化
  5. Android WifiManager 常量
  6. Android 三种方式实现圆形ImageView
  7. Android Http status code
  8. Android Retrofit通过OkHttp添加Intercep
  9. android 图片水平显示,类Gallery效果
  10. Android轮播图Banner使用方法