[笔记分享] [Camera] 相机的flash led功能小结
来源:互联网 发布:阿里云欠费 编辑:程序博客网 时间:2024/06/04 19:10
平台:msm8926
相关目录及文件:
- Kernel/drivers/media/platform/msm/camera_v2/sensor/flash:
msm_led_flash.c
注册flash为camera架构中的一个subdev,提供ioctl接口给上层camera server调用。
msm_led_torch.c
提供设置torch模式接口,我们没注册进去。(led_trigger_set_default()里比较的是default_trigger和name, default_trigger在dtsi中被定义,因此下面的leds-qpnp.c才能注册成功set_brightness回调函数)。
msm_led_i2c_trigger.c
如果是单独的flash ic的话通过此文件的i2c接口注册,我们用的pmic自带的flash
led功能,此文件也不需要。
msm_led_trigger.c
注册led驱动,另外还提供config的公共接口。
- Kernel/drivers/leds:
leds-qpnp.c:
PMIC led相关的功能都放在此文件里空间了,当然也包括了flash led. Flash电流的set核心函数是qpnp_flash_set()。
Led-triggers.c
led_trigger_set_default():name匹配就注册set_brightness回调函数。
- Kernel/arch/arm/boot/dts/:
msm_pm8226.dtsi
定义flash/torch led相关配置,包括电流大小,周期等。
高通在文档中还介绍了各个property的解释,在leds-qpnp.txt中:
- Vendor/qcom/proprietary/mm-camera/mm-camera2/media-controller/modules/sensors/led_flash
led_flash.c
User space最终通过调用此文件中的ioctl来将设置传递给kernel。主要是led_flash_process()。
两种工作模式:
Camera flash led分flash和torch两种模式。
Flash: 拍照时闪光灯瞬间亮一下的情况,电流比较大,目前是1000mA,最大电流不能超过led的最大承受能力。
Torch: 只用于录video或者拿led当手电筒的情况,电流不能太大,例如现在用的是200mA。
Flash的开启需要先从torch过渡,也就是电流慢慢增大,减小冲击。
保护机制:
有flash timeout, video watchdog timer, short led fault detection等。
另外还有电池低电压的时候降流的功能。
调用流程:
硬件参数:
小结:
电流最终设置的值是多少,需要依据tuning之后的效果。
Flash mode最大只能是1000mA, 也要考虑led硬件是否能承受1000mA的电流。
参考文档:
80-NC833-1 page80
80-NC833-5 page98~110
80-NE399-11 第三章节
- [笔记分享] [Camera] 相机的flash led功能小结
- [笔记分享] [Camera] 相机的一些附加功能
- [笔记分享] [Camera] msm8926的ZSL功能小结
- [笔记分享] [Camera] 相机的曝光三要素
- [笔记分享] [Camera] 相机的Tuning flow
- [笔记分享] [Camera] 相机的一些名词解释
- [笔记分享] [Camera] 相机的等效焦距计算
- [笔记分享] [Camera] msm8926 camera hal 流程小结
- [笔记分享] [Camera] 各种相机种类及区别
- 相机硬件功能(Camera hardware features)
- Android camera相机开发拍照功能
- 【单目全景相机】友盟分享功能的集成
- mtk 驱动笔记 lcd camera led tp
- mtk 驱动笔记 lcd camera led tp
- [笔记分享] [Camera] MTK Camera基础知识一
- [笔记分享] [Camera] MTK Camera基础知识二
- [笔记分享] [Camera] MTK Camera module
- [笔记分享] [Camera] MTK Camera Performance
- mysql 及mysql cluster性能测试
- linux2.6内核SD Card Driver详细解析
- Linux (CentOS)下配置多个Tomcat同时运行
- mac office 2011 word 不显示图片?
- java虚拟机运行时数据区域
- [笔记分享] [Camera] 相机的flash led功能小结
- Redis在windows下安装过程
- dockercomposeyml 测试
- Java进阶之虚拟机《三》:类初始化
- selenium常见报错总结
- hoj 1867 经理的烦恼 (树状数组)
- C++指针与地址详解 _0
- jQuery插件开发(二)jQuery.fn方法
- leetcode 204. Count Primes