嵌入式Android底层开发(五)Android灯光系统_总体框架

回顾一下各子系统的共性

在这里插入图片描述

一、Android灯光系统的框架

如果想让APP程序使用自定义的Driver程序,那么就需要选择安卓系统自带的JNI文件。,下面先看一张现有通用安卓系统程序协调分工流程图。
在这里插入图片描述
下图为Android灯光系统的框架图
在这里插入图片描述

二、Android灯光系统各层的实现

各层实现的的框架图
在这里插入图片描述

2.1 APP层

提出需求,实现与用户的交互

2.2 JNI层

程序需要包含的部分:
1、获得一个hw_module_t
2、根据不同的name,调用不同的module->methods->open,返回不同的light_device_t结构体
其中name有许多种,如背光、电池灯、通知灯
在这里插入图片描述

2.3 HAL层

根据APP实现的功能进行编写,把硬件LED再次划分为不同的逻辑灯
1、电池灯:电量的多少,显示不同的颜色
2、消息通知灯:当收到消息时,灯光闪烁
3、背光灯:调节LCD亮度

程序需要包含的部分:
1、实现一个hw_module_t
2、实现open,当JNI文件传入name时,HAL会构造一个name相关的light_device_t结构体,该结构体包含了(hw_device_t结构体和set_light函数,其中对不同的灯,使用不同的set_light函数)
框图:

2.4 Driver层

根据选用得硬件设备进行编写
1、电池灯、消息通知灯:对于不同颜色的显示一般都是通过输入三点信号进行控制,通过RGB三种颜色进行控制灯的总颜色。
2、背光灯:调节LCD亮度,通过PWM进行控制

三、Android灯光系统各层的代码

这部分等开发板到了再补

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值