【MTK】flashlight驱动部分调试
1.闪光灯校准
使用adb命令的方式在正常开机环境下做flash 校准,步骤如下:
-1- adb shell setprop z.flash_ratio 1
-2- 全黑环境下,请将手机固定,对着白墙10cm,固定。
-3- 点击拍照,然后手机会自动打闪多次(其中不要任何人员靠近,避免影响光源)。
-4- 手机停止拍照以后,存储空间内将生成eng_all.txt,eng_code.txt,fwb_code.txt等文件。
校准数据检查没问题后,
-1- 将eng_code.txt中的engTab数据合入到flash_tuning_custom_cct.cpp中的engTab数组中;
-2- 将fwb_code.txt中的数据合入到Camera_flash_awb_para_xxxxxx.h的Flash AWB Calibration数组中。 合入后重新编译即可生效。
主要调试文件:
1.kernel-4.4\drivers\misc\mediatek\flashlight\flashlights-dummy-gpio.c
2.vendor\mediatek\proprietary\custom\mt6739\hal\flashlight\flash_tuning_custom.cpp
3.vendor\mediatek\proprietary\custom\mt6739\hal\flashlight\flash_tuning_custom_cct.cpp
一:常见闪光灯问题处理
1.开启闪光灯拍照和录像的照片跟视频偏色(我这里主要偏绿色)
修改vendor\mediatek\proprietary\custom\mt6739\hal\camera_3a\flashawb_tuning_custom.cpp中MTRUE为MFALSE(关掉白平衡)
2.明亮处拍照闪光灯会亮起
vendor/mediatek/proprietary/custom/mt6739/hal/imgsensor/gc5025_mipi_raw/camera_AE_PLineTable_gc5025mipiraw.h
适当减小u4StrobeTrigerBv值,即环境亮度低于所设 BV 门限值时才会打闪,设的越小,越需要到更暗的环境才会打闪,gc5025默认是20,可以适当调低
3.闪光灯打闪暗处和亮处拍照均会变暗
gain 值补不上来,则导致拍照变暗很多
解决办法:vendor\mediatek\proprietary\custom\mt6739\hal\flashlight\flash_tuning_custom.cpp
para.maxCapExpTimeUs默认值从80000改成100000,即闪光灯打闪时,capture shutter 最大值。默认为 80000,即 80ms,主要目的为了防止闪光灯工作时间较长会导致寿命缩短。通常建议不大于 12500
4.flashlights-dummy-gpio.c驱动拍黑暗处闪光灯起不了补光作用
kernel-4.4\drivers\misc\mediatek\flashlight\flashlights-dummy-gpio.c
解决办法:在开闪光灯拍照的时候,适当加500ms延时
dummy_enable();
mdelay(500);
5.利用SGM37891闪光灯IC编程,降低手电筒电流,防止长时间开启后打闪或者提高闪光灯亮度
控制IC的1W管脚
spin_lock_irq(&g_strobeSMPLock);
if(pinctrl_select_state(dummy_pinctrl, dummy_xxx_high)){printk("[constant_flashlight] set gpio failed!!\n");}
udelay(200);
for(i=0; i<3; i++){ //4 Pulse
if(pinctrl_select_state(dummy_pinctrl, dummy_xxx_low)){printk("[constant_flashlight] set gpio failed!!\n");}
udelay(30);
if(pinctrl_select_state(dummy_pinctrl, dummy_xxx_high)){printk("[constant_flashlight] set gpio failed!!\n");}
udelay(30);
}
spin_unlock_irq(&g_strobeSMPLock);
【MTK】flashlight驱动部分调试相关推荐
- mtk 5.1版本霍尔开关驱动的调试
mtk 5.1版本霍尔开关驱动的调试 1.原理 当一块通有电流的金属或半导体薄片垂直地放在磁场中时,薄片的两端就会产生电位差,这种现象就称为霍尔效应 2 项目要求:利用霍尔开关实现亮屏灭屏功能(盒盖灭 ...
- MTK平台驱动调试的资料
最近要从事MTK6260平台方面的开发工作.工作内容包括BSP调试及部分功能的代码移植.之前没有接触过这类工作内容,所以在网上查找了一些资料,并添加到自己的博客上,方便自己查找. 以下为其他人的资料: ...
- MTK6735 camera 闪光灯Flashlight驱动调试流程学习
MTK6735 camera 闪光灯Flashlight驱动调试流程学习 一.Flash驱动涉及到的文件包含: kernel-3.10/drivers/misc/mediatek/flashlight ...
- Android MTK Flashlight学习
MTK FLASHLIGHT学习 内核中常见的创建文件方法 文件权限定义 S_IRUSR等 强大的DEVICE_ARRT宏 DEVICE_ATTR和DEVICE_CREATE_FILE使用 内核中常见 ...
- linux系统LCD驱动(三):mtk lcd驱动lcm的加载以及初始化
上一篇博文(linux系统LCD驱动(二):mtk lcd驱动fb_info初始化)https://blog.csdn.net/Ian22l/article/details/105929192 提到m ...
- MTK 驱动(63)---MTK TP驱动移植
MTK TP驱动移植 对于MTK TP驱动移植一般分为六部分: 1.硬件IO口配置: 2.TP驱动移植: 3.I2C通信: 4.中断触发: 5.数据上报: 6.虚拟按键: 硬件电路: 1.GPIO配置 ...
- MTK 9.0平台调试gsensor
MTK 9.0平台调试gsensor ----型号为:stk8baxx 1 查看原理图可以知道stk8baxx重力传感器 使用i2c1通道进行通讯,由于该重力传感器是不使用中断模式的进行触发的,所以不 ...
- Android GPS中间层驱动开发调试
~.Android GPS中间层驱动开发调试小结 // rkeclair_v1.02_sdkdemo , ublox芯片 调通GPS功能,用串口可打印出位置数据,并可在gpslogger ...
- linux驱动程序设计21 Linux设备驱动的调试
本章导读 "工欲善其事,必先利其器",为了方便进行Linux设备驱动的开发和调试,建立良好的开发环境很重 要,还要使用必要的工具软件以及掌握常用的调试技巧等. 21.1节讲解了Li ...
最新文章
- 今天是我“略懂”Python的第200天,我遇到了新刺激……
- makefile多目录多文件
- 栈的应用_DFS解迷宫问题
- 实例化vue对象 绑定子组件_Vue-双向数据绑定
- Java接口能不能有静态方法_接口可以在Java中使用静态方法吗?
- 如何关闭Struts2的webconsole.html
- ASP.NET 2.0中将 GridView 导出到 Excel 文件中
- mysql检索整数_MyBatis从MySql DB中检索整数为Enum
- 那些让老板赞不绝口的可视化大屏,附模板和教程
- Android 4.0 ICS SystemUI浅析——SystemUI启动流程
- 【案例分享】网络环路检测基本功能配置
- PS压缩1寸照片大小降低到50KB以下的方法
- 使用IDEA制作Java面向对象小游戏《原谅帽大作战》
- Centos7服务器网络配置
- 2021年中国互联网婚恋交友行业现状与竞争格局分析,预计到2022年市场规模将有望突破80亿元「图」
- conda安装SimpleITK和pydicom
- 搭建web服务器访问网页
- java计算机毕业设计ssm洗浴管理系统l9omz(附源码、数据库)
- github上传代码报错remote: Support for password authentication was removed on August 13, 2021. Please use a
- 081200计算机科学与技术——408计算机学科专业基础——操作系统,知识点整理【更新中】