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端进行编写

Android ATCID客制化AT命令,,5-wow.com

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。