---【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 · 736 阅读 · 0 评论 -
LightsService分析 --- JNI分析
3 JNI 3.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 · 472 阅读 · 0 评论 -
LightsService分析 --- 问题分析
5 重点问题解析 5.1 添加一个自定义的灯 前面从Java应用层一直到硬件抽象层的分析,都是Android系统中标准的硬件控制流程,在了解了这个流程后, 开发人员就可以根据这个流程来添加制定自己的硬件控制了。下面将分步骤来介绍如何添加一个自定义的灯,以控制一个4G信号强弱的灯led_lte为例。 步骤 1 添加逻辑ID值 首先需要在LightsManager中添加所要灯的ID号,这个I原创 2017-11-29 19:01:14 · 1635 阅读 · 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 · 715 阅读 · 0 评论 -
LightsService分析 --- 概述
1 概述 本文重点分析Android系统服务之LightsService(光服务),Android光系统用来控制系统中的各个光源,实际上是一个输出控制系统。 跟其他Android系统中的硬件控制一样,都需要底层驱动的支持以及上层逻辑控制。LED灯的控制分为上层和底层代码两部分, 中间通过JNI来进行交互。Lights系统的结构如图1-1所示: 图 1-1 Lights系统框架图原创 2017-11-26 21:01:40 · 4609 阅读 · 0 评论 -
LightsService分析 --- 流程分析
2.2 控制流程分析 2.2.1 LightsService服务启动流程 LightsService是从SystemServer中启动的,在运行SystemServer的run()方法时会启动所有必须的系统服务, 这其中就包含用来控制LED灯以及屏幕背光的LightsService,在SystemServer中启动服务: private void startBootstrapService原创 2017-11-26 21:05:42 · 926 阅读 · 0 评论