如何分开设定sim卡插卡和拔卡的debounce time

本文探讨了如何针对SIM卡的插入和拔出操作,分别设置合适的debounce time,以确保设备能准确识别并响应这些变化。
摘要由CSDN通过智能技术生成

如何分开设定sim卡插卡和拔卡的debounce time

目前MTK的设计,插卡跟拔卡时间是一样的,都是来自于codegen.dws中的配置。
但是有时候客户想插卡和拔卡设定不同的时间,插卡时间可以设置长一些,确保卡放好后再上电,拔卡时可以设短一些,让卡可以及时下电。
这个想法可以实现,修改方法参考如下:
modem侧的代码:custom_sim_driver.c
1. void sim_hot_plug_eint_cb_rm_h_common(kal_uint32 idx, SIM_ICC_APPLICATION app)
{
if (iccHotPlugTable[idx].polarity == LEVEL_HIGH)
{
/* Remove card: polarity LEVEL_HIGH. When interrupt occurs, we should change it to
LEVEL_LOW
otherwise we will alwasy receive interrupt */
iccHotPlugTable[idx].removed = KAL_TRUE;
if (iccHotPlugTable[idx].plugOutcb != NULL)
{
#if defined(__SIM_HOT_SWAP_POLL_TIMER__)
SIM_PlugEvent_Poll_Timer_Cb(app);
#else
iccHotPlugTable[idx].plugOutcb(app);
#ifdef SIM_HOT_SWAP_V2
SIM_PlugEvent_Cb(app);
#endif
#endif
}
#if defined (__DUAL_SIM_HOT_SWAP_CO_DECK_SUPPORT__)
iccHotPlugTable[SIM_ICC_APPLICATION_PHONE2].removed = KAL_TRUE;
if (iccHotPlugTable[SIM_ICC_APPLICATION_PHONE2].plugOutcb != NULL)
{
#if defined(__SIM_HOT_SWAP_POLL_TIMER__)
SIM_PlugEvent_Poll_Timer_Cb(SIM_ICC_APPLICATION_PHONE2);
#else
iccHotPlugTable[SIM_ICC_APPLICATION_PHONE2].plugOutcb(SIM_ICC_APPLICATION_PHONE2);
#ifdef SIM_HOT_SWAP_V2
SIM_PlugEvent_Cb(SIM_ICC_APPLICATION_PHONE2);
#endif
#endif
}
#endif
iccHotPlugTable[idx].polarity = LEVEL_LOW;
#if defined (__DUAL_SIM_HOT_SWAP_CO_DECK_SUPPORT__)
iccHotPlugTable[SIM_ICC_APPLICATION_PHONE2].polarity = LEVEL_LOW;
#endif
kal_sprintf(sim_dbg_custom_str,"[SIM_CUS_DRV:%d]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值