1
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2 +-----------------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
3 | Project : GSM-F&D (8411)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
4 | Modul : ATI
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
5 +-----------------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
6 | Copyright 2002 Texas Instruments Berlin, AG
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
7 | All rights reserved.
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
8 |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
9 | This file is confidential and a trade secret of Texas
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
10 | Instruments Berlin, AG
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
11 | The receipt of or possession of this file does not convey
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
12 | any rights to reproduce or disclose its contents or to
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
13 | manufacture, use, or sell anything it may describe, in
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
14 | whole, or in part, without the specific written consent of
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
15 | Texas Instruments Berlin, AG.
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
16 +-----------------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
17 | Purpose : AT Command to connect UART with MTST in order to send
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
18 | traces on the channel
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
19 +-----------------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
20 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
21
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
22 #ifndef ATI_MMI_C
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
23 #define ATI_MMI_C
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
24
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
25 #include "aci_all.h"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
26
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
27 #include "aci_cmh.h"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
28 #include "ati_cmd.h"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
29 #include "aci_io.h"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
30 #include "aci_cmd.h"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
31 #include "dti.h" /* functionality of the dti library */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
32
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
33 #include "aci_mem.h"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
34 #include "aci_cmh.h"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
35 #ifdef FF_PSI
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
36 #include "psa_psi.h"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
37 #endif /*FF_PSI*/
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
38
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
39 #ifdef FF_TRACE_OVER_MTST
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
40
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
41 typedef enum {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
42 MTST_CONNECT = 0,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
43 MTST_DISCONNECT
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
44 } T_MTST_CONNECT_CMD;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
45
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
46 LOCAL T_ACI_RETURN sAT_PercentMTST (T_ACI_CMD_SRC srcId,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
47 T_MTST_CONNECT_CMD connect_cmd);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
48 GLOBAL BOOL MTST_connect_dti_cb(UBYTE dti_id, T_DTI_MNG_CB_TYPE result_type);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
49
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
50 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
51 +--------------------------------------------------------------------+
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
52 | PROJECT : GSM-F&D (8411) MODULE : |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
53 | STATE : code ROUTINE : |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
54 +--------------------------------------------------------------------+
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
55
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
56 PURPOSE : %MTST command ( display trace funktion )
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
57 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
58
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
59 GLOBAL T_ATI_RSLT setatPercentMTST ( char *cl, UBYTE srcId ) /* Function prototype is T_ATI_RSLT,so it is changed to T_ATI_RSLT */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
60
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
61 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
62 TRACE_FUNCTION( "setatPercentMTST()" );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
63
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
64 switch( *cl )
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
65 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
66 case '0':
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
67 if (sAT_PercentMTST(srcId, MTST_DISCONNECT) EQ AT_FAIL)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
68 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
69 cmdCmeError(CME_ERR_Unknown);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
70 return (ATI_FAIL);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
71 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
72 break;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
73
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
74 case '1':
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
75 if (sAT_PercentMTST (srcId, MTST_CONNECT) EQ AT_FAIL)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
76 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
77 cmdCmeError(CME_ERR_Unknown);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
78 return (ATI_FAIL);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
79 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
80 break;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
81
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
82 default:
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
83 cmdCmeError(CME_ERR_Unknown);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
84 return (ATI_FAIL);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
85 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
86
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
87 return (ATI_CMPL);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
88 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
89
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
90 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
91 +--------------------------------------------------------------------+
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
92 | PROJECT : GSM-F&D (8411) MODULE : |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
93 | STATE : code ROUTINE : |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
94 +--------------------------------------------------------------------+
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
95
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
96 PURPOSE :
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
97 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
98
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
99
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
100 GLOBAL T_ACI_RETURN sAT_PercentMTST (T_ACI_CMD_SRC srcId,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
101 T_MTST_CONNECT_CMD connect_cmd)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
102
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
103 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
104 UBYTE dti_id;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
105 T_DTI_MNG_CONN_STATE state;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
106 #ifdef FF_PSI
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
107 T_ACI_DTI_PRC_PSI *dti_prc=find_element (psi_src_params, srcId, cmhPSItest_srcId);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
108 #endif /*FF_PSI*/
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
109 TRACE_FUNCTION ("sAT_PercentMTST()");
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
110
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
111 switch (connect_cmd)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
112 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
113 case MTST_CONNECT:
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
114 if (dti_mng_connection (UNIT_MTST, &dti_id, &state) NEQ UNIT_INVALID)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
115 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
116 return( AT_FAIL );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
117 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
118 #ifdef FF_PSI
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
119 if (dti_prc EQ NULL)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
120 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
121 if (!dti_mng_connect((UBYTE) srcId, DTI_ENTITY_UART, DTI_ENTITY_MTST,MTST_connect_dti_cb))
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
122 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
123 return( AT_FAIL );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
124 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
125 return(AT_CMPL);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
126 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
127 else
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
128 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
129 if (!dti_mng_connect((UBYTE) srcId, DTI_ENTITY_PSI, DTI_ENTITY_MTST,MTST_connect_dti_cb))
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
130 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
131 return( AT_FAIL );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
132 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
133 return(AT_CMPL);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
134 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
135 #else
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
136 if (!dti_mng_connect((UBYTE) srcId,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
137 DTI_ENTITY_UART, DTI_ENTITY_MTST,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
138 MTST_connect_dti_cb))
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
139 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
140 return( AT_FAIL );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
141 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
142 return(AT_CMPL);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
143 #endif /*FF_PSI*/
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
144
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
145 case MTST_DISCONNECT:
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
146 if (dti_mng_connection (DTI_ENTITY_MTST, &dti_id, &state) NEQ DTI_ENTITY_INVALID)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
147 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
148 if (!dti_mng_disconnect ((UBYTE) dti_id))
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
149 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
150 return (AT_FAIL);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
151 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
152 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
153 return (AT_CMPL);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
154
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
155 default:
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
156 /* TRCCmeError(CME_ERR_Unknown);*/
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
157 return (AT_FAIL);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
158 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
159 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
160
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
161 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
162 +--------------------------------------------------------------------+
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
163 | PROJECT : GSM-F&D (8411) MODULE : |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
164 | STATE : code ROUTINE : MTST_connect_dti_cb|
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
165 +--------------------------------------------------------------------+
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
166
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
167 PURPOSE : Callback for connection between MTST and UART/PSI.
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
168
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
169 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
170
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
171 GLOBAL BOOL MTST_connect_dti_cb(UBYTE dti_id, T_DTI_MNG_CB_TYPE result_type)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
172 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
173 return TRUE;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
174 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
175
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
176 #endif /* FF_TRACE_OVER_MTST */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
177
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
178 #endif /* ATI_MMI_C */
|