![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
---【LightsService分析】
文章平均质量分 88
Achillisjack
这个作者很懒,什么都没留下…
展开
-
LightsService分析 --- 硬件抽象层
4 硬件抽象层代码分析LightsService的HAL(硬件抽象层)物理逻辑代码主要位于hardware\qcom\display\liblight目录下的lights.c以及hardware\libhardware\include\hardware目录下的hardware.h和lights.h。4.1 hardware定义hardware.h定义了Android系统中通用的硬件原创 2017-11-29 19:00:09 · 732 阅读 · 0 评论 -
LightsService分析 --- JNI分析
3 JNI3.1 初始化Lights设备在LightsService初始化时调用的init_native方法如下:static jlong init_native(JNIEnv* /* env */, jobject /* clazz */){ int err; hw_module_t* module; Devices* devices; device原创 2017-11-29 19:00:44 · 469 阅读 · 0 评论 -
LightsService分析 --- 问题分析
5 重点问题解析5.1 添加一个自定义的灯前面从Java应用层一直到硬件抽象层的分析,都是Android系统中标准的硬件控制流程,在了解了这个流程后,开发人员就可以根据这个流程来添加制定自己的硬件控制了。下面将分步骤来介绍如何添加一个自定义的灯,以控制一个4G信号强弱的灯led_lte为例。步骤 1 添加逻辑ID值首先需要在LightsManager中添加所要灯的ID号,这个I原创 2017-11-29 19:01:14 · 1633 阅读 · 0 评论 -
LightsService分析 --- LED驱动分析
6,Linux LED驱动分析LED子系统是linux 中的一个子系统,所以有些套路是固定的,不需要开发者去做很详细的开发。LED驱动主要包括2部分,第一部分是内核开发者提供的,主要包括led-class.c和led-core.c。另外一部分需要厂商自己去实现。6.1 led-class.c按照驱动流程顺序论述,Led驱动进入/退出方法为,subsys_initcall(led原创 2017-11-29 19:01:41 · 708 阅读 · 0 评论 -
LightsService分析 --- 概述
1 概述本文重点分析Android系统服务之LightsService(光服务),Android光系统用来控制系统中的各个光源,实际上是一个输出控制系统。跟其他Android系统中的硬件控制一样,都需要底层驱动的支持以及上层逻辑控制。LED灯的控制分为上层和底层代码两部分,中间通过JNI来进行交互。Lights系统的结构如图1-1所示:图 1-1 Lights系统框架图原创 2017-11-26 21:01:40 · 4600 阅读 · 0 评论 -
LightsService分析 --- 流程分析
2.2 控制流程分析2.2.1 LightsService服务启动流程LightsService是从SystemServer中启动的,在运行SystemServer的run()方法时会启动所有必须的系统服务,这其中就包含用来控制LED灯以及屏幕背光的LightsService,在SystemServer中启动服务:private void startBootstrapService原创 2017-11-26 21:05:42 · 918 阅读 · 0 评论