主要调试文件:

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);

待续。。。。。。。。。。

闪光灯问题,可参考https://blog.csdn.net/qq_33575901/article/details/80906981

flashlight问题调试相关推荐

  1. MTK6735 camera 闪光灯Flashlight驱动调试流程学习

    MTK6735 camera 闪光灯Flashlight驱动调试流程学习 一.Flash驱动涉及到的文件包含: kernel-3.10/drivers/misc/mediatek/flashlight ...

  2. MTK camera 闪光灯Flashlight驱动调试流程

    Camera Flash 驱动分析 一.Flash驱动涉及到的文件包含: mediatek /custom/common/kernel/flashlight/src/kd_flashlightlist ...

  3. linux脚本ipddr.sh 是什么,MTK DDR调试

    1. 获取 flash id: 硬件信息:通过这个节点可以知道当前flash的id,上层根据id找到对应的flash名字. cat /sys/block/mmcblk0/device/cid \ker ...

  4. 【Android驱动】闪光灯flashlight的记录

    拿来主义~ mt6580,mt6739闪光灯调试日记: https://blog.csdn.net/zhigouliu/article/details/77836000?utm_medium=dist ...

  5. 【MTK】flashlight驱动部分调试

    1.闪光灯校准 使用adb命令的方式在正常开机环境下做flash 校准,步骤如下: -1- adb shell setprop z.flash_ratio 1 -2- 全黑环境下,请将手机固定,对着白 ...

  6. 20. FlashLight调试日志

    零.闪光灯配置步骤(以真闪IC:DIO5151为例): 1. 查看硬件原理图,得知闪关灯IC接在cpu的哪两个GPIO上:main_flashlight:(后闪)enable : GPIO43mode ...

  7. 如何配置LCD背光和LED,调试方法

    LCD背光和LED配置文件 alps/custom/<proj name>lk/cust_leds.c alps/custom/<proj name>/kernel/leds/ ...

  8. [LED]如何配置LCD背光和LED,调试方法

    [LED]如何配置LCD背光和LED,调试方法 [DESCRIPTION] 如何配置LCD背光和LED,调试方法 [SOLUTION] LCD背光和LED配置文件 alps/custom/<pr ...

  9. 第3章 Linux内核调试手段之二

    =================== gdb 和 addr2line 调试内核模块 内核模块插入内核链表的时候,会调用 init 里面的程序,我们上面给的那个例程的程序因为是经过多年风吹雨打的,但是 ...

最新文章

  1. 利用中断在 ESP32 MicroPython 程序中读取AM2302
  2. 论初始值的重要性-仅仅是更改初始值loss差别就非常大
  3. 用 VC++ 2008 编写 Windows Service(系统服务)
  4. Nginx的rewrite之set指令
  5. 同一进程中的线程究竟共享哪些资源
  6. 英特尔强势上新一大波数据产品,小伙伴们“奔走相告”…… | 极客头条
  7. 多方计算时,每次结果都存在着巨大隐患,如何解决
  8. puppet 横向扩展(三)
  9. java 字符串 日期格式化_Java8常用日期格式化字符串日期相互转换
  10. 使用socks5代理实现SSH安全登录
  11. Canceled future for execute_request message before replies were done The Kernel crashed while execut
  12. Excel 查找函数
  13. 3.音视频工作流程分析 — OSD
  14. 什么是4G工业智能网关?与DTU有什么区别
  15. Java实现打开浏览器的N种办法
  16. 小写金额转为中文大写
  17. Java实现首字母大写
  18. Python list 列表方法
  19. SVG开发包, 20 个有用的 SVG 工具,提供更好的图像处理
  20. 微信小程序毕业设计 基于javaweb后台网上书店图书商城小程序系统毕业设计

热门文章

  1. Android百度地图实现定位
  2. 访问不了echarts
  3. vs+Qt+GLEW配置
  4. Pyecharts 组合图形绘制实践
  5. 超详细!搭建本地大数据研发环境(16G内存+CDH)
  6. IDEA的打断点以及facets和artifacts的讲解以及Datebase 使用技巧
  7. 提权—Linux 定时任务环境变量数据库
  8. IP地址192.168.1.1/24中的/24是什么意思
  9. Ubuntu18.04配置Seetaface6
  10. 升降桌有哪些类型种类