版权声明:本文为博主(Tower)自学笔记,欢迎转载! :-) https://blog.csdn.net/qq_33443989/article/details/77113220
1>. 灯光系统框架
2>. 驱动怎么写?
JNI层需要什么,就提供什么。
1<. 看功能
通知灯/电池灯 在硬件上面使用的是同一个器件,功能:颜色/闪烁 背光灯 调节LCD亮度
2<. 写驱动:
通知灯/电池灯: 操作这三个LED(R, G, B) 背光灯:PWM 采用方波
3<. HAL: 把硬件LED再次划分为不同的逻辑灯
3>. 那么JNI/HAL文件需要什么?
JNI需要 :
1<. 获得 hw_module_t
2<. 根据不同的 name , 调用 module->method->open , 返回不同的 light_device_t 结构体
在这里我们只实现 name = "LIGHT_ID_BACKLIGHT" / "LIGHT_ID_NOTIFICATIONS" / "LIGHT_ID_BATTERY";
HAL需要 :
1<. 实现 hw_module_t 结构体
2<. 实现 open 函数, 它会根据 name 返回不同的 light_device_t 结构体
针对不同 name 实现对应的 set_light 函数。