本文记录一次 A133 平台使用GPADC作为Lsensor实现自动背光的调试过程。
1. 调试背景#
项目需要实现自动背光要求,鉴于成本,使用了GPADC进行替代光感,主控获取GPADC具体电压来粗劣判断外部光亮强度。
功能链路如下:
具体原理图如下:


2. 底层配置#
2.1移植驱动#
当前WSDK-A133_AndroidR_v2.3找不到GPADC(sunxi_gpadc.c)驱动,所以需要在A133其他SDk移植GPADC驱动。
2.2 自动加载驱动#
配置自动加载驱动(sensor_modules.cfg):

2.3 添加设备书节点#
添加设备节点:


设备树具体含义:

使用cat /proc/bus/input/devices验证驱动通路:


使用getevent -l 验证数据上报是否正确:

3. 适配HAL层#
3.1添加设备信息#

3.2添加支持light的feature#

使用pm list features | grep light验证:

使用dumpsys sensorservice验证HAL层是否正常:

继续看有无数据上报:

到这里HAL层也正常了
4. 修改映射表#


需要注意:config_autoBrightnessDisplayValuesNits有16列,config_autoBrightnessLevels有15列,所以不是一一对应的关系,而是环境亮度[0,20]->背光[0,50],并且Andorid 11背光调节带有用户偏好机制,不是简单的线性调节。
5.问题#
5.1 自动背光调节响应速度慢#
默认响应速度为较长,参考修改:
