微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 手机设计讨论 > MTK手机平台交流 > MTK6515光感如何把单向调节改成双向调节

MTK6515光感如何把单向调节改成双向调节

时间:10-02 整理:3721RD 点击:
平台MT6515,光感型号LTR558,目前的现象是光感自动调节背光亮度,可以从暗往亮调,无法从亮往暗调,只有在背光灭了之后才能恢复到当前光线强度下对应的背光亮度。
我做的实验是,拿手电筒去照射,发现背光变亮,拿开手电筒,背光不会变暗,但是光感的值是正常下降了的。
感觉像是算法有问题,可能是比前一次的值要小的话就丢弃,在驱动的代码中没看到类似的处理,只是返回values[0]。
各位大哥,求指教!

frameworks/base/services/java/com/android/server路径下的PowerManagerService.java
private void lightSensorChangedLocked(int value)方法中
// do not allow light sensor value to decrease
        if (mHighestLightSensorValue < value) {
            mHighestLightSensorValue = value;
        }
/*屏蔽这段      
  if (mLightSensorValue != value) {
            mLightSensorValue = value;
*/
            if ((mPowerState & BATTERY_LOW_BIT) == 0) {
                // use maximum light sensor value seen since screen went on for LCD to avoid flicker
                // we only do this if we are undocked, since lighting should be stable when
                // stationary in a dock.
把下面
/*
                int lcdValue = getAutoBrightnessValue(
                        (mIsDocked ? value : mHighestLightSensorValue),
                        mLcdBacklightValues);
*/
改为
int lcdValue = getAutoBrightnessValue(value,mLcdBacklightValues);
谷歌的源码就是单向调节的。

写错了。
// do not allow light sensor value to decrease
应该
/*屏蔽这段   
        if (mHighestLightSensorValue < value) {
            mHighestLightSensorValue = value;
        }
*/
  if (mLightSensorValue != value) {
            mLightSensorValue = value;

不错,支持小编!

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top