ltr_558als 光线传感器和接近传感器 probe 后默认开启导致的系统无法休眠
来源:互联网 发布:软件流量好用吗 编辑:程序博客网 时间:2024/04/30 13:35
这两天看一个bug,其他同事怀疑是因为光线传感器每隔两秒产生一个中断导致系统无法休眠。我开始不怎么相信这种说法,因为这个普通的gpio中断怎么会导致系统无法休眠呢?但是它提到我们的这个gpio中断会申请一个wake-lock 。。。。这我就需要自己研究研究了。不过这会儿没时间仔细跟代码了。因为我还有好几个bug需要处理。这个问题等我后面有空了,仔细看看。
此处待续。。。。。
没有人知道这个ltr_558als的代码写的有多烂了。我真想重写一下。说实话,有很多代码我都想重新搞一下,因为你知道,哥有强迫症,有强迫症的人大都有洁癖,有强迫症的人大都追求绝对的完美,而哥把这些都占全了。我现在就差关门时把门把手给拽掉了。
我前面已经发现了,当开机后,上层会把light sensor打开,哪怕我已经选择了不自动调节亮度!我没有高明白还有什么地方会用到光传感器,但是上层每次开机都会打开光传感器,不过这个和我的驱动没啥关系,驱动只是给他提供一个打开的方法而已,上面爱打开就让他打开吧。
然后当我按下power键后,系统开始休眠,我也看到了上层关闭light sensor的动作,这很好,说明上层的逻辑很正确。
现在的问题是还有另外一种情况,就是系统已经休眠了,让后因为BP连着,BP想周期性的把系统唤醒,然后扫扫网络。。。。本来这个和AP貌似有毛关系啊。BP醒了扫扫网络和AP有什么关系啊。干嘛把AP也折腾醒了啊???
这就是玄机。。。别人的机器AP 和 BP 会有两个独立的CPU,那么BP扫网的时候和AP就真的毛关系也没有了,AP还会睡的香,但是我们的机器只有一个CPU,所以他就必须要醒了。。。
这时候系统被唤醒了。然后ltr_558als也跟着折腾起来了。。。但是这时候屏幕都没有亮,,android的那套流程都走不了,这下没人关闭558了。。。。所以系统睡不了。。
咋办呢?probe的时候不要让558默认开启了,让他关掉。这样只有上层才会打开或者关闭他。558自己再也不能偷偷跑了。。。
问题解决。
- ltr_558als 光线传感器和接近传感器 probe 后默认开启导致的系统无法休眠
- 传感器的使用:光线传感器
- 光线传感器
- module初始化顺序导致的AKM8963C 磁传感器probe失败
- 光线传感器 + 传感器指南针
- 传感器--------接近传感器
- 将接近传感器和环境光传感器封装在一起的优点
- android 传感器休眠的问题
- android 光线传感器 light sensor的使用
- 光线传感器&指南针
- Android之光线传感器
- Android之光线传感器
- Android之光线传感器
- Android光线传感器
- Arduino使用光线传感器
- 读书笔记 --- 接近传感器
- 接近传感器 距离传感器 结构差异 硬件差异 导致 失效 ltr558 al3006
- android 传感器使用与开发----光线传感器
- 数据库学习笔记(三)--SQL语句
- 数据化营销
- struts1.2一些知识
- Android--判断发送短信后的状态/发送成功Or发送失败
- ubuntu 12.04 install flash for firefox
- ltr_558als 光线传感器和接近传感器 probe 后默认开启导致的系统无法休眠
- Objective-c基础(一)
- 「学习总结-Haskell-5」Haskell 重要概念——函数
- 电容读法
- stop与suspend区别
- WINCE Driver 心得总结
- mysql 时间列自动插入当前日期时间的几种个人说明
- linux-0.11调试教程,安装minix-1.5.10到硬盘
- javascript 写植物大战僵尸(一)