Android8.0 高通PDAF 调试 - actuator sensitivity

有一说一

遇到的问题点
调试过程中发现进不来pdaf流程 log显示如下:

01-01 08:08:54.425  2414  6352 D mm-camera: <STATS_AF ><  LOW> 3994: af_port_handle_module_event: Handle AF module event of type: 0
01-01 08:08:54.425  2414  6352 D mm-camera: <STATS_AF ><  LOW> 3158: af_port_handle_sensor_update: Sensor Res width: 4208 height: 3120 FocalLength: 3.460000 and FNum: 2.200000
01-01 08:08:54.425  2414  6352 E mm-camera: <STATS_AF ><ERROR> 3167: af_port_handle_sensor_update: Depth_Err: actuator sensitivity: 0.000000 is invalid
01-01 08:08:54.425  2414  6352 D mm-camera: <STATS_AF ><  LOW> 3173: af_port_handle_sensor_update: Depth_Err: pdaf cal data from sensor supported 1 pdaf_ptr 0xef1e401001-01 08:08:54.701  2414  6370 D mm-camera: <STATS_AF ><  LOW> 4216: af_port_handle_module_event: Received PDAF stats: frame_id: 3, buf_idx: 0
01-01 08:08:54.701  2414  6370 D mm-camera: <STATS_AF >< HIGH> 3831: af_port_handle_pdaf_stats: Depth_Err Pdaf not supported. Shouldn't get PDAF stats

问题分析:

Review 代码发现逻辑如下:

/* update depth service cal data */af_port->ds_input.cal_data.eff_focal_length = sensor_info->actuator_info.focal_length;af_port->ds_input.cal_data.f_num = sensor_info->actuator_info.af_f_num;af_port->ds_input.cal_data.pixel_size  = sensor_info->actuator_info.af_f_pix;af_port->ds_input.cal_data.is_pdaf_supported = sensor_update->is_pdaf_supported;af_port->ds_input.cal_data.actuator_sensitivity = sensor_update->actuator_sensitivity;if(sensor_update->actuator_sensitivity <= 0) {AF_ERR("Depth_Err: actuator sensitivity: %f is invalid",sensor_update->actuator_sensitivity);rc = FALSE;}if(sensor_update->is_pdaf_supported && FALSE == rc) {AF_LOW("Depth_Err: pdaf cal data from sensor supported %d pdaf_ptr %p",sensor_update->is_pdaf_supported, sensor_update->pdaf_data);af_port->ds_input.cal_data.is_pdaf_supported = 0;}

actuator_sensitivity invalid时, 无法启用pdaf support
那么这个问题是哪里来的呢?
sensor初始化的时候 我们可以发现 计算actuator_sensitivity的过程

boolean module_sensor_actuator_init_calibrate(module_sensor_bundle_info_t *s_bundle)
{/* calcualte actuator sensitivityassuming total_steps is tuned to number of um */s_bundle->actuator_sensitivity =(float)af_driver_ptr->actuator_tuned_params.region_params[0].qvalue /af_driver_ptr->actuator_tuned_params.region_params[0].code_per_step;}/* protect the qvalue */else {af_driver_ptr->actuator_tuned_params.region_params[0].qvalue = 1;}
}

这个时候 需要马达的qvuale值,经过对比
发现马达驱动没有此设置
遂改之

    .actuator_tuned_params ={.scenario_size ={2, /* MOVE_NEAR */3, /* MOVE_FAR */},.ringing_scenario ={/* MOVE_NEAR */{36,243,},/* MOVE_FAR */{72,198,243,},},.initial_code = 136,.region_size = 1,.region_params ={{.step_bound ={243, /* Macro step boundary*/0, /* Infinity step boundary*/},.code_per_step = 1,.qvalue = 1,},},

Android8.0 高通PDAF 调试 - actuator sensitivity相关推荐

  1. 高通摄像头调试(OV8856)

    http://blog.chinaunix.net/uid-7213935-id-5749314.html 一.硬件分析 在调试的时候,一定要拿到电路图,模组规格书,SENSOR IC datashe ...

  2. 高通安卓调试LCD几方面总结

    来公司上班现在已经整整一个月了,蔽人不才,能力有限,学习进度缓慢,不过也是有一点点的收获与心得,在这里写出来与大家分享,养成良好的记录习惯也免得后忘记. 不啰嗦了,开入正题.来公司一个月左右的时间,主 ...

  3. 高通 wlan 调试总结随笔

    高通 wlan 调试总结随笔 1. 进入ftm模式 2. 抓取wifi log 2.1 抓取 Android log 2.1.1 How to enable wifi verbose log? 2.1 ...

  4. 高通camera调试

    高通camera驱动分析 ./qcom/proprietary/mm-still/codec_v1/omx/jpeg_encoder/Android.mk:15:CHROMATIX_VERSION : ...

  5. 高通快速调试命令集合---持续更新

    scp拷贝文件 scp -P xxxx -r chenqw@xxx.xxx.xxx.xxx:/home/zhangx/.ssh/chenqw@ubuntu208.pub . 高通Android9.0查 ...

  6. Android6.0 高通平台 is 32-bit instead of 64-bit 问题

    做高通项目时碰高一个问题:有些apk在32位平台上运行没问题,但是在64位平台上出现crash,出错信息如下: java.lang.UnsatisfiedLinkError: dlopen faile ...

  7. android 6.0 高通平台sensor 工作机制及流程(原创)

    最近工作上有碰到sensor的相关问题,正好分析下其流程作个笔记. 这个笔记分三个部分: sensor硬件和驱动的工作机制 sensor 上层app如何使用 从驱动到上层app这中间的流程是如何 Se ...

  8. android 6.0 高通平台sensor 工作机制及流程

    最近工作上有碰到sensor的相关问题,正好分析下其流程作个笔记. 这个笔记分三个部分: sensor硬件和驱动的工作机制 sensor 上层app如何使用 从驱动到上层app这中间的流程是如何 Se ...

  9. 保姆级高通AEC9调试指南(看完可解决80%AE相关问题)

    Initial Tuning 默认ISO 100相当于1倍gain,有的2倍,可自行设置. Exposure table Vertical Blanking Time=1/max_fps/FrameL ...

最新文章

  1. 【图论专题】欧拉路径和欧拉回路
  2. 在线作图|如何绘制一张好看的点棒图
  3. centos 安装 openfire
  4. 【Spark-core学习之九】 Spark案例
  5. vue一级分类和耳机分类_【Vue+DRF生鲜电商】10.商品分类层级获取,Vue跨域请求商品分类...
  6. CG CTF WEB /x00
  7. no signatures that match those in shared user android.uid.system; ignoring!
  8. 常见的两个面试题以及面试的心态
  9. Python+OpenCV:图像快速角点检测算法(FAST Algorithm for Corner Detection)
  10. MongoDB:MapReduce基础及实例
  11. 【Anaconda】Anaconda 环境操作(新建/激活/退出/删除/克隆/重命名)
  12. BG2RHE - Arduino控制TM1640芯片LED流水灯测试
  13. RadioGroup 全部取消选中 和选中某个按钮
  14. 前端javaScript模板引擎之ArtTemplate
  15. 用文本挖掘回顾2017年的一些人与事
  16. 【智能车竞赛】第18届比赛规则整理以及往届对比
  17. Canvas学习:绘制箭头
  18. 解决:-bash redis-server 未找到命令
  19. 【收藏】eos是什么币?如何购买和储存eos币 —— 教科书式操作
  20. AHB2APB桥接器设计(1)——基本原理

热门文章

  1. http协议报头详解
  2. 从零开始学习CAN总线协议(一)
  3. java算法竞赛必备之快读快写(超详细解读)
  4. commons-logging使用
  5. (免费分享)基于springboot,vue公司财务系统
  6. 2021年9月16日
  7. 百练noi 22:神奇的幻方
  8. 支付宝证书模式(转账给其他支付宝)
  9. 转: X-UA-Compatible content=IE=7 的意思
  10. iphone11屏比例_iPhone11屏幕多大尺寸?分辨率和PPI是多少?