距感校准-通话黑屏不亮屏

距离传感器校准-通话黑屏不亮屏

通话黑屏不亮的成因

目前造成通话黑屏问题的原因主要是距感在使能后数据不稳定造成的。在代码中没有充分的去考虑数据不稳定造成的结果,针对数据不稳定进行过滤。

距感动态校准一般流程

使能距感后,校准便会立即开始,程序会抓取一个距感数据A(此时的数据通常不稳定)并记录。然后会继续抓取距感数据与数据A做比较,物体的靠近与远离会使距感数据变化,当抓取的数据与数据A的差值大于一个给定的值(由程序中设置的一个常量)时,开始重新设置距感门限。

门限设置公式:靠近门限=数据A+靠近设定值,远离门限=数据A+远离设定值,其中设定值为根据距感实测值来填充。

距感的底噪值为距感不被遮挡且数据稳定时的值。

通常抓取的数据A和距感底噪是不相等的,并且数据A比底噪小。

距感上报远离和靠近的条件

当距感数据大于靠近门限时,距感上报靠近状态。当距感数据小于远离门限时,距感上报远离状态。

数据不稳定的两种情况及优化方案

数据不稳定阶段出现在使能距感之后的一小段时间内

1.数据为0

数据为0时,门限会被设置的很小,而底噪很大概率会大于靠近门限,打电话时,直接黑屏。

数据为0这种情况很少见,可以对数据进行判断,直接过滤掉。

2.数据偏差大

距感在使能后,校准流程中抓取的第一个数据A和底噪的差值大。当差值大于远离设定值时,打电话靠近黑屏后,再远离屏幕不会亮。

这种情况比较难完全杜绝,可以从下面几个方法优化:

  • 读取距感数据寄存器的状态位,来判断数据是否准备好。这种方法依然会出现数据偏差。

  • 在使能距感后延迟一段时间再读取数据。在使能距感后,随着时间的推移,数据会增大至底噪值。

  • 增加远离设定值。远离设定值增大相当于远离门限增大,而底噪是不变(指在一个小范围内波动)的,也能降低打电话出现不亮屏的几率。

在这里插入图片描述

预防措施

  • 为预防打电话直接黑屏。在失能距感时重设门限为默认值(默认值通常很大)。在使能距感后,第一时间距感数据就会小于远离门限,不会出现黑屏。
  • 为减少数据偏差的影响。在失能距感时记录一个距感数据,此时的数据是稳定的,并且数据值一定会大于或等于底噪,在使能距感后可能会第一时间用到这个稳定数据,这样设置的门限都会大于底噪,不会出现通话黑屏不亮屏。
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值