[DESCRIPTION]
目前只有在Modem版本上,才能支持AT+CPBF功能;在MMI版本上不支持CPBF;为了在MMI版本实现AT+CPBF:MMI并没有支 持CPBF的相关接口;由于MMI版本,L4C也没有记录电话本的数据,所以需要通过MMI来获取数据;所以,借用CPBR的接 口,从MMI读数据,然后在L4C分析比较数据;符合条件的就通过UART上报。

[SOLUTION]
下面的代码在09B0952上验证通过。
修改了三个函数,请注意对比区分添加修改的代码;
rmmi_cpbf_hdlr
l4cphb_read_response_handler
rmmi_phb_entry_rsp_fmttr
1,voidrmmi_cpbf_hdlr(rmmi_string_struct*source_string_ptr)
{
kal_boolret_val=KAL_FALSE;
kal_uint8const*rsp_str=NULL;
kal_uint16string_length=0;
//#ifdefined(__PHB_SORT_ENABLE__)
kal_uint8result;
kal_uint8length;
kal_uint8text[32];
l4_name_structname;
//#endif
kal_uint8buffer[RMMI_SHORT_RSP_LEN];
kal_uint8alpha_length;
kal_uint8num_length;
rmmi_context_struct*rmmi_ptr=RMMI_PTR;
kal_uint16index;
kal_uint8i;
kal_trace(TRACE_FUNC,FUNC_RMMI_CPBF_HDLR_ENTRY);
if(L4C_PTR->phb_ready_flag==KAL_FALSE)
{
rmmi_ptr->cmee_err=OPERATION_NOT_ALLOWED_ERR;
}
else
{
switch(source_string_ptr->cmd_mode)
{
caseRMMI_TEST_MODE:
{
if(rmmi_is_valid_phb_storage(rmmi_ptr->phb_storage_type)==KAL_TRUE)
{
rmmi_get_phb_length(&alpha_length,&num_length);
kal_sprintf((kal_char*)buffer,"+CPBF:%d,%d",num_length,alpha_length);
ret_val=KAL_TRUE;
rsp_str=&buffer[0];
string_length=strlen((char*)rsp_str);
}
break;
}
caseRMMI_SET_OR_EXECUTE_MODE:
{
#ifdefined(__PHB_SORT_ENABLE__)
result=rmmi_string_validator(
source_string_ptr,
rmmi_ptr->s_reg.s3,/*separator*/
30,
(kal_uint8*)text);
if(result==RMMI_VALIDATOR_ERROR)
{
break;
}
if((rmmi_ptr->char_set==RMMI_CHSET_UCS2)||(rmmi_ptr->char_set==RMMI_CHSET_HEX))
{
//wedon'tsupport+CPBFforUCS2.
rmmi_ptr->cmee_err=RMMI_ERR_OPERATION_NOT_SUPPORTED;
break;
/*converttoucs2valueandstoreinalpha_id
isUCS2format=check_ucs2_value((kal_uint8*)text,(kal_uint8*)name.name);
if(isUCS2format==KAL_FALSE)break;
name.name_length=strlen((char*)text)/2;
name.name_dcs=PHB_UCS2;*/
}
else
{
length=strlen((char*)text);
name.name_length=length;
kal_mem_cpy((kal_uint8*)name.name,(kal_uint8*)text,length);
name.name_dcs=PHB_ASCII;
}
ret_val=l4c_phb_get_entry_by_prefix_text_req(
source_string_ptr->src_id,
PHB_PHONEBOOK,
15,
(l4_name_struct*)&name);
if(ret_val==KAL_TRUE)
{
return;
}
else
{
rmmi_ptr->cmee_err=RMMI_ERR_COMMAND_CONFLICT;
}
#else/*__PHB_SORT_ENABLE__*/
/*mtk01616_081106:searchfunctionneeDTUrnoncompileoption__PHB_SORT_ENABLE__tosupport*/
//rmmi_ptr->cmee_err=RMMI_ERR_OPERATION_NOT_SUPPORTED;
index=source_string_ptr->index;
result=rmmi_string_validator(
source_string_ptr,
rmmi_ptr->s_reg.s3,/*separator*/
30,
(kal_uint8*)text);
source_string_ptr->index=index;
if(result==RMMI_VALIDATOR_ERROR)
{
break;
}
if((rmmi_ptr->char_set==RMMI_CHSET_UCS2)||(rmmi_ptr->char_set==RMMI_CHSET_HEX))
{
//wedon'tsupport+CPBFforUCS2.
rmmi_ptr->cmee_err=RMMI_ERR_OPERATION_NOT_SUPPORTED;
break;
/*converttoucs2valueandstoreinalpha_id
isUCS2format=check_ucs2_value((kal_uint8*)text,(kal_uint8*)name.name);
if(isUCS2format==KAL_FALSE)break;
name.name_length=strlen((char*)text)/2;
name.name_dcs=PHB_UCS2;*/
}
else
{
length=strlen((char*)text);
/*name.name_length=length;
kal_mem_cpy((kal_uint8*)name.name,(kal_uint8*)text,length);
name.name_dcs=PHB_ASCII;
*/
//convertlowercaselettertouppercaseletter.
for(i=0;i<length;i++)
{
if((text>=0x61&&text<=0x7A)||/*Latinbasic*/
(text
>=0xE0&&text<=0xF6)||(text>=0xF8&&text<=0xFE))/*Latin-1*/

{
text
=text-0X20;

}
}
strncpy((char*)rmmi_ptr->cpbf_findtext,(char*)text,length);
}
//getinfothroughcpbr
{
kal_uint16total,used;
if(!l4c_phb_get_storage_info(source_string_ptr->src_id,rmmi_ptr->phb_storage_type,&used,&total))
{
rmmi_ptr->cmee_err=RMMI_ERR_UNKNOWN;
mEMSet(rmmi_ptr->cpbf_findtext,0,sizeof(rmmi_ptr->cpbf_findtext)-1);
}
else
{
kal_uint8*string;
string=get_ctrl_buffer(40);//kal_uint8cpbf_findtext[30];
kal_wsprintf((WCHAR*)string,"at+cpbr=1,%d",total);
ucs2_to_ascii((kal_wchar*)string,(kal_uint8*)source_string_ptr->string_ptr);
free_ctrl_buffer(string);
source_string_ptr->cmd_index=53;//cpbr
rmmi_cpbr_hdlr(source_string_ptr);
}
}
#endif/*__PHB_SORT_ENABLE__*/
break;
}
default:
{
/*unrecognizedformatofATcommandline*/
break;
}
}/*endoftheswitch*/
}
//#endif
rmmi_final_rsp_generator(source_string_ptr->src_id,ret_val,(kal_uint8*)rsp_str,string_length);
return;

}

资料只有部分内容,阅读完整资料,请到一牛网论坛 MT2503

mt2503 在MMI版本实现AT+CPBF相关推荐

  1. 【Android】【TP】TP开发常见问题分析

    TP开发常见问题&分析 1.TP重点关注范围以及checklist 先附录上TP的内部checklist,所有在列内容都为常见问题切比较严重问题,如下: 上下电时序 Operating Vol ...

  2. 【Android】【TP】TP开发常见问题分析产线检测CTP单体异常

    TP开发常见问题&分析 1.TP重点关注范围以及checklist 先附录上TP的内部checklist,所有在列内容都为常见问题切比较严重问题,如下: 上下电时序 Operating Vol ...

  3. MTK 驱动(45)---TP 问题汇总

    http://blog.csdn.net/wlwl0071986/article/details/8302135 No.1 现象描述:进入浏览器,网页放大和缩小效果差 原因分析:由于TP抖动导致该问题 ...

  4. 拉勾教育 | Java 性能优化实战 21 讲

    开篇词 开篇词 | Java 性能优化,是进阶高级架构师的炼金石 你好,我是李国.作为<Java 性能优化与面试 21 讲>这个课程的作者,我先来简单介绍下自己. 我曾任京东金融.陌陌科技 ...

  5. MT2503的SDK到底有几个版本

    想基于MT2503做一个模块方案,在一牛里上买了个SDK,但是SDK带MMI,而且AT指令很少,就想问一下,是不是MT2503的SDK有好几种,其中就有不带MMI而且支持所有AT指令的SDK? 问题来 ...

  6. mt2503 Phonebook 开机初始化过程

    [DESCRIPTION] MT2503Phonebook开机后如何把nvram和SIM中的电话本记录读到MMI来的? [SOLUTION] 09B以前的版本适用: Phonebook开机后最先有L4 ...

  7. 连接黑屏_连接百度Carlife后,MMI黑屏了?

    最近 有的小伙伴可能遇到下面的问题 ↓ 在连接了百度Carlife以后 MMI显示屏是黑屏状态 不能显示百度Carlife的界面 但是手机已经明显连接到车上 这是怎么回事呢 ? 原来都是升级惹的祸,为 ...

  8. MMI of UIQ

    在这篇文档中,我想从实际编程的角度通过提供UI和关键代码分析来总结一下UIQ涉及到各种View,Dialog和control.  这样做至少有三个好处: 提供一个公共的测试代码的平台.主要用于日常开发 ...

  9. Karel版本的nnet1

    除了chain,nnet1, nnet2, nnet3训练时调整转移模型,chain模型使用类似与MMI的训练准则 概要 Karel Vesely的nnet1用到以下技术: 每一层进行预训练,基于RB ...

最新文章

  1. C++ 通过模版工厂实现 简单反射机制
  2. 网站打开速度多少毫秒为正常_诠网科技|网站优化中跳出率多少才是合理的?...
  3. 分布式光伏补贴_光伏发电上网电价政策综述
  4. Android 开发环境在 Windows7 下的部署安装
  5. 调试利器:浏览器 Logger
  6. 卖萌屋学术站开放注册啦!寻募种子用户,超多特权放出!
  7. 重新启动系统中的network服务器,linux系统调优-Network
  8. flask manage port_后端Python3+Flask结合Socket.io配合前端Vue2.0实现简单全双工在线客服系统...
  9. idea开发搭建scala项目流程(二)
  10. centos查询是否有安装软件包
  11. java APIs for xml --------dom(2)
  12. POJ 3581:Sequence(后缀数组)
  13. Spring简单的定时器
  14. 九章算法班L6 Graph Search
  15. 2022年Web前端开发流程和学习路线(详尽版)
  16. c1侧方停车技巧图解解析停车要点
  17. JavaScript编写答题评分功能页面
  18. PTA7-22 龟兔赛跑
  19. 【Centos】Docker停止容器服务后,磁盘I/O仍然迟迟不下降。(未解决)
  20. 2020-8-15词汇

热门文章

  1. 《JSP程序设计》手机销售网后台设计
  2. 基于java的CRM客户关系管理系统的设计与实现
  3. 百济神州宣布在上交所科创板IPO定价每股192.6元;云顶新耀提出奥密克戎疫苗开发战略 | 医药健闻...
  4. android 如何分析卡顿问题
  5. linux 内存各指标,Linux 内存性能指标
  6. 来聊一聊那个很牛逼的极光推送
  7. 计算机绘图c2是什么,Cad里c2表示(cad中C1(C2)这样的符号是什么意思)
  8. java读写word文档,完美解决方案
  9. php天花板好吗,最近听了听平头塞天花板瑞弦D3,说说感受(对比钛铃)
  10. matlab储备池算法,储备池计算概述