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

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • java substring 截取字符串_java substring 截取字符串的方法

    java substring 截取字符串_java substring 截取字符串的方法substring(参数)是java截取字符串的一个方法。它有两种传参的方式:第一种:publicStringsubstring(intbeginIndex)返回一个新的字符串,它是此字符串的一个子字符串,该字符串从指定索引出的字符开始,到此字符串末尾结束。第二种:publicStringsubstring(intbeginIndex,intendIndex)同样返回一个新的字符串,…

    2022年5月10日
    44
  • java面向对象三大特性「建议收藏」

    java面向对象三大特性「建议收藏」一、面向对象的概念面向对象是一种符合人类思维习惯的编程思想。现实生活中存在各种形态不同的事物,这些事物之间存在着各种各样的联系。在程序中使用对象来映射现实中的事物使用对象的关系来描述事物之间的联系,这种思想就是面向对象。提到面向对象,自然会想到面向过程,面向过程就是分析解决问题所需要的步骤,然后用函数把这些步骤一一实现,使用的时候一个一个依次调用就可以了。面向对象则是把解决的问题按照一定规则划分为多个独立的对象,然后通过调用对象的方法来解决问题。当然,一个应用程序会包含多个对象,通过多个对象的相互配合来

    2022年7月8日
    18
  • Bash Export命令「建议收藏」

    Bash Export命令「建议收藏」一.shell和export《1》用户登录到Linux系统后,系统将启动一个用户shell。在这个shell中,可以使用shell命令或声明变量,也可以创建并运行shell脚本程序。运行shell脚本程序时,系统将创建一个子shell。此时,系统中将有两个shell,一个是登录时系统启动的shell,另一个是系统为运行脚本程序创建的shell。当一个脚本程序运行完毕,脚本shell将终止,返回…

    2025年9月28日
    2
  • Java 数组转List的四种方式

    Java 数组转List的四种方式Java数组转List的四种方式第一种方式(未必最佳):使用ArrayList.asList(strArray)​ 使用Arrays工具类Arrays.asList(strArray)方式,转换完成后,只能对List数组进行查改,不能增删,增删就会抛出UnsupportedOperationException异常importjava.util.Arrays;importjava.util.List;publicstaticvoidDemo1(){String[

    2022年8月23日
    9
  • 约瑟夫环问题详解

    约瑟夫环问题详解在牛客网上做到一道题,是约瑟夫环的变型,所以借此学习一下新知识,并且巩固一下对题目意思的理解,这一篇仅作约瑟夫环问题的解释,下一篇再写题目:1.首先,我们先来了解一下什么是约瑟夫环问题:讲一个比较有意思的故事:约瑟夫是犹太军队的一个将军,在反抗罗马的起义中,他所率领的军队被击溃,只剩下残余的部队40余人,他们都是宁死不屈的人,所以不愿投降做叛徒。一群人表决说要死,所以用一种策略来先后杀…

    2022年6月4日
    34
  • FileStream读写文件「建议收藏」

    FileStream读写文件「建议收藏」FileStream读写文件FileStream类:操作字节的,可以操作任何的文件StreamReader类和StreamWriter类:操作字符的,只能操作文本文件。1、FileStream类FileStream类命名空间: System.IO(1)构造函数:FileStream(String, FileMode):使用指定的路径和创建模式初始

    2022年7月24日
    34

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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