• 易迪拓培训,专注于微波、射频、天线设计工程师的培养
首页 > ADS > ADS使用问答 > 怎样解决多次插拔耳机有KEY_PLAYPAUSE事件产生的问题

怎样解决多次插拔耳机有KEY_PLAYPAUSE事件产生的问题

录入:edatop.com    点击:
[DESCRIPTION]
在拨打电话过程中,拔插耳机如果有KEY_PLAYPAUSE事件会导致MIC静音功能触发。
插拔过程中由于受到耳机插槽结构的影响,正常速度拔出耳机会概率存在检测到三段式耳机的情况,这样就误认为检测到了按键。
[SOLUTION]
修改文件:
alps\kernel-
3.10\drivers\misc\mediatek\mach\$platform\$project\accdet\accdet_custom.c
#if defined ACCDET_EINT || defined ACCDET_EINT_IRQ
static struct heADSet_mode_settings cust_headset_settings = {
0x900, 0X200, 1, 0x1f0, 0x800, 0x800, 0x20
};
#else
0x20表示耳机拔出的accdet PMIC中断延迟时间,accdet的时钟为32K,这样0x20表示
时间为(0x20/32K)=1ms
可以把0x20修改为0x4000,这样debounce时间为(0x4000/32K)=512ms
调大该数值的目的是,拔出耳机的时候让accdet pmic中断延迟,让耳机插拔的
EINT先产生,
这样在拔出耳机的EINT里面会把accdet关闭掉,这样accdet就不会检测耳机按键了
,就不会有按键上报。

mark一下

申明:网友回复良莠不齐,仅供参考。如需专业帮助,请学习易迪拓培训专家讲授的ADS视频培训课程

上一篇:code如何集成Biquads参数功能
下一篇:求 ADS工艺库在哪下载

ADS培训课程推荐详情>>

  网站地图