高通modem側新增AT命令

2021-08-10 03:43:16 字數 3952 閱讀 4278

modem側新增at命令

filename

description

dsat.h

atcop外部模組使用的定義,函式和資料結構

dsat.h

atcop外部模組使用的定義,函式和資料結構

dsati.h

atcop內部使用的定義,函式和資料結構

dsatprep.c

接收自串列埠裝置的資料的預處理

dsatpar.c

at命令解析器,將命令列的at命令解析到token結構中

dsatcmdp.c

at命令處理器,查詢token結構中的包含的命令並從命令列表中呼叫相應的命令處理函式處理命令

dsatrsp.c

產生at命令響應和格式化

dsatutil.c

產生at命令處理器

dsatparm.c

通用at引數型別命令過程

dsatarm.h

atcop內部使用的通用at引數型別命令處理定義,函式和資料結構

dsatact.c

通用atactive type命令處理函式

dsatact.h

通用at動作型別命令處理的定義、函式和資料結構,供atcop內部模組使用

dsatvend.c

通用at指定提供商型別命令處理

dsatvend.h

通用at指定提供商型別命令處理的定義、函式和資料結構,供atcop內部模組使用

dsatctab.c

通用at命令表

dsatctab.h

通用at命令表定義、函式和資料結構,供atcop內部模組使用

dsatcmif.c

通用呼叫管理介面

dsatcmif.h

通用呼叫管理介面定義、函式和資料結構,供atcop內部模組使用

dsatvoice.c

通用語音呼叫處理控制

dsatvoice.h

通用語音呼叫處理控制的定義、函式和資料結構,供atcop內部模組使用

dsatetsicall.c

etsi呼叫控制命令處理

dsatetsicall.h

etsi呼叫控制命令處理的定義、函式和資料結構,供atcop內部模組使用

dsatetsicmif.c

etsi命令呼叫管理介面

dsatetsicmif.h

etsi命令呼叫管理介面的定義、函式和資料結構,供atcop內部模組使用

dsatetsipkt.c

etsi包資料命令處理

dsatetsipkt.h

etsi包資料命令處理的定義、函式和資料結構,供atcop內部模組使用

dsatetsime.c

etsi移動裝置命令處理

dsatetsime.h

etsi移動裝置命令處理的定義、函式和資料結構,供atcop內部模組使用

dsatetsismsc.c

etsi短訊息服務命令處理

dsatetsismsa.c

etsi短訊息服務非同步事件處理

dsatetsismsu.c

etsi短訊息服務命令處理實體

dsatetsisms.h

etsi短訊息服務命令處理的定義、函式和資料結構,供atcop內部模組使用

dsatetsismsi.h

etsi短訊息服務命令處理的定義、函式和資料結構,供atcop內部模組的短訊息服務單元使用

dsatetsictab.c

etsiat命令表

dsatetsictab.h

etsiat命令表的定義、函式和資料結構,供atcop內部模組使用

dsatetsitgt.c

頂層at命令表,命令表指標陣列,etsi指定目標的命令表,同步事件處理表。定義etsi目標支援的at命令集

dsatgsmfax.c

gsmfax命令處理

dsatgsmfax.h

gsmfax命令處理的定義、函式和資料結構,供atcop內部模組使用

資料服務任務原始檔列表:

filename

description

dstask.h

資料服務任務的外部或內部模組使用的定義,函式和資料結構

dsatsk.c

資料服務任務和頂層分發

具體新增的過程:

以新增「+agmr」為例。

1、 定義指標變數:

在dsati.h下的dsat_ext_index_enum_type列舉陣列中新增乙個指標變數如下:

dsat_ext_agmr_idx = 12039,

2、 建立at命令和處理函式的對映:

在dsatctab.c下的dsat_basic_table_ex 資料下新增對映:

,3、 定義at命令

下面我們增加的是乙個最簡單的命令,name是」+agmr」,屬性是無引數。

在dsatctab_ex.c下的dsat_ext_table陣列中新增:

,4、 宣告處理函式

上面完成以後就能定義其實際的處理函式了,在定義之前,我們先要宣告一下,在dsatact.h下新增:

dsat_result_enum_type dsatact_exec_agmr_cmd

dsat_mode_enum_type  mode,              /* at command mode:            */

const dsati_cmd_type *parse_table,     /*  ptr to cmd in parse table   */

const tokens_struct_type *tok_ptr,     /*  command tokens fromparser  */

dsm_item_type *res_buff_ptr            /*  place to put response       */

5、 定義處理函式, 在dsatact.c下新增:

/*test-add yangxiangbin*/

dsat_result_enum_typedsatact_exec_agmr_cmd( 

dsat_mode_enum_type  mode,              /*  at command mode:            */

const dsati_cmd_type *parse_table,     /*  ptr to cmd in parse table   */

const tokens_struct_type *tok_ptr,     /*  command tokens fromparser  */

dsm_item_type *res_buff_ptr            /*  place to put response       */

dsat_result_enum_type result= dsat_ok;  

static char info[32] = "at_commands

_test";

if((tok_ptr->op == (na|eq|ar)) ||

(tok_ptr->op == (na|eq|qu)) ||

(tok_ptr->op == (na|qu)) ||

(tok_ptr->op == (na)))

res_buff_ptr->used =(word) strlcpy((char*)res_buff_ptr->data_ptr,

(const char*)info,

res_buff_ptr->size);

/*command does not make sense */

else

result = dsat_error;

return result;

} /* dsatetsime_exec_agmr_cmd() */

超級終端輸入at+agmr

at+agmr

at_commands

_test

ok

高通平台在modem側讀取和設定GPIO狀態

高通msm8953平台有乙個需求 需要在modem側讀取和設定gpio狀態,這樣就可以識別不同的硬體版本,從而載入不同的射頻nv檔案。使用gpio134和gpio62來檢測不同硬體的上下拉來識別,如下圖 修改 begin stone added for gpio in dal apis includ...

高通機器擦除modem

問題現象 手機開機變黑屏 自動關機,開不了機。解決辦法 擦除qcn,清除modem。命令如下 adb reboot bootloader fastbooterase modemst1 fastbooterase modemst2 fastboot reboot modemst1 modemst2 f...

高通編譯命令

開啟終端輸入下面命令 1.source build envsetup.sh 2.lunch 選擇相應的序號或輸入要編譯的專案名稱,一般都是eng或userdebug軟體。如果要編譯user版本,就不需要輸入lunch,輸入如下命令之前請先把工程clean再輸入如下命令,否則會出錯 make devi...