《摄像头的AF功能调试》

news/2024/11/24 13:05:32/

说明:以下说明均是在android 6.0 ,mt6580平台为例。

Data: 2016-07-21    星期四

一、前言

    在昨天调试摄像头的时候,发现摄像头不对焦。原本以为很简单的事,只要给摄像头上电,再在

    \vendor\mediatek\proprietary\custom\mt6580\hal\lens\lenslist.cpp 文件里添加一点东西就OK了。结果发现还是不能对焦,

    而且确定摄像头在硬件上是有AF功能的。这就奇怪了,上电是没问题的。后来FAE说可能是IIC没通,这个就有点令我吃惊了。

    AF功能也需要IIC通信来控制的吗?之前怎么没印象呢?后来想想也了然,如果你单单只给AF上电,它又怎么知道要对焦多少呢?

    马达要转多少才合适呢?所以它必需要由系统来给它控制,那系统和马达之间自然就需要用通讯来控制了。

二、现实

    1,首先我们要在ProjectConfig.mk 里配置好摄像头的AF功能,例如:

        CUSTOM_KERNEL_LENS = ad5820af dw9714af dummy_lens

        CUSTOM_KERNEL_MAIN_LENS = dw9714af

        CUSTOM_KERNEL_SUB_LENS = dummy_lens

        CUSTOM_HAL_LENS = ad5820af dw9714af dummy_lens

        CUSTOM_HAL_MAIN_LENS = dw9714af

        CUSTOM_HAL_SUB_LENS = dummy_lens

    2,还要在 Kernel 的项目配置文件里配置好,例如:ww826_80_weg_m_defconfig 

        CONFIG_MTK_LENS=y

        CONFIG_MTK_LENS_DUMMYLENS_SUPPORT=y

        CONFIG_MTK_LENS_AD5820AF_SUPPORT=y

        CONFIG_MTK_LENS_DW9714AF_SUPPORT=y

        事实上我们硬件上用到的是 DW9714AF。

    3,我们找到AF的驱动文件目录: \kernel-3.18\drivers\misc\mediatek\lens\common\ 在这个目录下面放着源码当前

        所有的AF驱动代码。我们找到  dw9714af 目录。

        

        

我们再继续去代码里跟下去! 就会发现 在 DW9714AF.c 里,最重要的是这个函数!   

 

        再找 DW9714AF_Ioctl这个函数是在那里被调用

        

        现在我们只有后摄像头有AF的功能,所以我们只需要跟进 main_lens.c 这个文件里 ~

        4,kernel-3.18\drivers\misc\mediatek\lens\main_lens.c

        

 

        我们再跟 g_stAF_DrvList[MAX_NUM_OF_LENS] 这个结构体数组 !!!

        

 

        5,我们再找  AF_SetMotorName 这个函数

  

 

        原来它是受这个节点控制的!!!

        

        

 

         ....................................

        

        是在这里注册AF的字符设备~

 

        

        6,它就是在AF的IIC proble里做的!

        

 

        

 

        

 

        这个比较重要!!!,这个就是要和生成的.dts文件里的相对应的。这个要我们自己用 DCT 工具去配置的!

        例如: 

        

 

        

 

        

        这里涉及到平台驱动以及I2C子系统驱动的知识点,如有不太明白的要去了解一下相关的知识。这里的问题只要是I2C能通讯成功就问题不大了,至于要微调AF功能得看合入的参数。

 


http://www.ppmy.cn/news/881415.html

相关文章

微调的方法

微调方法 Fine-tuning 全部微调(Fine-tune all layers):将预训练模型的所有层(包括输入层和输出层)都重新训练,以适应新的任务。这种方法需要大量的数据和计算资源,但通常可以获得更好的性能。…

相机VCM调焦(AF)策略

为了采集到清晰的图像,必须通过调整镜头改变焦点位置,获得清晰图像。通过外置音圈马达调节镜头是一种可行的方式。 调焦分3个过程: 粗调阶段,VCM调整步长就大,用于快速定位到焦点附近精调阶段,VCM调整步长…

Maven详见及在Idea中的使用方法[保姆级包学包会]

文章目录 Maven详解1.1 目标1.2 Maven概括1.3 多模块开发1.3.1 pom.xml1.3.2 生命周期1.3.3 依赖特性(多模块1)1.3.4 继承特性(多模块2)1.3.5 dependencyManagement标签1.3.6 Maven-聚合(多模块3)聚合 1.3.6.1聚合总结 Maven详解 1.1 目标 maven是什么?maven能干什么?maven…

34、描述一下spring bean的生命周期

spring bean的生命周期 解析类得到BeanDefinition如果有多个构造方法,则要推断构造方法确定好构造方法后,进行实例化得到一个对象对对象中的加了Autowired注解的属性进行属性填充回调Aware方法,比如BeanNameAware,BeanFactoryAwa…

spss 安装包以及许可证

链接:https://pan.baidu.com/s/1y-68aVWYXX8W0CBndPDmCg?pwd7crv 提取码:7crv 许可证:9DNCAF2O3QVDV7FBIO696OO6GWLNXZPPRYTPWF2PPX7C8T6Y24LMVV2ET7DOLX5CXAL5YDLL79UPGEFCPDXP5Q8O5E

医咖会免费SPSS免费教程学习笔记—灵敏度和特异度

情境:选择100名乳腺癌患者和900名非患者进行胸部门诊。结果检测出80名患者,20名患者并未检验出;800名非患者,100名未患病却被检验为患者。 1.灵敏度(真阳性率)80/100 2.特异度(真阴性率&#xf…

分享个隐世录脚本工具,辅助挂机自动脚本刷材料副本刷经验

分享个隐世录脚本工具,辅助挂机自动脚本刷材料副本刷经验 隐世录如果玩家需要刷很多材料来培养角色,还是比较耗费时间的,而且一些副本都可以用脚本工具自动完成节省时间,例如红手指云手机就有很多免费游戏脚本可以用。 红手指功…

权力的游戏刷声望辅助【多开辅助】权力的游戏手游辅助挂机刷石油资源采集脚本

权力的游戏刷声望辅助【多开辅助】养小号无刷资源无限金币脚本分享 《权力的游戏:凛冬将至》手游据说很快就要在6月份公测啦,权力的游戏手游高度还原维斯特洛大陆,将《权力的游戏》IP里的各打势力以及家族还原到沙盘上,玩家可以围…