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 :
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
4 | Modul : J:\g23m-aci\aci_ext\ati_ext_mech.c
|
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 : This is the implementation of the AT command extension mechanism. Customers
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
18 | can implement their own handling of extension AT comannds here.
|
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 #ifndef ATI_EXT_MECH_C
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
22 #define ATI_EXT_MECH_C
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
23
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
24 #include "aci_all.h"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
25 #include "aci_cmh.h"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
26 #include "ati_cmd.h"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
27 #include "aci_cmd.h"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
28 #include "aci_lst.h"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
29 #include "ati_int.h"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
30 #include "ati_ext_mech.h"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
31
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
32 #ifdef FF_BAT
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
33 #include "aci_bat_ext.h"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
34 #endif
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
35
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
36
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
37
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
38 /*==== CONSTANTS ==================================================*/
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
39
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
40 #define EXT_ATD "EXT: D, I"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
41 #define EXT_ATCFUN "EXT: +CFUN, I"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
42 #define EXT_ATCOPS_START "EXT: +COPS, I"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
43 #define EXT_ATCOPS_STOP "EXT: +COPS, O"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
44 #define EXT_ENTER "EXT: I"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
45 #define EXT_LEAVE "EXT: O"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
46 #define EXT_UNEXPCTD "EXT: E"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
47
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
48 #define EXT_DIAL_VOICE_PASS "DVCP"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
49
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
50 #define EXT_MAX_BUF_LEN 41
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
51
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
52 #define EXT_VOICE_DELIMITER ';'
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
53
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
54
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
55 /*==== EXTERNALS ======================================================*/
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
56
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
57 /*==== LOCALS =========================================================*/
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
58
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
59 /*==== EXPORT ======================================================*/
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
60 EXTERN UBYTE src_id_ext; /* this source runs currently an extension command */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
61
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
62 /*==== TYPES ======================================================*/
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
63 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
64 #ifndef WIN32
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
65 extern USHORT IQ_GetBuild(void);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
66 #ifndef ALR
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
67 extern USHORT IQ_GetPoleStarVersion(void);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
68 #endif
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
69 extern USHORT IQ_GetJtagId(void);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
70 extern USHORT IQ_GetRevision(void);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
71
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
72 #endif*/
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
73 /*==== VARIABLES ==================================================*/
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
74 LOCAL CHAR extDialNum[MAX_CC_ORIG_NUM_LEN];
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
75 /* number to be dialled during testing */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
76 LOCAL T_ACI_AT_CMD currAbrtCmd = AT_CMD_NONE;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
77 /* used for indicating abort of */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
78 /* asynchronous command handling */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
79 LOCAL T_ACI_AT_CMD currExtCmd_v2 = AT_CMD_NONE;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
80 /* used for indicating asynchronous */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
81 /* command handling */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
82 /* identifier of the call which was */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
83
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
84 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
85 +--------------------------------------------------------------------+
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
86 | PROJECT : GSM-PS (8403) MODULE : TIL_CSF |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
87 | STATE : code ROUTINE : cmh_show_version |
|
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 PURPOSE : Trace Layer 1 DSP version numbers
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
91
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
92 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
93 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
94 #ifndef WIN32
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
95
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
96
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
97 static void jtagid_to_chipset (USHORT jtagid, CHAR *chipset)
|
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 switch (jtagid) {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
101
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
102 case 0xB268:
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
103
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
104 strcpy (chipset, "Hercules");
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
105 break;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
106
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
107 case 0xB2B5:
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
108
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
109 strcpy (chipset, "Ulysse 1Mbits rev. B");
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
110 break;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
111
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
112 case 0xB335:
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
113
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
114 strcpy (chipset, "Ulysse 1Mbits rev. A");
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
115 break;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
116
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
117 case 0xB334:
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
118
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
119 strcpy (chipset, "Ulysse 2Mbits");
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
120 break;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
121
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
122 case 0xB393:
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
123
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
124 strcpy (chipset, "Ulysse G1");
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
125 break;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
126
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
127
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
128 case 0xB396:
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
129
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
130 strcpy (chipset, "Calypso rev. B");
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
131 break;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
132
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
133 case 0xB2AC:
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
134
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
135 // Samson and Calypso rev. A share the same JTAG ID.
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
136 #if (CHIPSET != 7)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
137 strcpy (chipset, "Samson");
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
138 #else
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
139 strcpy (chipset, "Calypso rev. A");
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
140 #endif
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
141 break;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
142
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
143 default:
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
144
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
145 strcpy (chipset, "Unknown");
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
146 break;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
147 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
148 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
149
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
150 */
|
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 GLOBAL void cmh_show_version (UBYTE src_id )
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
154 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
155 #ifndef ALR
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
156 CHAR buf[80];
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
157 USHORT build, hw, rev;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
158 #else
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
159 CHAR buf[160];
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
160 CHAR chipset[25];
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
161 #endif
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
162 USHORT jtag;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
163 UCHAR size;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
164 CHAR *output;*/
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
165 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
166 * Retrieve hardware JTAG ID info
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
167 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
168 /* jtag = IQ_GetJtagId();
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
169
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
170 #ifndef ALR
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
171
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
172 build = IQ_GetBuild();
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
173 hw = IQ_GetPoleStarVersion();
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
174 rev = IQ_GetRevision();
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
175
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
176 sprintf (buf, "Build %d, Silicon Revision %04X/%04X/%04X",
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
177 build, hw, jtag, rev);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
178 #else
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
179
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
180
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
181 jtagid_to_chipset (jtag, chipset);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
182
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
183 sprintf (buf,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
184 "Chipset Version:\n\r\t%s\n\rS/W Versions:\n\n\r\tTI Layer1\t\t%4X\n\r\tCondat G.2-3\t\t %3X\n\r\tTI Ref. Design Release\t %3X",
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
185 chipset,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
186 SOFTWAREVERSION,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
187 G23VERSION,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
188 SYSTEMVERSION);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
189 #endif
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
190
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
191 // Format output as a list of Pascal-like strings
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
192 size = strlen(buf);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
193 output[0] = size;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
194 strcpy(&(output[1]), buf);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
195 output[size+1] = (CHAR) 0xFF;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
196 sEXT_Output (src_id, ATI_EXT_CMPL_LINE, output);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
197 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
198
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
199 #endif
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
200 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
201
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
202
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
203
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
204 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
205 +--------------------------------------------------------------------+
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
206 | PROJECT : GSM-PS (6147) MODULE : ATI_EXT_MECH |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
207 | STATE : code ROUTINE : aci_to_ext_return_map |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
208 +--------------------------------------------------------------------+
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
209
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
210 PURPOSE : This function is used to map the ACI return values to the EXT return values
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
211 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
212 LOCAL T_ATI_EXT_RETURN aci_to_ext_return_map (T_ACI_RETURN aci_return)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
213 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
214 TRACE_FUNCTION ("aci_to_ext_return_map ()");
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
215 switch (aci_return)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
216 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
217 case AT_FAIL: return ATI_EXT_FAIL;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
218 case AT_CMPL: return ATI_EXT_CMPL;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
219 case AT_EXCT: return ATI_EXT_EXCT;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
220 case AT_BUSY: return ATI_EXT_BUSY;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
221 default: return ATI_EXT_FAIL;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
222 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
223 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
224
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
225 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
226 +--------------------------------------------------------------------+
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
227 | PROJECT : GSM-PS (6147) MODULE : ATI_EXT_MECH |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
228 | STATE : code ROUTINE : aci_to_ext_return_map |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
229 +--------------------------------------------------------------------+
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
230
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
231 PURPOSE : This function is used to map the ATI return values to the EXT return values
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
232 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
233 LOCAL T_ATI_EXT_RETURN ati_to_ext_return_map (T_ATI_RSLT ati_return)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
234 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
235 TRACE_FUNCTION ("ati_to_ext_return_map ()");
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
236 switch (ati_return)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
237 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
238 case ATI_FAIL: return ATI_EXT_FAIL;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
239 case ATI_CMPL: return ATI_EXT_CMPL;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
240 case ATI_EXCT: return ATI_EXT_EXCT;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
241 case ATI_BUSY: return ATI_EXT_BUSY;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
242 default: return ATI_EXT_FAIL;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
243 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
244 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
245
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
246 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
247 +--------------------------------------------------------------------+
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
248 | PROJECT : GSM-PS (6147) MODULE : ATI_EXT_MECH |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
249 | STATE : code ROUTINE : ext_LeaveEXT_v2 |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
250 +--------------------------------------------------------------------+
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
251
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
252 PURPOSE : This function is called in case the extensin mechansim
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
253 should be left finally.
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
254 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
255 LOCAL void ext_LeaveEXT_v2 ( )
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
256 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
257 /*indicating that no extended AT command is still in progress*/
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
258 currExtCmd_v2 = AT_CMD_NONE;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
259 /*indicate end of extended command handling to the AT interpreter*/
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
260 /* sEXT_Finit();*/
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
261 sEXT_Indication (src_id_ext, EXT_LEAVE );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
262 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
263
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
264 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
265 +--------------------------------------------------------------------+
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
266 | PROJECT : GSM-PS (6147) MODULE : CMH_EXTS |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
267 | STATE : code ROUTINE : ext_ContinueTest_v2 |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
268 +--------------------------------------------------------------------+
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
269
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
270 PURPOSE : This function is called in case the AT extension
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
271 procedure should be continued.
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
272
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
273 <id>: identifies the specific procedure to be continued
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
274
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
275 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
276 LOCAL void ext_ContinueTest_v2 ( CHAR* id )
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
277 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
278 T_ACI_RETURN rslt;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
279
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
280 if ( strcmp ( id, EXT_DIAL_VOICE_PASS ) EQ 0 )
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
281 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
282 T_ACI_D_TOC callType = D_TOC_Data;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
283
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
284 if ( extDialNum [strlen ( extDialNum ) - 1] EQ EXT_VOICE_DELIMITER )
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
285 callType = D_TOC_Voice;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
286
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
287 extDialNum[strlen ( extDialNum ) - 1] = '\0';
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
288
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
289 rslt = sAT_Dn ( CMD_SRC_LCL,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
290 extDialNum,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
291 D_CLIR_OVRD_Default,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
292 D_CUG_CTRL_NotPresent,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
293 callType );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
294
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
295 if ( rslt EQ AT_EXCT )
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
296 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
297 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
298 * generate some output at the AT interface
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
299 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
300 sEXT_Indication (src_id_ext, EXT_ATD);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
301
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
302 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
303 * indicating that an extended AT command is still in progress
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
304 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
305 currExtCmd_v2 = AT_CMD_D;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
306 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
307 else if (rslt EQ AT_CMPL)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
308 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
309 sEXT_Confirm (src_id_ext);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
310 ext_LeaveEXT_v2 ();
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
311 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
312 else
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
313 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
314 rCI_PlusCME ( AT_CMD_EXT, CME_ERR_Unknown );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
315 ext_LeaveEXT_v2 ();
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
316 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
317 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
318 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
319
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
320
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
321 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
322 +--------------------------------------------------------------------+
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
323 | PROJECT : GSM-PS (6147) MODULE : CMH_EXTS |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
324 | STATE : code ROUTINE : ext_OK_v2 |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
325 +--------------------------------------------------------------------+
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
326
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
327 PURPOSE : This function is called in case the positive
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
328 result of the asynchronous command handling is available.
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
329
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
330 <cmdId>: command identity
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
331
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
332 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
333 GLOBAL void ext_OK_v2 ( T_ACI_AT_CMD cmdId )
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
334 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
335 T_ACI_RETURN rslt;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
336
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
337 if ( cmdId EQ AT_CMD_CFUN AND currAbrtCmd EQ AT_CMD_NONE )
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
338 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
339 rslt = sAT_PlusCOPS ( CMD_SRC_LCL,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
340 COPS_MOD_Auto,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
341 COPS_FRMT_NotPresent,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
342 NULL );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
343
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
344 if ( rslt EQ AT_EXCT )
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
345 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
346 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
347 * generate some output at the AT interface
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
348 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
349 sEXT_Output (src_id_ext, ATI_EXT_CMPL_LINE, EXT_ATCOPS_START);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
350
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
351 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
352 * indicating that an extended AT command is still in progress
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
353 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
354 currExtCmd_v2 = AT_CMD_COPS;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
355 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
356 else
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
357 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
358 ext_LeaveEXT_v2 ();
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
359 sEXT_Error ( AT_CMD_EXT, CME_ERR_Unknown);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
360 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
361 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
362 else if ( cmdId EQ AT_CMD_COPS AND currAbrtCmd EQ AT_CMD_NONE )
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
363 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
364 currExtCmd_v2 = AT_CMD_NONE;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
365
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
366 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
367 * generate some output at the AT interface
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
368 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
369
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
370 sEXT_Indication (AT_CMD_EXT, EXT_ATCOPS_STOP );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
371
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
372 #ifndef WIN32
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
373 ext_ContinueTest_v2 ( EXT_DIAL_VOICE_PASS );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
374 #endif
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
375 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
376 else if ( cmdId EQ AT_CMD_D AND currAbrtCmd EQ AT_CMD_NONE )
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
377 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
378 ext_LeaveEXT_v2 ();
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
379 sEXT_Confirm( AT_CMD_EXT );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
380 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
381 else if ( currAbrtCmd NEQ AT_CMD_NONE )
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
382 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
383 currAbrtCmd = AT_CMD_NONE;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
384
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
385 ext_LeaveEXT_v2 ();
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
386 sEXT_Confirm( AT_CMD_EXT );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
387 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
388 else
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
389 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
390 /*generate some output at the AT interface*/
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
391 sEXT_Output(src_id_ext, ATI_EXT_CMPL_LINE, EXT_UNEXPCTD);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
392 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
393 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
394
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
395
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
396 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
397 +--------------------------------------------------------------------+
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
398 | PROJECT : GSM-PS (6147) MODULE : ATI_EXT_MECH |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
399 | STATE : code ROUTINE : rEXT_Init |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
400 +--------------------------------------------------------------------+
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
401
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
402 PURPOSE : This function is called in the ATI initialization process.
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
403 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
404 GLOBAL T_ATI_EXT_RETURN rEXT_Init ()
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
405 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
406 #ifdef _SIMULATION_
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
407 static CHAR *cmd_list[] = {"$A", "$B", "%TA", NULL};
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
408 #else /*_SIMULATION_*/
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
409 static CHAR *cmd_list[] = {NULL};
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
410 //static CHAR *cmd_list[] = {"$A", "$B", "%TA", NULL};
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
411 #endif /*_SIMULATION_*/
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
412 TRACE_FUNCTION ("rEXT_Init ()");
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
413 if (sEXT_Init (cmd_list) EQ ATI_CMPL)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
414 return ATI_EXT_CMPL;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
415 else
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
416 return ATI_EXT_FAIL;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
417 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
418
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
419
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
420 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
421 +--------------------------------------------------------------------+
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
422 | PROJECT : GSM-PS (6147) MODULE : ATI_EXT_MECH |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
423 | STATE : code ROUTINE : rAT_EXT |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
424 +--------------------------------------------------------------------+
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
425
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
426 PURPOSE : This function is called by ATI in case of the detection of an
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
427 unknown command.
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
428 <src_id> : source Id
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
429 <cmd> : remaining unparsed command string.
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
430 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
431
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
432 GLOBAL T_ATI_EXT_RETURN rEXT_Execute (UBYTE src_id, CHAR *cmd)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
433 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
434
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
435 TRACE_FUNCTION ("rEXT_Execute ()");
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
436
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
437 /*example how to process the command AT$A*/
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
438 if (*cmd EQ '$')
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
439 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
440 cmd++;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
441
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
442 switch (*cmd++)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
443 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
444 T_ATI_RSLT output_rslt;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
445 case 'A': /*print out string "Hello World"*/
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
446 output_rslt = ATI_FAIL;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
447 if (*cmd EQ '\0')
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
448 output_rslt = sEXT_Output (src_id, ATI_EXT_CMPL_LINE, "Hello World!");
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
449
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
450 if (*cmd EQ '=' AND *(cmd+1) EQ '0')
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
451 output_rslt = sEXT_Output (src_id, ATI_EXT_CMPL_LINE, "AT$A is set to off.");
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
452
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
453 if (*cmd EQ '=' AND *(cmd+1) EQ '1')
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
454 output_rslt = sEXT_Output (src_id, ATI_EXT_CMPL_LINE, "AT$A is set to on.");
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
455
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
456 if (*cmd EQ '=' AND *(cmd+1) EQ '?')
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
457 output_rslt = sEXT_Output (src_id, ATI_EXT_CMPL_LINE, "$A: 0, 1");
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
458
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
459 return (ati_to_ext_return_map (output_rslt));
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
460
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
461 case 'B': /*print out a complete string part by part*/
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
462 sEXT_Output(src_id, ATI_EXT_PART_BEGIN, "This is ");
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
463 sEXT_Output(src_id, ATI_EXT_PART_LINE, "a complete ");
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
464 sEXT_Output(src_id, ATI_EXT_PART_LAST, "line. ");
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
465 return (ATI_EXT_CMPL);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
466 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
467 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
468
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
469 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
470 * example how to process the command AT% commands
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
471 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
472 if (*cmd EQ '%')
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
473 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
474 sEXT_Output (src_id, ATI_EXT_CMPL_LINE, EXT_ENTER);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
475
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
476 cmd++;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
477
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
478 switch (*cmd)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
479 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
480 case 'T':
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
481 case 't':
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
482 /*Enables RTC or AUDIO tests */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
483 cmd++;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
484 if (!strncmp(cmd, "A", 1) || !strncmp(cmd, "a", 1))
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
485 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
486 sEXT_Output (src_id, ATI_EXT_CMPL_LINE, "Performing Audio Tests");
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
487 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
488 else
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
489 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
490 if (!strncmp(cmd, "R", 1) || !strncmp(cmd, "r", 1))
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
491 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
492 sEXT_Output (src_id, ATI_EXT_CMPL_LINE, "Performing RTC Tests");
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
493 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
494 else
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
495 return( ATI_EXT_FAIL );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
496 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
497 return( ATI_EXT_CMPL );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
498 default:
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
499 return ( ATI_EXT_FAIL );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
500 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
501 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
502
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
503 else if ( *cmd EQ 'D' )
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
504 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
505 T_ACI_RETURN rslt;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
506 size_t sl1=strlen(cmd);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
507 TRACE_EVENT ("ATD in extension mechanism.");
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
508 strncpy ( extDialNum, cmd + 1, MINIMUM ( (MAX_CC_ORIG_NUM_LEN - 1), (sl1 - 1) ) );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
509 extDialNum[MINIMUM ( (MAX_CC_ORIG_NUM_LEN - 1), (sl1 - 1) )] = '\0';
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
510
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
511 rslt = sAT_PlusCFUN ( CMD_SRC_LCL, CFUN_FUN_Full, CFUN_RST_NotPresent );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
512
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
513 if ( rslt EQ AT_EXCT )
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
514 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
515 /*generate some output at the AT interface*/
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
516 sEXT_Output (src_id, ATI_EXT_CMPL_LINE, EXT_ATCFUN);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
517 /*indicating that an extended AT command is still in progress*/
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
518 currExtCmd_v2 = AT_CMD_CFUN;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
519 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
520 if (rslt EQ AT_FAIL)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
521 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
522 sEXT_Indication(src_id, EXT_LEAVE);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
523 sEXT_Error (src_id, CME_ERR_Unknown);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
524 return ATI_EXT_FAIL;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
525 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
526 else if (rslt EQ AT_CMPL)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
527 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
528 ext_LeaveEXT_v2 ();
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
529 return ATI_EXT_CMPL;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
530 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
531 return ( aci_to_ext_return_map (rslt));
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
532 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
533 return ATI_EXT_FAIL;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
534 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
535
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
536 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
537 +--------------------------------------------------------------------+
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
538 | PROJECT : GSM-PS (6147) MODULE : ATI_EXT_MECH |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
539 | STATE : code ROUTINE : rEXT_Abort |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
540 +--------------------------------------------------------------------+
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
541
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
542 PURPOSE : This function is called by the ATI in case of aborting a pending
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
543 extension command.
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
544 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
545
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
546 GLOBAL T_ATI_EXT_RETURN rEXT_Abort (UBYTE src_id)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
547 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
548 T_ACI_RETURN rslt = AT_CMPL;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
549
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
550 TRACE_FUNCTION ("rEXT_Abort ()");
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
551 /* call the abort function if necessary */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
552 if ( currExtCmd_v2 NEQ AT_CMD_NONE )
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
553 rslt = sAT_Abort ((T_ACI_CMD_SRC)src_id, currExtCmd_v2 );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
554
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
555 switch ( rslt )
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
556 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
557 case ( AT_CMPL ):
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
558 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
559 currExtCmd_v2 = AT_CMD_NONE;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
560 sEXT_Indication(src_id, cmdAtError(atOk));
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
561 ext_LeaveEXT_v2();
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
562 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
563 break;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
564
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
565 case ( AT_EXCT ):
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
566 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
567 currExtCmd_v2 = AT_CMD_ABRT;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
568 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
569 break;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
570
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
571 default:
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
572 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
573 /* do nothing */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
574 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
575 break;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
576 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
577 return aci_to_ext_return_map (rslt);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
578 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
579
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
580
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
581 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
582 +--------------------------------------------------------------------+
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
583 | PROJECT : GSM-PS (6147) MODULE : ATI_EXT_MECH |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
584 | STATE : code ROUTINE : rEXT_Signal |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
585 +--------------------------------------------------------------------+
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
586
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
587 PURPOSE : This function is called by the ATI when an extension signal is received.
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
588 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
589
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
590 GLOBAL T_ATI_EXT_RETURN rEXT_Signal (T_ACI_EXT_IND *aci_ext_ind)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
591 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
592 TRACE_FUNCTION ("rEXT_Signal ()");
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
593 /*The handling of the extension signal can be done here.*/
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
594 sEXT_Output (CMD_SRC_ATI_5, ATI_EXT_CMPL_LINE, "This is an extension signal.");
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
595 return ATI_EXT_CMPL;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
596 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
597
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
598 #ifdef FF_BAT
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
599 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
600 +--------------------------------------------------------------------+
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
601 | PROJECT : GSM-PS (6147) MODULE : ATI_EXT_MECH |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
602 | STATE : code ROUTINE : rEXT_Response_BAT |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
603 +--------------------------------------------------------------------+
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
604
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
605 PURPOSE : This function is called by BAT Module when customer stuff
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
606 is asynchronously received.
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
607 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
608
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
609 GLOBAL T_ATI_EXT_RETURN rEXT_Response_BAT (UBYTE src_id, T_BAT_cmd_response *resp)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
610 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
611 return(ATI_EXT_CMPL);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
612 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
613 #endif
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
614
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
615
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
616
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
617 #endif /* ATI_EXT_MECH_C */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
618
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
619
|