微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 手机设计讨论 > MTK手机平台交流 > MTK 智能机 光感 调试

MTK 智能机 光感 调试

时间:10-02 整理:3721RD 点击:
我现在遇到一个情况:用adb 进入设备看ALS的值,可以确定光感是工作的。用电筒照光感sensor,als数值变化范围从 0到0X1193,但不知道上层如何判断光强,并且怎么控制背光?在cust_alsps.c 中设置如下
static struct alsps_hw cust_alsps_hw = {
    .I2C_num    = 0,
.polling_mode_ps =0,
.polling_mode_als =1,
    .power_id   = MT65XX_POWER_NONE,    /*LDO is not used*/
    .power_vol  = VOL_DEFAULT,          /*LDO is not used*/
    .i2c_addr   = {0x0C, 0x48, 0x78, 0x00},
    .als_level  = { 0,  1,  1,   7,  15,  15,  100, 1000, 2000,  3000,  6000, 10000, 14000, 18000, 20000},
    .als_value  = {40, 40, 90,  90, 160, 160,  225,  320,  640,  1280,  1280,  2600,  2600, 2600,  10240, 10240},
    .ps_threshold = 2, //3,
};
其中    .als_level  = { 0,  1,  1,   7,  15,  15,  100, 1000, 2000,  3000,  6000, 10000, 14000, 18000, 20000},
    .als_value  = {40, 40, 90,  90, 160, 160,  225,  320,  640,  1280,  1280,  2600,  2600, 2600,  10240, 10240},这两行代表什么意思,应该怎么调?

嘿嘿 ,给个邮箱我告诉你

xiesu.ok@163.com   非常感谢!

怎么不在这里说?公开说一下嘛,呵呵

驱动小生,让我们也知道一下啊!

小生兄,跪求共享啊!要是有资料传不上去就发给我,我存到网盘发出来。

嘿嘿,这个其实人家发给我的调试指南

光感数据范围以及LCD背光亮度等级设置。

我们一般情况下建议客户亮度调节情况至少保证以下情况
1、最低亮度背光设置较低----保证最低亮度情况省电状态,最低亮度情况一般设定为<20~50lux;
背光部分一般设定为15~20%,你们可以多取机台机实验看最低亮度设定为多少比较合适,

2、中间亮度范围设置亮度不分阶(或者分2阶)-----此时手机是最为通用的室内状态,亮度范围一般是70~800左右;
你们也可以取几台机试验,在室内状态读取的lux值参考;背光部分一般设定为50~55%

3、较高亮度范围可以考虑设置1阶----保证户外情况手机屏幕能够看得清楚,一般亮度划分在1000~2000左右,背光部分一般设定为80%。

4、最高亮度范围可以考虑设置1阶----保证户外情况手机屏幕能够看得清楚,一般亮度划分在2000~,背光部分一般设定为90~95%

还有一部分客户会这样设置

在较高亮度范围就将亮度设置为最高(上面第三的情况)此时背光设置为90~95%

在最高亮度范围将亮度适当调低(上面第四种情况),此时将背光设置为75~80%-----原因是反正亮度过高也看不清楚屏幕,索性保证省电情况。
可把MTK提供的cust.c代码里的两个数组替换成以下两组,这是我们从客户处已经调试过的:
0   0   0   10   100   300   800   1200  1200  3000  4000  5000   20000  50000  65535
40  40  40  90   225   225   225   2600  2600  2600  2600  2600   5000   9000   10240
由于每家客户的机构、透过率等问题不太一样,这组数据还不一定跟贵司的一样;
还是按照以上我们的等级范围设置较好;

小生兄,我看了你的资料,但是还是没能正确应该。如cust_alsps.c所述,
.als_level  = { 0,  1,  1,   7,  15,  15,  100, 1000, 2000,  3000,  6000, 10000, 14000, 18000, 20000},
    .als_value  = {40, 40, 90,  90, 160, 160,  225,  320,  640,  1280,  1280,  2600,  2600, 2600,  10240, 10240}
,这两行代表什么意思,应该怎么调?
按你的理解是
.als_level  = { 0,  1,  1,   7,  15,  15,  100, 1000, 2000,  3000,  6000, 10000, 14000, 18000, 20000},是光感取值;
第二行 .als_value  = {40, 40, 90,  90, 160, 160,  225,  320,  640,  1280,  1280,  2600,  2600, 2600,  10240, 10240},
是背光亮度?如果是背光亮度,那么怎么确定这个范围?

als_level  = { 0,  1,  1,   7,  15,  15,  100, 1000, 2000,  3000,  6000, 10000, 14000, 18000, 20000},我们光感读出来的数据会落这其中的某个区间里,然后这个区间对应上层config.xml的背光区间,
    .als_value  = {40, 40, 90,  90, 160, 160,  225,  320,  640,  1280,  1280,  2600,  2600, 2600,  10240, 10240},这个完全没用,不用理会。
然后我们按照驱动小生(刘总)说的,分4个阶次亮度,就在config.xml里背光改成这4个区间,我改的config.xml如下面截图,你的als_level 和背光等级对应就OK了


你好,请问怎么查看光感的实时数值呢,通过adb?
现在我通过adb看到对应的i2c地址下面有modalias里面只有一个名、name里面也是几乎相同的一个名称、一个叫做power的文件夹似乎没东西、subsystem也同样没东西、还有一个uevent同name是一个名称,请问那个文件里面能够显示光感数值呢?

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

网站地图

Top