Android7.1 控制背光流程
背光调节通信图,如下
如论上层哪里控制背光,上图部分是共用的流程,每次设置一个新的背光值,都会从上一个背光值开始,在RampAnimator.java以计算出的步长调整背光到目标背光值,因此是一个渐变的过程。
所有调节背光都是PowerManagerService.java调用DisplayManagerService.java的requestPowerState函数。
Android7.1 背光初始化
总结
- android背光控制,没有背光曲线;
- 背光频率根据硬件电路设计确认,硬件提供;
- 调节背光值得最大值和最小值,确保当在最大值或最小值时,满足屏背光电压电流要求
- 开机动画阶段背光值不是存在于数据库中,因此开机动画阶段背光值不是launcher起来后的背光值,背光值分为三个阶段的值:
a、boot阶段的背光值
b、system_server初始化时的默认值,配置在frameworks\base\packages\SettingsProvider\res\values\defaults.xml中
c、launcher起来应用设置的背光值,从数据库中取值,若新升级的系统,也是从frameworks\base\packages\SettingsProvider\res\values\defaults.xml获取初值。
d、若三个阶段的默认值不同,开机过程会出现背光变化或黑屏。 - 在背光范围未调好时,初值配置不合理,开机过程会出现黑屏(实际未黑屏,只是亮度太低)
- 根据硬件测量屏背光的电流电压值,调整背光的最大值、最小值,配置在android\frameworks\base\core\res\res\values\config.xml中,分别为:config_screenBrightnessSettingMinimum、config_screenBrightnessSettingMaximum
全志a40i背光调试
1、设置默认值、最小值、最大值
代码位置:android\frameworks\base\core\java\android\os\PowerManager.java
public int getMinimumScreenBrightnessSetting() {
//return mContext.getResources().getInteger(
// com.android.internal.R.integer.config_screenBrightnessSettingMinimum);
//=====keven modify 2014-04-15=
int sysmin = mContext.getResources().getInteger(
com.android.internal.R.integer.config_screenBrightnessSettingMinimum);
int limitmin = SystemProperties.getInt(“ro.yj.minbrightness”,0); //modify by momkey for ro.yj.minbrightness
return limitmin == 0 ? sysmin : limitmin;
//=====keven modify 2014-04-15=
}
/**
- Gets the maximum supported screen brightness setting.
- The screen may be allowed to become dimmer than this value but
- this is the maximum value that can be set by the user.
- @hide
*/
public int getMaximumScreenBrightnessSetting() {
//return mContext.getResources().getInteger(
// com.android.internal.R.integer.config_screenBrightnessSettingMaximum);
//=====keven modify 2014-04-15=
int sysmax = mContext.getResources().getInteger(
com.android.internal.R.integer.config_screenBrightnessSettingMaximum);
//int limitmax = SystemProperties.getInt(“ro.bright.limitmax”,0);
int limitmax = SystemProperties.getInt(“ro.yj.maxbrightness”,0);//modify by momkey for ro.yj.maxbrightness
return limitmax == 0 ? sysmax : limitmax;
//=====keven modify 2014-04-15=
}
/**
- Gets the default screen brightness setting.
- @hide
*/
public int getDefaultScreenBrightnessSetting() {
modify by momkey start for ro.yj.defaultbrightness///
int YJint = 0;
YJint = SystemProperties.getInt(“ro.yj.defaultbrightness”, 0);
if(YJint > 0) {
System.out.printf(“ro.yj.defaultbrightness is %d\n”, YJint);
return YJint;
}
modify by momkey end for ro.yj.defaultbrightness
return mContext.getResources().getInteger(
com.android.internal.R.integer.config_screenBrightnessSettingDefault);
}
最小值最大值控制最小最大占空比,使不超过屏支持范围
默认值需要修改属性配置和config.xml,否则开机是开机动画阶段亮度和正常启动后亮度不同
2、sys_config.fex配置
lcd_pwm_used = 1
lcd_pwm_ch = 0
lcd_pwm_freq = 20
lcd_pwm_pol = 1
lcd_pwm_max_limit = 250
重点:lcd_pwm_freq
该值并不是实际的背光芯片频率,该值和硬件设计的电路有关,根据硬件设计实际测量设定
Android7.1 控制背光流程相关推荐
- Android原生调节屏幕背光流程
Android 5.1调节背光流程 版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明. https://mp.csdn.net/mdeditor/ ...
- android7.1默认背光亮度及编译调试
android7.1默认背光亮度及编译调试 始修改\frameworks\base\packages\SettingsProvider\res\values\defaults.xml <inte ...
- java 判断对象为控制_Java流程控制
Java流程控制 1.Scanner对象 ①java.util.Scanner是Java5的新特性,可以通过Scanner类来获取用户的输入. ②基本语法: 1 Scanner s=new Scann ...
- 10.sprd背光流程
Android 背光流程小结 现在使用aidl方式: /hardware/interfaces/light/aidl/android/hardware/light/ILights.aidl 1 2 3 ...
- 高通平台GPIO模拟PWM控制背光
很多时候由于节省硬件资源,降低成本,会把PWM控制芯片去掉或者是改做它用,导致当我们想用PWM方式控制背光时只能使用带有clk功能的GPIO口.本篇文档就来讲解下如何使用GPIO模拟PWM功能进行背光 ...
- 策略与计费控制(PCC)流程与信令流程
该文为3GPP TS23.203-be0 条款6-7译文 策略与计费控制(PCC)流程[^4] IP-CAN 会话有三种显著的场景: 无网关控制会话需求,不会出现网关控制建立 需要网关控制会话支持:B ...
- 5、【易混淆概念集】-第四章 1 项目启动会 VS 项目开工会 变更控制的流程
本讲主要介绍PMBOK第四章中的重要知识点,帮助你进一步理解. 本节目录 一.项目启动会 VS 项目开工会 二.变更控制的流程 一.项目启动会 VS 项目开工会 [出处]PMBOK P86,4.2.2 ...
- 智能电子中的自动化控制:流程优化、执行与决策
作者:禅与计算机程序设计艺术 随着科技飞速发展,我们生活中的许多应用都开始被智能电子所代替.它们可以帮助我们完成重复性的工作任务,也可以实现精准而高效地完成复杂的工程建设.但是,实现自动化控制功能的同 ...
- Android7.0 Rild工作流程
点击打开链接 一.基于Rild的通信架构 一般智能手机的硬件架构都是两个处理器: 一个处理器用来运行操作系统,上面运行应用程序,这个处理器称作Application Processor,简称AP:另 ...
最新文章
- css媒体查询标准,CSS 媒体查询 - 实例
- 链接和作用域2 - C++快速入门43
- boost::lexical_cast用法的测试程序
- [Debugging]分析博客园提交评论的校验规则
- 201521145048《Java程序设计》第11周学习总结
- python实验八分支语句_python语句(分支,循环)
- Openresty+Nginx+Lua+Nginx_http_upstream_check_module 搭建
- atitit.提升兼容性最佳实践 o9o
- 开源应用中心 | KodExplorer高效流畅云端存储协同办公新体验
- win7 升级到 win10 补丁
- 读取jpeg图像数据
- 一步教你超简单设置Android Studio背景图片
- linux cadaver 命令,备份Linux操作系统的数据到坚果云的方法
- Sketchfab下载器ArtStation资源下载操作说明中文网模型提取教程
- “%”取模/取余是不同的
- 跟庄买股票得新技巧(第三弹)集合竞价战法
- 中山纪念中学集训日志
- github+jekyll 搭建博客最全教程(一次性完成)
- 当前安全设置不允许下载文件
- 东北林业大学计算机考研英语几,东北林业大学(专业学位)计算机技术考研难吗...