FreeCalypso > hg > freecalypso-sw
annotate gsm-fw/g23m-aci/aci/ati_src_rvt.c @ 923:10b4bed10192
gsm-fw/L1: fix for the DSP patch corruption bug
The L1 code we got from the LoCosto fw contains a feature for DSP CPU load
measurement. This feature is a LoCosto-ism, i.e., not applicable to earlier
DBB chips (Calypso) with their respective earlier DSP ROMs. Most of the
code dealing with that feature is conditionalized as #if (DSP >= 38),
but one spot was missed, and the MCU code was writing into an API word
dealing with this feature. In TCS211 this DSP API word happens to be
used by the DSP code patch, hence that write was corrupting the patched
DSP code.
author | Mychaela Falconia <falcon@ivan.Harhan.ORG> |
---|---|
date | Mon, 19 Oct 2015 17:13:56 +0000 |
parents | 346a15ea8222 |
children |
rev | line source |
---|---|
878
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
1 /* |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
2 * This module is a FreeCalypso addition. Here we are going to implement |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
3 * a mechanism for passing AT commands and responses over RVTMUX. |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
4 */ |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
5 |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
6 #include "config.h" |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
7 #include "fixedconf.h" |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
8 #include "condat-features.h" |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
9 #include "aci_conf.h" |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
10 |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
11 /* includes copied from ati_cmd.c */ |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
12 |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
13 #undef DUMMY_ATI_STRINGS |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
14 |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
15 #include "aci_all.h" |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
16 |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
17 #include "dti.h" /* functionality of the dti library */ |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
18 #include "line_edit.h" /* SKA 2002-09-05 */ |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
19 #include "aci_cmh.h" |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
20 #include "ati_cmd.h" |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
21 #include "aci_io.h" |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
22 #include "aci_cmd.h" |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
23 #include "l4_tim.h" |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
24 |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
25 #include <string.h> |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
26 #include <stdarg.h> |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
27 #include <stdio.h> |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
28 |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
29 #include "psa.h" |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
30 #include "cmh.h" |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
31 |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
32 #include "aci_lst.h" |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
33 #include "dti_conn_mng.h" |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
34 #ifdef UART |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
35 #include "psa_uart.h" |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
36 #endif |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
37 #include "ati_io.h" |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
38 #include "aci_mem.h" |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
39 |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
40 #ifdef SIM_TOOLKIT |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
41 #include "ati_src_sat.h" |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
42 #include "psa_cc.h" |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
43 #include "psa_sat.h" |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
44 #endif /* SIM_TOOLKIT */ |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
45 |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
46 #ifdef GPRS |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
47 #include "gaci_cmh.h" |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
48 #include "gaci_cmd.h" |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
49 #endif /* GPRS */ |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
50 |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
51 #include "aci_prs.h" |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
52 |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
53 |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
54 #ifndef _SIMULATION_ |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
55 #ifdef UART |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
56 #include "cmh_uart.h" |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
57 #endif |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
58 #endif |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
59 |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
60 #include "psa_sms.h" |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
61 #include "aci.h" |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
62 #include "ati_ext_mech.h" |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
63 |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
64 #ifdef FF_ATI_BAT |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
65 #include "ati_bat.h" |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
66 #include "aci_bat.h" |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
67 #endif |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
68 |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
69 EXTERN T_ACI_LIST *ati_src_list; |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
70 |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
71 #include "../../riviera/rvt/rvt_gen.h" |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
72 |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
73 static UBYTE rvt_src_id; |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
74 static T_RVT_USER_ID rvt_user_id; |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
75 |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
76 /* |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
77 * The following function is the callback registered with RVT; it gets |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
78 * called in RVT HISR context. We allocate an ACI_CMD_REQ primitive, |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
79 * copy the received string into it and post it to ACI to be processed |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
80 * in our own task context. |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
81 */ |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
82 GLOBAL void ati_src_rvt_input_callback (T_RVT_BUFFER in_str, UINT16 in_str_len) |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
83 { |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
84 PALLOC (aci_cmd_req, ACI_CMD_REQ); |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
85 |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
86 aci_cmd_req->cmd_src = rvt_src_id; |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
87 aci_cmd_req->cmd_len = in_str_len; |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
88 bcopy(in_str, aci_cmd_req->cmd_seq, in_str_len); |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
89 |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
90 PSENDX (ACI, aci_cmd_req); |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
91 } |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
92 |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
93 /* |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
94 * The following function is called from aci_aci.c when an ACI_CMD_REQ |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
95 * primitive (sent by the previous function) has been received. |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
96 */ |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
97 GLOBAL BOOL ati_src_rvt_proc_cmd (T_ACI_CMD_REQ *aci_cmd_req) |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
98 { |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
99 T_ATI_SRC_PARAMS *src_params = find_element (ati_src_list, rvt_src_id, |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
100 search_ati_src_id); |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
101 |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
102 ati_user_output_cfg[rvt_src_id].atE = 0; |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
103 |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
104 if (src_params->text_mode EQ CMD_MODE) |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
105 { |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
106 TRACE_FUNCTION ("ati_src_rvt_proc_cmd () CMD MODE"); |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
107 |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
108 aci_cmd_req->cmd_seq[aci_cmd_req->cmd_len] = '\r'; /* make it V.25 ter compatible */ |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
109 aci_cmd_req->cmd_seq[(aci_cmd_req->cmd_len) + 1] = '\0'; |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
110 aci_cmd_req->cmd_len++; |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
111 } |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
112 else /* text has to be terminated by Ctrl-Z */ |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
113 { |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
114 TRACE_FUNCTION ("ati_src_rvt_proc_cmd () TEXT MODE"); |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
115 |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
116 aci_cmd_req->cmd_seq[aci_cmd_req->cmd_len] = 0x1a; /* make it V.25 ter compatible */ |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
117 aci_cmd_req->cmd_seq[(aci_cmd_req->cmd_len) + 1] = '\0'; |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
118 aci_cmd_req->cmd_len++; |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
119 } |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
120 |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
121 return (ati_execute (rvt_src_id, |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
122 aci_cmd_req->cmd_seq, |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
123 aci_cmd_req->cmd_len)); |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
124 } |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
125 |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
126 /* |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
127 * The following function is the callback registered with ATI; it gets |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
128 * called when ATI has something to send to the user. |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
129 */ |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
130 GLOBAL void ati_src_rvt_result_cb (UBYTE src_id, |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
131 T_ATI_OUTPUT_TYPE output_type, |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
132 UBYTE *output, |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
133 USHORT output_len) |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
134 { |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
135 TRACE_FUNCTION ("ati_src_rvt_result_cb ()"); |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
136 rvt_send_trace_cpy (output, rvt_user_id, output_len, RVT_ASCII_FORMAT); |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
137 } |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
138 |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
139 /* |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
140 * The following function is the other callback registered with ATI. |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
141 */ |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
142 GLOBAL void ati_src_rvt_line_state_cb (UBYTE src_id, |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
143 T_ATI_LINE_STATE_TYPE line_state_type, |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
144 ULONG line_state_param) |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
145 { |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
146 TRACE_FUNCTION ("ati_src_rvt_line_state_cb ()"); |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
147 |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
148 switch (line_state_type) |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
149 { |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
150 case ATI_LINE_STATE_OUTPUT_TYPE: |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
151 TRACE_EVENT_P1 ("[DBG] ati_src_rvt_line_state_cb (): ATI_LINE_STATE_OUTPUT_TYPE = %d", line_state_param); |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
152 break; |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
153 |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
154 case ATI_LINE_STATE_DCD: |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
155 TRACE_EVENT_P1 ("[DBG] ati_src_rvt_line_state_cb (): ATI_LINE_STATE_DCD = %d", line_state_param); |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
156 break; |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
157 |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
158 case ATI_LINE_STATE_RNG: /* TODO */ |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
159 { |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
160 T_IO_RING_PARAMS rng_params; |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
161 |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
162 memcpy (&rng_params, (T_IO_RING_PARAMS*)line_state_param, |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
163 sizeof(T_IO_RING_PARAMS)); |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
164 |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
165 TRACE_EVENT_P1 ("[DBG] ati_src_rvt_line_state_cb (): ATI_LINE_STATE_RNG = %d", rng_params.ring_stat); |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
166 |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
167 break; |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
168 } |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
169 |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
170 default: |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
171 TRACE_EVENT_P1 ("[WRN] ati_src_rvt_line_state_cb (): UNKNOWN line_state_type = %d", line_state_type); |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
172 break; |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
173 } |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
174 } |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
175 |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
176 /* |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
177 * The following function is called from ati_cmd_init() in ati_cmd.c |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
178 * to register our mechanism. |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
179 */ |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
180 GLOBAL void ati_src_rvt_register (void) |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
181 { |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
182 rvt_register_id ("AT", &rvt_user_id, ati_src_rvt_input_callback); |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
183 rvt_src_id = ati_init (ATI_SRC_TYPE_TST, |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
184 ati_src_rvt_result_cb, |
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
185 ati_src_rvt_line_state_cb); |
886
346a15ea8222
gsm-fw feature at-rvtmux: set ATI_CMD_MODE to make SMS notifications work
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
878
diff
changeset
|
186 ati_switch_mode(rvt_src_id, ATI_CMD_MODE); |
878
89c70b89dca5
gsm-fw: feature at-rvtmux implemented, compiles
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
diff
changeset
|
187 } |