一键进入高通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


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 怎么把日期格式化时间_如何实现java日期格式化?

    小编典典使用LocalDateTime#parse()(或ZonedDateTime#parse()如果字符串恰巧包含时区部分)将String特定模式中的解析为LocalDateTime。Stringoldstring=”2011-01-1800:00:00.0″;LocalDateTimedatetime=LocalDateTime.parse(oldstring,DateTim…

    2022年4月7日
  • DENSENET_rennet

    DENSENET_rennet1.首先对深度学习做一个简单的回顾2.介绍DenseNet1.1DNN回顾如下图所示是一个基本DNN结构,通过forward传播和backword传播来训练一个模型包含input层,L个隐藏层和一个output隐层使用的sigmoid激活函数一般的优化方法有如下几种GD:对所有样本计算完一次梯度然后更新权重SGD:每个样本计算一次梯度就更新权重

    2022年9月29日
  • 软件著作权的源代码_软件著作权源码被泄露

    软件著作权的源代码_软件著作权源码被泄露packagecom.example.shuoya;importjava.util.Set;importandroid.content.BroadcastReceiver;importandroid.content.Context;importandroid.content.Intent;importandroid.database.Cursor;importandroid.data…

    2022年9月22日
  • endnote转化成纯文本后_EndNote X7如何去掉域代码生成纯文本文件

    endnote转化成纯文本后_EndNote X7如何去掉域代码生成纯文本文件满意答案czpunk2016.08.17采纳率:58%等级:9已帮助:2963人现在很多杂志都要求作者提供电子文稿。格式化后的文稿含有大量域代码,有可能与杂志社的软件不兼容,因此提交前需要去掉文稿里的域代码。方法是从Word的工具栏里进入“EndNote7.0”子菜单选择点击“RemoveFieldCodes”,出现一个提示框告诉你“该操作将创建一个新的去掉了所有域代码的Word文档,…

    2022年5月28日
  • mysql和mysql数据库的区别_sql数据库怎么用

    mysql和mysql数据库的区别_sql数据库怎么用什么是SQL?SQL是一种用于操作数据库的语言。SQL是用于所有数据库的基本语言。不同数据库之间存在较小的语法更改,但基本的SQL语法基本保持不变。SQL是StructuredQueryLanguage的简短缩写。根据ANSI(美国国家标准协会),SQL是操作关系数据库管理系统的标准语言。SQL用于访问,更新和操作数据库中的数据。它的设计允许管理RDBMS中的数据,例如MYSQL…

    2022年10月2日
  • Activity 工作流框架学习总结「建议收藏」

    Activity 工作流框架学习总结「建议收藏」环境的搭建和数据表的了解1.什么是工作流?工作流(Workflow),就是“业务过程的部分或整体在计算机应用环境下的自动化”,它主要解决的是“使在多个参与者之间按照某种预定义的规则传递文档、信息或任务的过程自动进行,从而实现某个预期的业务目标,或者促使此目标的实现”。工作流管理系统(WorkflowManagementSystem,WfMS)是一个软件系统,它完成工作量的定义

    2022年5月7日

发表回复

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

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