comparison src/g23m-gprs/grr/grr_psif.h @ 1:d393cd9bb723

src/g23m-*: initial import from Magnetite
author Mychaela Falconia <falcon@freecalypso.org>
date Sun, 15 Jul 2018 04:40:46 +0000
parents
children
comparison
equal deleted inserted replaced
0:b6a5e36de839 1:d393cd9bb723
1 /*
2 +-----------------------------------------------------------------------------
3 | Project : GPRS (8441)
4 | Modul : GRR
5 +-----------------------------------------------------------------------------
6 | Copyright 2002 Texas Instruments Berlin, AG
7 | All rights reserved.
8 |
9 | This file is confidential and a trade secret of Texas
10 | Instruments Berlin, AG
11 | The receipt of or possession of this file does not convey
12 | any rights to reproduce or disclose its contents or to
13 | manufacture, use, or sell anything it may describe, in
14 | whole, or in part, without the specific written consent of
15 | Texas Instruments Berlin, AG.
16 +-----------------------------------------------------------------------------
17 | Purpose : Definitions for service PSI.
18 +-----------------------------------------------------------------------------
19 */
20
21 #ifndef GRR_PSIF_H
22 #define GRR_PSIF_H
23
24 #define INIT_NEEDED 1
25 #define INIT_NOT_NEEDED 0
26
27 typedef enum
28 {
29 PSI1_OK,
30 PSI1_COMPLETE_ACQ,
31 PSI1_PARTIAL_ACQ,
32 PSI1_PBCCH_RELEASED,
33 PSI1_PBCCH_ESTABLISHED
34 }T_PSI1_RET;
35
36 typedef enum
37 {
38 PSI2_OK,
39 PSI2_REREAD
40 }T_PSI2_RET;
41
42 typedef enum
43 {
44 PSI3_OK,
45 PSI3_CELL_BARRED,
46 PSI3_NCELL_VALID,
47 PSI3_NCELL_INVALID
48 }T_PSI3_RET;
49
50 typedef enum
51 {
52 PSI3BIS_OK
53 #if defined (REL99) AND defined (TI_PS_FF_EMR)
54 , PSI3BIS_REREAD_PSI3_3BIS_3TER
55 #else
56 , PSI3BIS_REREAD_PSI3_3BIS
57 #endif
58 , PSI3BIS_REREAD_PSI3BIS,
59 PSI3BIS_NCELL_VALID
60 }T_PSI3BIS_RET;
61
62 #if defined (REL99) AND defined (TI_PS_FF_EMR)
63 typedef enum
64 {
65 PSI3TER_OK,
66 PSI3TER_REREAD_PSI3_3BIS_3TER,
67 PSI3TER_REREAD_PSI3TER
68 }T_PSI3TER_RET;
69 #endif
70
71 typedef enum
72 {
73 PSI4_OK,
74 PSI4_INT_LIST_VALID,
75 PSI4_REREAD
76 }T_PSI4_RET;
77
78 typedef enum
79 {
80 PSI5_OK,
81 PSI5_MEAS_PARAM_VALID,
82 PSI5_REREAD
83 }T_PSI5_RET;
84
85
86 #ifdef REL99
87 typedef enum
88 {
89 PSI8_OK,
90 PSI8_CONTENTS_INVALID,
91 PSI8_REREAD
92 }T_PSI8_RET;
93 #endif
94
95 typedef enum
96 {
97 SI13_OK,
98 SI13_REREAD,
99 SI13_PARTIAL_SI,
100 SI13_COMPLETE_SI,
101 SI13_COMPLETE_PSI
102 }T_SI13_RET;
103
104 typedef enum
105 {
106 PSI13_OK,
107 PSI13_PBCCH_RELEASED,
108 PSI13_PBCCH_ESTABLISHED,
109 PSI13_PARTIAL_SI,
110 PSI13_COMPLETE_SI,
111 PSI13_COMPLETE_PSI
112 }T_PSI13_RET;
113
114
115 typedef enum /* T_STATES_OF_PSI*/
116 {
117 NOT_SEND,
118 RECEIPT_OK,
119 NEEDED
120 }T_STATES_OF_PSI;
121
122 typedef enum /* T_PSI_MESSAGES*/
123 {
124 PSI1,
125 PSI2,
126 PSI3,
127 PSI3bis,
128 #ifdef REL99
129 PSI3ter,
130 #endif
131 PSI4,
132 PSI5,
133 #ifdef REL99
134 PSI8,
135 #endif
136 PSI13
137 }T_PSI_MESSAGES;
138
139 typedef enum
140 {
141 ACQ_RUNNING,
142 ACQ_PART_OK,
143 ACQ_COMP_OK,
144 ACQ_PERIOD_OK,
145 ACQ_NPSI_OK
146 }T_ACQ_STATE_RET;
147
148 EXTERN T_ACQ_STATE_RET psi_check_acq_state ( void );
149
150 EXTERN void psi_reset_all ( void);
151
152 EXTERN void psi_stop_10sec ( void );
153
154 EXTERN void psi_start_10sec ( void );
155
156 EXTERN void psi_partial_acq ( void );
157
158 EXTERN void psi_init ( void );
159
160 EXTERN void psi_init_params ( void );
161
162 EXTERN void psi_complete_acq ( ACQ_TYPE acq_type );
163
164 EXTERN void psi_send_psi_status ( void );
165
166 EXTERN void psi_stop_30sec ( BOOL start_again);
167
168 EXTERN void psi_start_30sec ( void );
169
170 EXTERN void psi_start_60sec ( void );
171
172 EXTERN void psi_stop_60sec ( BOOL start_again);
173
174 EXTERN T_PSI13_RET psi_process_psi13 ( T_PSI_13 * psi13 );
175
176 EXTERN T_SI13_RET psi_process_si13( T_D_SYS_INFO_13 *si13);
177
178 EXTERN T_PSI5_RET psi_process_psi5 ( T_PSI_5 *psi5);
179
180 EXTERN T_PSI4_RET psi_process_psi4 ( T_PSI_4 *psi4);
181
182 EXTERN T_PSI3BIS_RET psi_process_psi3bis ( T_PSI_3_BIS *psi3bis);
183
184 EXTERN T_PSI3_RET psi_process_psi3 ( T_PSI_3 *psi3);
185
186 EXTERN T_PSI2_RET psi_process_psi2 ( T_PSI_2 *psi2);
187
188 EXTERN T_PSI1_RET psi_process_psi1 ( T_PSI_1 *psi1);
189
190 EXTERN void psi_receive_psi ( UBYTE psi_reading_type);
191
192 EXTERN void psi_process_prach ( T_prach_ctrl_par *prach );
193
194 EXTERN void psi_reset_si_entries ( void );
195
196 EXTERN T_ACQ_STATE_RET psi_acq_state_of_si( T_si_states si_states );
197
198 EXTERN void psi_check_acq_state_of_si( UBYTE updated_si);
199
200 EXTERN BOOL psi_is_update_needed ( UBYTE si_change_field );
201
202 EXTERN void psi_stop_psi_reading(ACQ_TYPE acq_type_in_idle);
203
204 EXTERN void psi_update_data_to_request( UBYTE init_needed);
205
206 EXTERN BOOL psi_is_access_class_changed(void);
207
208 EXTERN void psi_stop_timer ( void );
209 EXTERN BOOL psi_is_access_allowed(void);
210 EXTERN void psi_reread_psi2(void);
211 #if defined (REL99) AND defined (TI_PS_FF_EMR)
212 EXTERN void psi_reread_psi3_3bis_3ter(void);
213 #else
214 EXTERN void psi_reread_psi3_and_3bis(void);
215 #endif
216 EXTERN void psi_reread_psi3bis(void);
217 #if defined (REL99) AND defined (TI_PS_FF_EMR)
218 EXTERN void psi_reread_psi3ter(void);
219 #endif
220 EXTERN void psi_reread_psi4(void);
221 EXTERN void psi_reread_psi5(void);
222
223 EXTERN void psi_handle_psi1(T_PSI_1 * psi);
224 EXTERN void psi_handle_psi2(T_PSI_2 * psi);
225 EXTERN void psi_handle_psi3(T_PSI_3 * psi);
226 EXTERN void psi_handle_psi3bis(T_PSI_3_BIS *psi);
227 #if defined (REL99) AND defined (TI_PS_FF_EMR)
228 EXTERN void psi_handle_psi3ter(T_PSI_3_TER *psi);
229 #endif
230 EXTERN void psi_handle_psi4(T_PSI_4 * psi);
231 #ifdef REL99
232 EXTERN void psi_handle_psi8(T_PSI_8 * psi);
233 #endif
234 EXTERN void psi_send_access_enable_if_needed(void);
235 EXTERN void psi_initiate_read_complete_si(void);
236 EXTERN void psi_initiate_read_complete_psi( UBYTE init_needed );
237 EXTERN void psi_initiate_pbcch_switching(T_PSI_DISABLE_CAUSE dc);
238
239 EXTERN void psi_prepare_scell_pbcch_req(T_MPHP_SCELL_PBCCH_REQ *mphp_scell_pbcch_req,
240 UBYTE psi_reading_type);
241
242 EXTERN void psi_store_rel_pos(UBYTE *dest, UBYTE rel_pos, UBYTE max_dest);
243
244 #ifdef TI_PS_FF_QUAD_BAND_SUPPORT
245 EXTERN void att_update_std_band_indicator (UBYTE band_indicator);
246 #endif
247
248 #endif /* !GRR_PSIF_H */
249