FreeCalypso > hg > ffs-editor
comparison src/cs/layer1/p_include/l1p_mfta.h @ 0:92470e5d0b9e
src: partial import from FC Selenite
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Fri, 15 May 2020 01:28:16 +0000 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:92470e5d0b9e |
---|---|
1 /************* Revision Controle System Header ************* | |
2 * GSM Layer 1 software | |
3 * L1P_MFTAB.H | |
4 * | |
5 * Filename l1p_mfta.h | |
6 * Copyright 2003 (C) Texas Instruments | |
7 * | |
8 ************* Revision Controle System Header *************/ | |
9 | |
10 #define L1P_MFTAB_H | |
11 | |
12 // Prototypes | |
13 void l1s_hopping_algo (UWORD8 param1, UWORD8 param2); | |
14 | |
15 void l1ps_ctrl_single (UWORD8 param1, UWORD8 param2); | |
16 void l1ps_read_single (UWORD8 param1, UWORD8 param2); | |
17 | |
18 void l1ps_ctrl_snb_dl (UWORD8 param1, UWORD8 param2); | |
19 void l1ps_read_nb_dl (UWORD8 param1, UWORD8 param2); | |
20 | |
21 void l1ps_ctrl_pdtch (UWORD8 param1, UWORD8 param2); | |
22 void l1ps_read_pdtch (UWORD8 param1, UWORD8 param2); | |
23 | |
24 void l1ps_ctrl_pbcch (UWORD8 param1, UWORD8 param2); | |
25 | |
26 void l1ps_ctrl_prach (UWORD8 param1, UWORD8 param2); | |
27 void l1ps_read_pra_result (UWORD8 param1, UWORD8 param2); | |
28 | |
29 void l1ps_ctrl_poll (UWORD8 param1, UWORD8 param2); | |
30 void l1ps_read_poll_result(UWORD8 param1, UWORD8 param2); | |
31 | |
32 void l1ps_ctrl_ptcch (UWORD8 param1, UWORD8 param2); | |
33 void l1ps_read_ptcch (UWORD8 param1, UWORD8 param2); | |
34 | |
35 void l1ps_ctrl_itmeas (UWORD8 param1, UWORD8 param2); | |
36 void l1ps_read_itmeas (UWORD8 param1, UWORD8 param2); | |
37 | |
38 /*********************************************************** | |
39 * Content: | |
40 * This file contains the MultiFrame tables for all L1S | |
41 * Packet basic tasks. | |
42 ***********************************************************/ | |
43 | |
44 /*******************************************************************************************/ | |
45 /* Multiframe Blocks for Dynamic MFTAB Building purpose. */ | |
46 /*******************************************************************************************/ | |
47 // Multiframe table size.... | |
48 #define BLOC_PDTCH_SIZE 6 // PDTCH. | |
49 #define BLOC_PRACH_SIZE 3 // PRACH. | |
50 #define BLOC_POLL_SIZE 6 // POLL. | |
51 #define BLOC_POLL_NO_HOPP_SIZE 6 // POLL without hopping algo called. | |
52 #define BLOC_SINGLE_SIZE 6 // SINGLE. | |
53 #define BLOC_PCCCH_SIZE 6 // PNP, PEP and PALLC | |
54 #define BLOC_PBCCHS_SIZE 6 // Serving Cell PBCCH | |
55 #define BLOC_PTCCH_SIZE 3 // Serving Cell PTCCH | |
56 #define BLOC_ITMEAS_SIZE 4 // Interference measurements | |
57 #define BLOC_PBCCHN_TRAN_SIZE 6 // Neighbor Cell PBCCH in packet Transfer | |
58 #define BLOC_PBCCHN_IDLE_SIZE 8 // Neighbor Cell PBCCH in Idle | |
59 | |
60 | |
61 #ifdef L1P_ASYN_C | |
62 /*----------------------------------------------------*/ | |
63 /* TASK: Packet Normal Paging... */ | |
64 /*----------------------------------------------------*/ | |
65 /* frame 1 2 3 4 5 6 */ | |
66 /* | | | | | | */ | |
67 /* C W R | | | -> hopping + burst 1 */ | |
68 /* C W R | | -> hopping + burst 2 */ | |
69 /* C W R | -> hopping + burst 3 */ | |
70 /* C W R -> hopping + burst 4 */ | |
71 /*----------------------------------------------------*/ | |
72 const T_FCT BLOC_PNP[] = | |
73 { | |
74 {l1s_hopping_algo,PNP,NO_PAR},{l1ps_ctrl_snb_dl,PNP,BURST_1}, {NULL,NO_PAR,NO_PAR}, // frame 1 | |
75 {l1s_hopping_algo,PNP,NO_PAR},{l1ps_ctrl_snb_dl,PNP,BURST_2}, {NULL,NO_PAR,NO_PAR}, // frame 2 | |
76 {l1s_hopping_algo,PNP,NO_PAR},{l1ps_read_nb_dl,PNP,BURST_1},{l1ps_ctrl_snb_dl,PNP,BURST_3},{NULL,NO_PAR,NO_PAR}, // frame 3 | |
77 {l1s_hopping_algo,PNP,NO_PAR},{l1ps_read_nb_dl,PNP,BURST_2},{l1ps_ctrl_snb_dl,PNP,BURST_4},{NULL,NO_PAR,NO_PAR}, // frame 4 | |
78 {l1ps_read_nb_dl,PNP,BURST_3},{NULL,NO_PAR,NO_PAR}, // frame 5 | |
79 {l1ps_read_nb_dl,PNP,BURST_4},{NULL,NO_PAR,NO_PAR} // frame 6 | |
80 }; | |
81 | |
82 /*----------------------------------------------------*/ | |
83 /* TASK: Packet Extended Paging... */ | |
84 /*----------------------------------------------------*/ | |
85 /* frame 1 2 3 4 5 6 */ | |
86 /* | | | | | | */ | |
87 /* C W R | | | ->hopping + burst 1 */ | |
88 /* C W R | | ->hopping + burst 2 */ | |
89 /* C W R | ->hopping + burst 3 */ | |
90 /* C W R ->hopping + burst 4 */ | |
91 /*----------------------------------------------------*/ | |
92 const T_FCT BLOC_PEP[] = | |
93 { | |
94 {l1s_hopping_algo,PEP,NO_PAR},{l1ps_ctrl_snb_dl,PEP,BURST_1}, {NULL,NO_PAR,NO_PAR}, // frame 1 | |
95 {l1s_hopping_algo,PEP,NO_PAR},{l1ps_ctrl_snb_dl,PEP,BURST_2}, {NULL,NO_PAR,NO_PAR}, // frame 2 | |
96 {l1s_hopping_algo,PEP,NO_PAR},{l1ps_read_nb_dl,PEP,BURST_1},{l1ps_ctrl_snb_dl,PEP,BURST_3},{NULL,NO_PAR,NO_PAR}, // frame 3 | |
97 {l1s_hopping_algo,PEP,NO_PAR},{l1ps_read_nb_dl,PEP,BURST_2},{l1ps_ctrl_snb_dl,PEP,BURST_4},{NULL,NO_PAR,NO_PAR}, // frame 4 | |
98 {l1ps_read_nb_dl,PEP,BURST_3},{NULL,NO_PAR,NO_PAR}, // frame 5 | |
99 {l1ps_read_nb_dl,PEP,BURST_4},{NULL,NO_PAR,NO_PAR} // frame 6 | |
100 }; | |
101 | |
102 /*----------------------------------------------------*/ | |
103 /* TASK: All PCCCH Reading ... */ | |
104 /*----------------------------------------------------*/ | |
105 /* frame 1 2 3 4 5 6 */ | |
106 /* | | | | | | */ | |
107 /* C W R | | | -> hopping + burst 1 */ | |
108 /* C W R | | -> hopping + burst 2 */ | |
109 /* C W R | -> hopping + burst 3 */ | |
110 /* C W R -> hopping + burst 4 */ | |
111 /*----------------------------------------------------*/ | |
112 const T_FCT BLOC_PALLC[] = | |
113 { | |
114 {l1s_hopping_algo,PALLC,NO_PAR},{l1ps_ctrl_snb_dl,PALLC,BURST_1}, {NULL,NO_PAR,NO_PAR}, // frame 1 | |
115 {l1s_hopping_algo,PALLC,NO_PAR},{l1ps_ctrl_snb_dl,PALLC,BURST_2}, {NULL,NO_PAR,NO_PAR}, // frame 2 | |
116 {l1s_hopping_algo,PALLC,NO_PAR},{l1ps_read_nb_dl,PALLC,BURST_1},{l1ps_ctrl_snb_dl,PALLC,BURST_3},{NULL,NO_PAR,NO_PAR}, // frame 3 | |
117 {l1s_hopping_algo,PALLC,NO_PAR},{l1ps_read_nb_dl,PALLC,BURST_2},{l1ps_ctrl_snb_dl,PALLC,BURST_4},{NULL,NO_PAR,NO_PAR}, // frame 4 | |
118 {l1ps_read_nb_dl,PALLC,BURST_3},{NULL,NO_PAR,NO_PAR}, // frame 5 | |
119 {l1ps_read_nb_dl,PALLC,BURST_4},{NULL,NO_PAR,NO_PAR} // frame 6 | |
120 }; | |
121 | |
122 /*--------------------------------------------------------------*/ | |
123 /* TASK: Serving Cell PBCCH task... */ | |
124 /*--------------------------------------------------------------*/ | |
125 /* frame 1 2 3 4 5 6 */ | |
126 /* | | | | | | */ | |
127 /* C W R | | | -> hopping + Synch + burst 1 */ | |
128 /* C W R | | -> hopping + burst 2 */ | |
129 /* C W R | -> hopping + burst 3 */ | |
130 /* C W R -> hopping + burst 4 + Synch back */ | |
131 /*--------------------------------------------------------------*/ | |
132 const T_FCT BLOC_PBCCHS[] = | |
133 { | |
134 {l1s_hopping_algo,PBCCHS,NO_PAR},{l1ps_ctrl_pbcch,PBCCHS,BURST_1}, {NULL,NO_PAR,NO_PAR}, // frame 1 | |
135 {l1s_hopping_algo,PBCCHS,NO_PAR},{l1ps_ctrl_pbcch,PBCCHS,BURST_2}, {NULL,NO_PAR,NO_PAR}, // frame 2 | |
136 {l1s_hopping_algo,PBCCHS,NO_PAR},{l1ps_read_nb_dl,PBCCHS,BURST_1},{l1ps_ctrl_pbcch,PBCCHS,BURST_3},{NULL,NO_PAR,NO_PAR}, // frame 3 | |
137 {l1s_hopping_algo,PBCCHS,NO_PAR},{l1ps_read_nb_dl,PBCCHS,BURST_2},{l1ps_ctrl_pbcch,PBCCHS,BURST_4},{NULL,NO_PAR,NO_PAR}, // frame 4 | |
138 {l1ps_read_nb_dl,PBCCHS,BURST_3},{NULL,NO_PAR,NO_PAR}, // frame 5 | |
139 {l1ps_read_nb_dl,PBCCHS,BURST_4},{NULL,NO_PAR,NO_PAR} // frame 6 | |
140 }; | |
141 | |
142 | |
143 /*--------------------------------------------------------------*/ | |
144 /* TASK: Neighbor Cell PBCCH task in Packet Transfer mode... */ | |
145 /*--------------------------------------------------------------*/ | |
146 /* frame 1 2 3 4 5 6 */ | |
147 /* | | | | | | */ | |
148 /* C W R | | | -> hopping + Synch + burst 1 */ | |
149 /* C W R | | -> hopping + burst 2 */ | |
150 /* C W R | -> hopping + burst 3 */ | |
151 /* C W R -> hopping + burst 4 + Synch back */ | |
152 /*--------------------------------------------------------------*/ | |
153 const T_FCT BLOC_PBCCHN_TRAN[] = | |
154 { | |
155 {l1s_hopping_algo,PBCCHN_TRAN,NO_PAR},{l1ps_ctrl_pbcch,PBCCHN_TRAN,BURST_1}, {NULL,NO_PAR,NO_PAR}, // frame 1 | |
156 {l1s_hopping_algo,PBCCHN_TRAN,NO_PAR},{l1ps_ctrl_pbcch,PBCCHN_TRAN,BURST_2}, {NULL,NO_PAR,NO_PAR}, // frame 2 | |
157 {l1s_hopping_algo,PBCCHN_TRAN,NO_PAR},{l1ps_read_nb_dl,PBCCHN_TRAN,BURST_1},{l1ps_ctrl_pbcch,PBCCHN_TRAN,BURST_3},{NULL,NO_PAR,NO_PAR}, // frame 3 | |
158 {l1s_hopping_algo,PBCCHN_TRAN,NO_PAR},{l1ps_read_nb_dl,PBCCHN_TRAN,BURST_2},{l1ps_ctrl_pbcch,PBCCHN_TRAN,BURST_4},{NULL,NO_PAR,NO_PAR}, // frame 4 | |
159 {l1ps_read_nb_dl,PBCCHN_TRAN,BURST_3},{NULL,NO_PAR,NO_PAR}, // frame 5 | |
160 {l1ps_read_nb_dl,PBCCHN_TRAN,BURST_4},{NULL,NO_PAR,NO_PAR} // frame 6 | |
161 }; | |
162 | |
163 /*--------------------------------------------------------------*/ | |
164 /* TASK: Neighbor Cell PBCCH task in Idle mode... */ | |
165 /*--------------------------------------------------------------*/ | |
166 /* frame 1 2 3 4 5 6 7 8 */ | |
167 /* | | | | | | | | */ | |
168 /* C W R | | | | | -> AGC */ | |
169 /* C W R | | | -> hopping + Synch + burst 1 */ | |
170 /* C W R | | -> hopping + burst 2 */ | |
171 /* C W R | -> hopping + burst 3 */ | |
172 /* C W R -> hopping + burst 4 + Synch back */ | |
173 /*--------------------------------------------------------------*/ | |
174 const T_FCT BLOC_PBCCHN_IDLE[] = | |
175 { | |
176 {l1s_ctrl_msagc,PBCCHN_IDLE,NO_PAR}, | |
177 {NULL,NO_PAR,NO_PAR}, // frame 1 | |
178 {NULL,NO_PAR,NO_PAR}, // frame 2 | |
179 {l1s_read_msagc,PBCCHN_IDLE,NO_PAR},{l1s_hopping_algo,PBCCHN_IDLE,NO_PAR},{l1ps_ctrl_pbcch,PBCCHN_IDLE,BURST_1}, {NULL,NO_PAR,NO_PAR}, // frame 3 | |
180 {l1s_hopping_algo,PBCCHN_IDLE,NO_PAR},{l1ps_ctrl_pbcch,PBCCHN_IDLE,BURST_2}, {NULL,NO_PAR,NO_PAR}, // frame 4 | |
181 {l1s_hopping_algo,PBCCHN_IDLE,NO_PAR},{l1ps_read_nb_dl,PBCCHN_IDLE,BURST_1},{l1ps_ctrl_pbcch,PBCCHN_IDLE,BURST_3},{NULL,NO_PAR,NO_PAR}, // frame 5 | |
182 {l1s_hopping_algo,PBCCHN_IDLE,NO_PAR},{l1ps_read_nb_dl,PBCCHN_IDLE,BURST_2},{l1ps_ctrl_pbcch,PBCCHN_IDLE,BURST_4},{NULL,NO_PAR,NO_PAR}, // frame 6 | |
183 {l1ps_read_nb_dl,PBCCHN_IDLE,BURST_3},{NULL,NO_PAR,NO_PAR}, // frame 7 | |
184 {l1ps_read_nb_dl,PBCCHN_IDLE,BURST_4},{NULL,NO_PAR,NO_PAR} // frame 8 | |
185 }; | |
186 | |
187 /*----------------------------------------------------*/ | |
188 /* TASK: PDTCH */ | |
189 /*----------------------------------------------------*/ | |
190 /* frame 1 2 3 4 5 6 */ | |
191 /* | | | | | | */ | |
192 /* C W R | | | -> hopping + burst 1 */ | |
193 /* C W R | | -> hopping + burst 2 */ | |
194 /* C W R | -> hopping + burst 3 */ | |
195 /* C W R -> hopping + burst 4 */ | |
196 /*----------------------------------------------------*/ | |
197 const T_FCT BLOC_PDTCH[] = | |
198 { | |
199 {l1s_hopping_algo,PDTCH,NO_PAR},{l1ps_ctrl_pdtch,PDTCH,BURST_1}, {NULL,NO_PAR,NO_PAR}, // frame 1 | |
200 {l1s_hopping_algo,PDTCH,NO_PAR},{l1ps_ctrl_pdtch,PDTCH,BURST_2}, {NULL,NO_PAR,NO_PAR}, // frame 2 | |
201 {l1s_hopping_algo,PDTCH,NO_PAR},{l1ps_read_pdtch,PDTCH,BURST_1},{l1ps_ctrl_pdtch,PDTCH,BURST_3},{NULL,NO_PAR,NO_PAR}, // frame 3 | |
202 {l1s_hopping_algo,PDTCH,NO_PAR},{l1ps_read_pdtch,PDTCH,BURST_2},{l1ps_ctrl_pdtch,PDTCH,BURST_4},{NULL,NO_PAR,NO_PAR}, // frame 4 | |
203 {l1ps_read_pdtch,PDTCH,BURST_3},{NULL,NO_PAR,NO_PAR}, // frame 5 | |
204 {l1ps_read_pdtch,PDTCH,BURST_4},{NULL,NO_PAR,NO_PAR} // frame 6 | |
205 }; | |
206 | |
207 /*--------------------------------------------------------*/ | |
208 /* TASK: SINGLE */ | |
209 /*--------------------------------------------------------*/ | |
210 /* frame 1 2 3 4 5 6 */ | |
211 /* | | | | | | */ | |
212 /* C W R | | | -> hopping + burst 1 + Sync */ | |
213 /* C W R | | -> hopping + burst 2 */ | |
214 /* C W R | -> hopping + burst 3 */ | |
215 /* C W R -> hopping + burst 4 + Sync back */ | |
216 /*--------------------------------------------------------*/ | |
217 const T_FCT BLOC_SINGLE[] = | |
218 { | |
219 {l1s_hopping_algo,SINGLE,NO_PAR},{l1ps_ctrl_single,SINGLE,BURST_1}, {NULL,NO_PAR,NO_PAR}, // frame 1 | |
220 {l1s_hopping_algo,SINGLE,NO_PAR},{l1ps_ctrl_single,SINGLE,BURST_2}, {NULL,NO_PAR,NO_PAR}, // frame 2 | |
221 {l1s_hopping_algo,SINGLE,NO_PAR},{l1ps_read_single,SINGLE,BURST_1},{l1ps_ctrl_single,SINGLE,BURST_3},{NULL,NO_PAR,NO_PAR}, // frame 3 | |
222 {l1s_hopping_algo,SINGLE,NO_PAR},{l1ps_read_single,SINGLE,BURST_2},{l1ps_ctrl_single,SINGLE,BURST_4},{NULL,NO_PAR,NO_PAR}, // frame 4 | |
223 {l1ps_read_single,SINGLE,BURST_3},{NULL,NO_PAR,NO_PAR}, // frame 5 | |
224 {l1ps_read_single,SINGLE,BURST_4},{NULL,NO_PAR,NO_PAR} // frame 6 | |
225 }; | |
226 /*----------------------------------------------------*/ | |
227 /* TASK: PRACH task... */ | |
228 /*----------------------------------------------------*/ | |
229 const T_FCT BLOC_PRACH[] = | |
230 { | |
231 {l1ps_ctrl_prach,PRACH,NO_PAR}, {NULL,NO_PAR,NO_PAR}, // frame 1 | |
232 {NULL,NO_PAR,NO_PAR}, // frame 2 | |
233 {l1ps_read_pra_result,PRACH,NO_PAR}, {NULL,NO_PAR,NO_PAR} // frame 3 | |
234 }; | |
235 | |
236 /*----------------------------------------------------*/ | |
237 /* TASK: POLL task... */ | |
238 /*----------------------------------------------------*/ | |
239 /* frame 1 2 3 4 5 6 */ | |
240 /* | | | | | | */ | |
241 /* C W R | | | -> burst 1 */ | |
242 /* C W R | | -> burst 2 */ | |
243 /* C W R | -> burst 3 */ | |
244 /* C W R -> burst 4 */ | |
245 /*----------------------------------------------------*/ | |
246 const T_FCT BLOC_POLL[] = | |
247 { | |
248 {l1s_hopping_algo,POLL,NO_PAR},{l1ps_ctrl_poll,POLL,BURST_1}, {NULL,NO_PAR,NO_PAR}, // frame 1 | |
249 {l1s_hopping_algo,POLL,NO_PAR},{l1ps_ctrl_poll,POLL,BURST_2}, {NULL,NO_PAR,NO_PAR}, // frame 2 | |
250 {l1s_hopping_algo,POLL,NO_PAR},{l1ps_read_poll_result,POLL,BURST_1},{l1ps_ctrl_poll,POLL,BURST_3},{NULL,NO_PAR,NO_PAR}, // frame 3 | |
251 {l1s_hopping_algo,POLL,NO_PAR},{l1ps_read_poll_result,POLL,BURST_2},{l1ps_ctrl_poll,POLL,BURST_4},{NULL,NO_PAR,NO_PAR}, // frame 4 | |
252 {l1ps_read_poll_result,POLL,BURST_3},{NULL,NO_PAR,NO_PAR}, // frame 5 | |
253 {l1ps_read_poll_result,POLL,BURST_4},{NULL,NO_PAR,NO_PAR} // frame 6 | |
254 }; | |
255 | |
256 /*----------------------------------------------------*/ | |
257 /* TASK: POLL_NO_HOPP task... */ | |
258 /*----------------------------------------------------*/ | |
259 /* frame 1 2 3 4 5 6 */ | |
260 /* | | | | | | */ | |
261 /* C W R | | | -> burst 1 */ | |
262 /* C W R | | -> burst 2 */ | |
263 /* C W R | -> burst 3 */ | |
264 /* C W R -> burst 4 */ | |
265 /*----------------------------------------------------*/ | |
266 const T_FCT BLOC_POLL_NO_HOPP[] = | |
267 { | |
268 {l1ps_ctrl_poll,POLL,BURST_1}, {NULL,NO_PAR,NO_PAR}, // frame 1 | |
269 {l1ps_ctrl_poll,POLL,BURST_2}, {NULL,NO_PAR,NO_PAR}, // frame 2 | |
270 {l1ps_read_poll_result,POLL,BURST_1},{l1ps_ctrl_poll,POLL,BURST_3},{NULL,NO_PAR,NO_PAR}, // frame 3 | |
271 {l1ps_read_poll_result,POLL,BURST_2},{l1ps_ctrl_poll,POLL,BURST_4},{NULL,NO_PAR,NO_PAR}, // frame 4 | |
272 {l1ps_read_poll_result,POLL,BURST_3},{NULL,NO_PAR,NO_PAR}, // frame 5 | |
273 {l1ps_read_poll_result,POLL,BURST_4},{NULL,NO_PAR,NO_PAR} // frame 6 | |
274 }; | |
275 | |
276 | |
277 /*--------------------------------------------------------*/ | |
278 /* TASK: PTCCH */ | |
279 /*--------------------------------------------------------*/ | |
280 /* frame 1 2 3 4 */ | |
281 /* | | | | */ | |
282 /* C W W R */ | |
283 /*--------------------------------------------------------*/ | |
284 const T_FCT BLOC_PTCCH[] = | |
285 { | |
286 {l1s_hopping_algo,PTCCH,NO_PAR},{l1ps_ctrl_ptcch,PTCCH,NO_PAR},{NULL,NO_PAR,NO_PAR}, // frame 1 | |
287 {NULL,NO_PAR,NO_PAR}, // frame 2 | |
288 {l1ps_read_ptcch,PTCCH,NO_PAR},{NULL,NO_PAR,NO_PAR} // frame 3 | |
289 }; | |
290 | |
291 /*----------------------------------------------------*/ | |
292 /* TASK: Interference measurements... */ | |
293 /*----------------------------------------------------*/ | |
294 /* frame 1 2 3 4 */ | |
295 /* | | | | */ | |
296 /* C W W R -> hopping + measurements */ | |
297 /*----------------------------------------------------*/ | |
298 const T_FCT BLOC_ITMEAS[] = | |
299 { | |
300 {l1s_hopping_algo,ITMEAS,NO_PAR},{l1ps_ctrl_itmeas,NO_PAR,NO_PAR},{NULL,NO_PAR,NO_PAR}, // frame 1 | |
301 {NULL,NO_PAR,NO_PAR}, // frame 2 | |
302 {NULL,NO_PAR,NO_PAR}, // frame 2 | |
303 {l1ps_read_itmeas,NO_PAR,NO_PAR},{NULL,NO_PAR,NO_PAR} // frame 4 | |
304 }; | |
305 | |
306 | |
307 #else | |
308 extern T_FCT BLOC_PNP[]; | |
309 extern T_FCT BLOC_PEP[]; | |
310 extern T_FCT BLOC_PALLC[]; | |
311 extern T_FCT BLOC_PBCCHS[]; | |
312 extern T_FCT BLOC_PBCCHN_TRAN[]; | |
313 extern T_FCT BLOC_PBCCHN_IDLE[]; | |
314 extern T_FCT BLOC_PDTCH[]; | |
315 extern T_FCT BLOC_SINGLE[]; | |
316 extern T_FCT BLOC_PRACH[]; | |
317 extern T_FCT BLOC_POLL[]; | |
318 extern T_FCT BLOC_POLL_NO_HOPP[]; | |
319 extern T_FCT BLOC_PTCCH[]; | |
320 extern T_FCT BLOC_ITMEAS[]; | |
321 #endif |