一键进入高通9008模式_如何进入高通模式

一键进入高通9008模式_如何进入高通模式Android8.0高通PDAF调试-actuatorsensitivity有一说一遇到的问题点调试过程中发现进不来pdaf流程log显示如下:01-0108:08:54.42524146352Dmm-camera:<STATS_AF><LOW>3994:af_port_handle_module_event:HandleAFmoduleeventoftype:001-0108:08:54.42524146352

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

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 0xef1e4010

01-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 sensitivity assuming 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,
        },
      },
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/197487.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • Android Framework中的Application Framework层介绍「建议收藏」

    Android Framework中的Application Framework层介绍「建议收藏」  Android的四层架构相比大家都很清楚,老生常谈的说一下分别为:  Linux2.6内核层,核心库层,应用框架层,应用层。我今天重点介绍一下应用框架层Framework。        Framework层为我们开发应用程序提供了非常多的API,我们通过调用特殊的API构造我们的APP,满足我们业务上的需求。写APP的人都知道,学习Android开发的第一步就是去学习各种各样的API,什…

    2022年10月15日
  • table 样式美化

    1.单像素边框CSS表格这是一个很常用的表格样式。源代码:1<!–CSSgoesinthedocumentHEADoraddedtoyourexternalstylesheet–>2<styletype=”text/css”>3table.gridtable{4f…

  • C语言中%c与%s的区别与划分「建议收藏」

    C语言中%c与%s的区别与划分「建议收藏」%c格式对应的是单个字符,%s格式对应的是字符串。例:chara;charb[20];scanf("%c",&amp;a);//只能输入一个字符。scanf("%s",b);//可以输入一串不超过20字符的字符串。%c对应类型为char,%s对应类型为char,即字符串.用作输入时,二者参数都要传char型.%c输入函数只会对一个字节空间赋值.而%s会一直赋值,直到输入中遇…

  • npm 淘宝镜像使用[通俗易懂]

    【npm】利用npm安装/删除/发布/更新/撤销发布包目录什么是npm?利用npm安装包npm安装的方式——本地安装和全局安装利用npm删除包删除全局模块删除本地模块利用npm发布包第一次发布包:非第一次发布包:利用npm撤销发布包npm更新发布后的包:&nbsp;正文&…

  • 云生态:云计算棋局中的“胜负手”

    云生态:云计算棋局中的“胜负手”

  • 关于struts2的error filterStart问题的解决

    关于struts2的error filterStart问题的解决eclipse下部署好项目启动的时候出现errorfilterStart错误,参考了网上的资料,发现很多人遇到。有一篇帖子帮到了我。是关于这个问题的总结。根据那个帖子的提示,我认为是我的tomcat安装路径的问题。我的tomcat安装在了d:\programfiles下,后来我将tomcat移到了D盘根目录下重新部署启动,问题就没有了。至于为什么会这样,那个帖子上有一个解释,但是我不是太明白。

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号