Android ATCID客制化AT命令

前言
         欢迎大家我分享和推荐好用的代码段~~
声明
         欢迎转载,但请保留文章原始出处:
         CSDN:
http://www.csdn.net
         雨季o莫忧离:http://blog.csdn.net/luckkof

正文

 

ATCID主要用来处理PC端传输过来的AT命令,从AT命令实际处理的地方来说,主要分为3类:
1. 需要Modem来处理的AT命令;
2. 需要在native层来处理的AT命令(在atcid内部处理和在其他module处理);
3. 需要在Java层来处理的AT命令。
针对这3类,需要在ATCID不同的地方来加入code实现。
 
在介绍如何客制化AT命令之前,先需要了解一下ATCID的架构,如下图:
 
框架图
 
上图红色方框内的表示了ATCID所包含的区域,其中:
1. tty连接的是PC端通过USB的设备文件;
2. dispatch module主要的功能是根据PC端发送过来的AT命令,看此AT命令是上述3类AT命令中的哪一类;
3. Atci_service用来处理Java层的AT命令;
4. Rild接收需要发送到Modem端处理的AT命令;
5. handler处理在atcid内部处理的AT命令(native层);
6. audio类似发送到其他module来处理的AT命令;
 
【AT客制化】
针对上述3类,需要在不同的地方来客制化:
1.  定制在atcid内部处理的AT命令(native层处理)
     1). 在atcid_cust_cmd.c中编写一个函数用来处理你的AT命令;
     2). 将你的AT命令的字符串,命令类型和处理函数填充到表格custom_cmd_table中,这个表格在atcid_cust_cmd_process.h中;
 
2.  定制在其他module处理的AT命令(native层处理)
     1). 将你的AT命令的字符串填充到表格generic_cmd_table中,这份表格在atcid_cmd_dispatch.h中定制
     2). 编写一个函数用来处理你的AT命令,将这个函数放在atci_service(native)目录中合适的文件里
     3). 将你的AT命令的字符串,命令类型和处理函数填充到表格generic_cmd_table中,这份表格在atci_generic_cmd_table.h中定义
 
3.  定制在Java层处理的AT命令
     1). 将你的AT命令填充到表格generic_cmd_table中,这份表格在atcid_cmd_dispatch.h中定义
     2). 将你的AT命令和类型填充到表格mmi_cmd_table中,这份表格在atci_generic_cmd_table.h中定义
     3). 在atciService.java中的initlizeAtparser函数里面注册你的CLASS用来处理AT命令
 
4.    如果是要定制在Modem处理的AT命令,那么ATCID这边并不需要做特别处理,只要输入的AT命令不适配ATCID这边定义的类型,那么就会将这条AT命令发送到Modem处理,那么具体客制化实现AT命令功能的code就需要在Modem端进行编写

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值