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-PS (6147)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
4 | Modul : CMH_SATS
|
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 module provides the set functions related to the
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
18 | SIM application toolkit module.
|
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 #ifdef SIM_TOOLKIT
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
23
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
24 #ifndef CMH_SATS_C
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
25 #define CMH_SATS_C
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
26 #endif
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
27
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
28 #include "aci_all.h"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
29 /*==== INCLUDES ===================================================*/
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
30 #include "aci_cmh.h"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
31
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
32 #ifdef GPRS
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
33 #include "gaci_cmh.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 #ifdef FAX_AND_DATA
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
37 #include "aci_fd.h"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
38 #endif /* of #ifdef FAX_AND_DATA */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
39
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
40 #include "psa.h"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
41 #include "psa_cc.h"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
42 #include "psa_sat.h"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
43 #include "psa_sim.h"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
44 #include "cmh.h"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
45 #include "cmh_sat.h"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
46
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
47 #include "cmh_cc.h"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
48 /*==== CONSTANTS ==================================================*/
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
49
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
50 /*==== EXPORT =====================================================*/
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
51
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
52 /*==== VARIABLES ==================================================*/
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
53
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
54 /*==== FUNCTIONS ==================================================*/
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
55
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
56 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
57 +--------------------------------------------------------------------+
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
58 | PROJECT : GSM-PS (6147) MODULE : CMH_SATS |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
59 | STATE : code ROUTINE : sAT_PercentSATC |
|
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 PURPOSE : This is the functional counterpart to the %SATC AT command
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
63 which is responsible to configure the SIM toolkit profile.
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
64 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
65
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
66 GLOBAL T_ACI_RETURN sAT_PercentSATC ( T_ACI_CMD_SRC srcId,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
67 SHORT len, UBYTE *satCnfg )
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
68 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
69 SHORT idx; /* holds profile index */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
70 UBYTE *mmiMask;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
71
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
72 TRACE_FUNCTION ("sAT_PercentSATC()");
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
73 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
74 *-------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
75 * check command source
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
76 *-------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
77 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
78 if (!cmh_IsVldCmdSrc (srcId))
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
79 return AT_FAIL;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
80
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
81 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
82 *-------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
83 * check parameters
|
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 if (len < 0 OR !satCnfg)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
87 return ( AT_FAIL );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
88
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
89 if (len > MAX_STK_PRF)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
90 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
91 for (idx = MAX_STK_PRF; idx < len; idx++)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
92 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
93 if (satCnfg[idx] NEQ 0) /* TP bit set beyond MAX_STK_PRF? */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
94 return AT_FAIL;
|
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 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
98 *-------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
99 * update SIM toolkit profile
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
100 *-------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
101 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
102 #ifdef TI_PS_FF_AT_P_CMD_CUST
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
103 if (simShrdPrm.setPrm[srcId].cust_mode EQ (UBYTE)CUST_MODE_BEHAVIOUR_1)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
104 mmiMask = satMaskCust1Prfl;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
105 else
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
106 #endif /* TI_PS_FF_AT_P_CMD_CUST */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
107 mmiMask = satMaskMMIPrfl;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
108
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
109 for( idx = 0; idx < MAX_STK_PRF; idx++ )
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
110 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
111 simShrdPrm.setPrm[srcId].STKprof[idx] =
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
112 ((idx < len)? (satCnfg[idx] & mmiMask[idx]): 0)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
113 | satDefPrfl[idx];
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
114 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
115 return AT_CMPL;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
116 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
117
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
118 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
119 +--------------------------------------------------------------------+
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
120 | PROJECT : GSM-PS (6147) MODULE : CMH_SATS |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
121 | STATE : code ROUTINE : sAT_PercentSATR |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
122 +--------------------------------------------------------------------+
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
123
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
124 PURPOSE : This is the functional counterpart to the %SATR AT command
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
125 which is responses to a previous SIM toolkit command.
|
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 GLOBAL T_ACI_RETURN sAT_PercentSATR ( T_ACI_CMD_SRC srcId,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
129 SHORT len, UBYTE *satCmd )
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
130 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
131 BOOL sendRes = TRUE; /* holds indicator whether to send terminal res or not */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
132
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
133 TRACE_FUNCTION ("sAT_PercentSATR()");
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
134 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
135 *-------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
136 * send STK command
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
137 *-------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
138 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
139 if(!cmh_IsVldCmdSrc (srcId))
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
140
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
141 return( AT_FAIL );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
142
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
143 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
144 *-------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
145 * update SIM toolkit profile
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
146 *-------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
147 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
148 if( len > MAX_SAT_CMD_LEN OR !satCmd ) return ( AT_FAIL );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
149
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
150 satShrdPrm.setPrm[srcId].stkCmd = satCmd;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
151 satShrdPrm.setPrm[srcId].stkCmdLen = (UBYTE)len;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
152 satShrdPrm.owner = srcId;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
153
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
154 #ifdef TI_PS_FF_AT_P_CMD_CUST
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
155 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
156 *-------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
157 * If Cust1 and Refresh Response Expected
|
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 if ((simShrdPrm.overall_cust_mode EQ (UBYTE)CUST_MODE_BEHAVIOUR_1) AND
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
161 (satShrdPrm.cust1SimRefreshRespRqd EQ TRUE))
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
162 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
163 psaSAT_SendRefreshUserRes(len, satCmd);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
164 satShrdPrm.cust1SimRefreshRespRqd = FALSE;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
165 return(AT_CMPL);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
166 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
167 #endif /* TI_PS_FF_AT_P_CMD_CUST */
|
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 * check if MMI answers a setup event list and process it
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
171 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
172 sendRes = cmhSAT_CheckSetEventResp( );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
173
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
174 if( sendRes )
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
175 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
176 if( psaSAT_STKResponse() < 0 ) /* respond to STK command */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
177 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
178 TRACE_EVENT( "FATAL RETURN psaSIM in %%SATR" );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
179 return( AT_FAIL );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
180 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
181 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
182 return (AT_CMPL);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
183 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
184
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
185 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
186 +--------------------------------------------------------------------+
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
187 | PROJECT : GSM-PS (6147) MODULE : CMH_SATS |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
188 | STATE : code ROUTINE : sAT_PercentSATE |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
189 +--------------------------------------------------------------------+
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
190
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
191 PURPOSE : This is the functional counterpart to the %SATE AT command
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
192 which envelopes a SIM toolkit command.
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
193 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
194
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
195 GLOBAL T_ACI_RETURN sAT_PercentSATE ( T_ACI_CMD_SRC srcId,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
196 SHORT len, UBYTE *satCmd )
|
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 TRACE_FUNCTION ("sAT_PercentSATE()");
|
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 * check command source
|
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 if(!cmh_IsVldCmdSrc (srcId))
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
206
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
207 return( AT_FAIL );
|
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 *-------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
211 * check entity status
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
212 *-------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
213 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
214 if( satEntStat.curCmd NEQ AT_CMD_NONE )
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
215
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
216 return( AT_BUSY );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
217
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
218 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
219 *-------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
220 * send STK command
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
221 *-------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
222 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
223 if( len > MAX_SAT_CMD_LEN OR !satCmd ) return ( AT_FAIL );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
224
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
225 satShrdPrm.setPrm[srcId].stkCmd = satCmd;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
226 satShrdPrm.setPrm[srcId].stkCmdLen = (UBYTE)len;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
227
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
228 satEntStat.curCmd = AT_CMD_SATE;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
229 satShrdPrm.owner = (UBYTE)srcId;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
230 satEntStat.entOwn = srcId;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
231
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
232 if( psaSAT_STKEnvelope (NULL) < 0 ) /* envelope STK command */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
233 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
234 TRACE_EVENT( "FATAL RETURN psaSIM in %%SATE" );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
235 return( AT_FAIL );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
236 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
237
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
238 return (AT_EXCT);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
239 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
240
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
241 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
242 +--------------------------------------------------------------------+
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
243 | PROJECT : GSM-PS (6147) MODULE : CMH_SATS |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
244 | STATE : code ROUTINE : sAT_PercentSATT |
|
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 PURPOSE : This is the functional counterpart to the %SATT AT command
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
248 which terminates a SAT session.
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
249 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
250
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
251 GLOBAL T_ACI_RETURN sAT_PercentSATT( T_ACI_CMD_SRC srcId,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
252 T_ACI_SATT_CS cause )
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
253 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
254 SHORT cId, dtmfId;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
255 T_ACI_SAT_TERM_RESP resp_data;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
256
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
257 psaSAT_InitTrmResp( &resp_data );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
258
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
259 TRACE_FUNCTION ("sAT_PercentSATT()");
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
260
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
261 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
262 *-------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
263 * check command source
|
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 if(!cmh_IsVldCmdSrc (srcId))
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
267
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
268 return( AT_FAIL );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
269
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
270
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
271 cId = psaCC_ctbFindCall( OWN_SRC_INV, CS_SAT_REQ, NO_VLD_CT );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
272
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
273 if( cId EQ NO_ENTRY )
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
274 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
275 /* Try to stop processing of proactive command SEND DTMF */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
276 dtmfId = cmhCC_find_call_for_DTMF();
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
277 if( dtmfId NEQ NO_ENTRY )
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
278 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
279 if (psaCC_ctb(dtmfId)->dtmfSrc EQ OWN_SRC_SAT)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
280 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
281 ccShrdPrm.dtmf.cnt = 0; /* to avoid double terminal response to SAT */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
282 psaCC_StopDTMF( dtmfId );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
283 psaSAT_SendTrmResp( RSLT_SESS_USR_TERM, &resp_data );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
284 return( AT_CMPL );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
285 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
286 /* else it means there is a Send DTMF on process */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
287 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
288 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
289
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
290 #ifdef FF_SAT_E
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
291 if( cId EQ NO_ENTRY )
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
292
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
293 cId = psaCC_ctbFindCall( OWN_SRC_INV, CS_SAT_CSD_REQ, NO_VLD_CT );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
294
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
295 if( (cId EQ NO_ENTRY OR !psaCC_ctb(cId)->SATinv) AND
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
296 !( satShrdPrm.opchStat NEQ OPCH_IDLE AND
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
297 (satShrdPrm.cmdDet.cmdType EQ SAT_CMD_OPEN_CHANNEL OR
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
298 satShrdPrm.cmdDet.cmdType EQ SAT_CMD_SEND_DATA))
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
299 )
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
300 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
301 return( AT_FAIL );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
302 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
303 #else
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
304
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
305 if( cId EQ NO_ENTRY OR
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
306 !psaCC_ctb(cId)->SATinv OR
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
307 psaCC_ctb(cId)->calStat NEQ CS_SAT_REQ)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
308 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
309 return( AT_FAIL );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
310 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
311 #endif /* else, #ifdef FF_SAT_E */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
312
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
313 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
314 *-------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
315 * check termination cause
|
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 switch( cause )
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
319 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
320 case( SATT_CS_UserRedialStop ):
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
321 case( SATT_CS_EndRedial ):
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
322
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
323 if ((cId EQ NO_ENTRY) OR
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
324 (cause EQ SATT_CS_UserRedialStop))
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
325 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
326 /* respond with "user cleared down..." */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
327 psaSAT_SendTrmResp( RSLT_USR_CLR_DWN, &resp_data );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
328 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
329 else
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
330 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
331 /* return network error cause GSM 11.14 / 12.12.3 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
332 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
333 * Use ctb here because TI compiler 1.22e may have a problem otherwise here.
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
334 * See cmhCC_SndDiscRsn() for the details.
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
335 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
336 cmhSAT_NtwErr ((UBYTE)((GET_CAUSE_VALUE(psaCC_ctb(cId)->nrmCs) NEQ NOT_PRESENT_8BIT) ?
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
337 (psaCC_ctb(cId)->nrmCs|0x80) : ADD_NO_CAUSE));
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
338 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
339 break;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
340 case( SATT_CS_EndSession ):
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
341 /* respond with "session terminated by user" */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
342 psaSAT_SendTrmResp( RSLT_SESS_USR_TERM, &resp_data );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
343 break;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
344 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
345
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
346 if( cId NEQ NO_ENTRY )
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
347 psaCC_FreeCtbNtry (cId);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
348
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
349 #ifdef FF_SAT_E
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
350 if( satShrdPrm.opchStat NEQ OPCH_IDLE AND
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
351 (satShrdPrm.cmdDet.cmdType EQ SAT_CMD_OPEN_CHANNEL OR
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
352 satShrdPrm.cmdDet.cmdType EQ SAT_CMD_SEND_DATA) )
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
353 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
354 cmhSAT_cleanupOpChnPrms();
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
355 satShrdPrm.chnTb.chnUsdFlg = FALSE;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
356 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
357 #endif /* FF_SAT_E */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
358
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
359 return( AT_CMPL );
|
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 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
363 +-------------------------------------------------------------------+
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
364 | PROJECT : GSM-PS (6147) MODULE : CMH_SATS |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
365 | ROUTINE : sAT_PercentEFRSLT |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
366 +-------------------------------------------------------------------+
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
367
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
368 PURPOSE :
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
369 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
370 GLOBAL T_ACI_RETURN sAT_PercentEFRSLT (T_ACI_CMD_SRC srcId,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
371 T_ACI_EFRSLT_RES result)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
372 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
373 TRACE_FUNCTION("sAT_PercentEFRSLT()");
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
374
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
375 if(!cmh_IsVldCmdSrc(srcId))
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
376 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
377 return(AT_FAIL);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
378 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
379
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
380 switch(result)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
381 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
382 case EFRSLT_RES_FAIL:
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
383 psaSAT_FUConfirm(simShrdPrm.fuRef,SIM_FU_ERROR);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
384 break;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
385
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
386 case EFRSLT_RES_OK:
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
387 psaSAT_FUConfirm(simShrdPrm.fuRef,SIM_FU_SUCCESS);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
388 break;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
389
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
390 default:
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
391 ACI_ERR_DESC(ACI_ERR_CLASS_Ext,EXT_ERR_Parameter);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
392 return(AT_FAIL);
|
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 return(AT_CMPL);
|
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 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
399 +-------------------------------------------------------------------+
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
400 | PROJECT : GSM-PS (6147) MODULE : CMH_SATS |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
401 | ROUTINE : sAT_PercentSIMEF |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
402 +-------------------------------------------------------------------+
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
403
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
404 PURPOSE :
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
405 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
406 GLOBAL T_ACI_RETURN sAT_PercentSIMEF (T_ACI_CMD_SRC srcId,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
407 T_ACI_SIMEF_MODE mode)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
408 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
409 TRACE_FUNCTION("sAT_PercentSIMEF()");
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
410
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
411 if(!cmh_IsVldCmdSrc(srcId))
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
412 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
413 return(AT_FAIL);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
414 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
415
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
416 switch(mode)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
417 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
418 case SIMEF_MODE_ON:
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
419 case SIMEF_MODE_OFF:
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
420 simShrdPrm.SIMEFMode[srcId]=mode;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
421 break;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
422
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
423 default:
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
424 ACI_ERR_DESC(ACI_ERR_CLASS_Ext,EXT_ERR_Parameter);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
425 return(AT_FAIL);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
426 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
427 return(AT_CMPL);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
428 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
429
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
430 #endif /* #ifdef SIM_TOOLKIT */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
431
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
432 /*==== EOF ========================================================*/
|