【Android Camera】马达相关

博客主要讲述了在Android相机应用中遇到的马达相关问题及其解决方案。首先,为了解决相机退出时马达没有回到初始位置导致的咔嚓声,通过在特定代码处设置reset_lens为TRUE来调用马达移动函数。然而,这又引发了相机无法正常进入的问题,原因是相机初始化不完整。通过检查并处理空指针解决了此问题。其次,针对退出相机时马达碰撞声音明显的情况,调整了马达回退步数以减少碰撞,优化了msm_actuator_park_lens函数中的步数计算逻辑。
摘要由CSDN通过智能技术生成

(1)最初问题:camera后摄在退出时,马达没有恢复到默认的位置就直接断电了,会听到有咔嚓的一声。

在module_sensor.c中添加如下代码,可解决马达的声音。

if(module_params!=NULL && module_params->func_tbl.process!=NULL){
    af_update.reset_lens = TRUE;
    module_params->func_tbl.process(module_params->sub_module_private,
    ACTUATOR_MOVE_FOCUS, &af_update);
}

以上把reset_lens 设置为TRUE,在文件actuator.c中,会调用马达移动的函数,即退出camera时把马达的步数恢复到最初始的状态。

  if (af_update->reset_lens == TRUE) {
    SLOW("calling af_actuator_set_default_focus");
    rc = af_actuator_set_default_focus(ptr);
    if (rc < 0) {
      SERR("failed rc %d",  rc);
    }
    return rc;

修改之后导致的问题:导致camera无法进入,cts测试无法通过,及死机等问题(最初以为只有cts测试时才有问题,现在发现其他场景下(包括桌面滑动进入camera,skype等)也会导致camera出错)<

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值