comparison src/aci2/alr/alr_test/alr_ncell_constraints.cpp @ 3:93999a60b835

src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
author Mychaela Falconia <falcon@freecalypso.org>
date Mon, 26 Sep 2016 00:29:36 +0000
parents
children
comparison
equal deleted inserted replaced
2:c41a534f33c6 3:93999a60b835
1 /*
2 +------------------------------------------------------------------------------
3 | File: alr_ncell_constraints.cpp
4 +------------------------------------------------------------------------------
5 | Copyright 2003 Texas Instruments
6 | All rights reserved.
7 |
8 | This file is confidential and a trade secret of Texas Instruments.
9 | The receipt of or possession of this file does not convey
10 | any rights to reproduce or disclose its contents or to
11 | manufacture, use, or sell anything it may describe, in
12 | whole, or in part, without the specific written consent of
13 | Texas Instruments.
14 +------------------------------------------------------------------------------
15 | Purpose: Contains test constraints for alr
16 |
17 +------------------------------------------------------------------------------
18 */
19 #include "alr_constraints.h"
20
21 #define OTD_30 30
22 #define TDMA_FRAMES_PER_HYPERFRAME 2715648
23 #define ARFCN_1_RXLEVEL 11
24 #define ARFCN_11_RXLEVEL 22
25 #define ARFCN_14_RXLEVEL 44
26 #define ARFCN_23_RXLEVEL 30
27 #define ARFCN_25_RXLEVEL 55
28 #define ARFCN_87_RXLEVEL 21
29 #define ARFCN_124_RXLEVEL 12
30 #define ARFCN_512_RXLEVEL 43
31 #define ARFCN_580_RXLEVEL 25
32 #define ARFCN_637_RXLEVEL 56
33 #define ARFCN_885_RXLEVEL 25
34
35
36 const U16 CHLIST_1_14_124_FFFF_elements[4] = {
37 ARFCN_1,
38 ARFCN_14,
39 ARFCN_124,
40 NOT_PRESENT_16BIT
41 };
42 T_ARRAY<U16> CHLIST_1_14_124_FFFF(CHLIST_1_14_124_FFFF_elements, SKIP_TO_END);
43
44 const U16 CHLIST_1_11_15_20_24_25_26_FFFF_elements[8] = {
45 ARFCN_1,
46 ARFCN_11,
47 ARFCN_15,
48 ARFCN_20,
49 ARFCN_24,
50 ARFCN_25,
51 ARFCN_26,
52 NOT_PRESENT_16BIT
53 };
54 T_ARRAY<U16> CHLIST_1_11_15_20_24_25_26_FFFF(CHLIST_1_11_15_20_24_25_26_FFFF_elements, SKIP_TO_END);
55
56 const U16 RF_23_1_14_124_elements[4] = {
57 ARFCN_23,
58 ARFCN_1,
59 ARFCN_14,
60 ARFCN_124
61 };
62 T_ARRAY<U16> RF_23_1_14_124(RF_23_1_14_124_elements, SKIP_TO_END);
63
64 const U16 RF_1_14_124_elements[3] = {
65 ARFCN_1,
66 ARFCN_14,
67 ARFCN_124
68 };
69 T_ARRAY<U16> RF_1_14_124(RF_1_14_124_elements, SKIP_TO_END);
70
71 const U16 CHLIST_23_1_124_FFFF_elements[4] = {
72 ARFCN_23,
73 ARFCN_1,
74 ARFCN_124,
75 NOT_PRESENT_16BIT
76 };
77 T_ARRAY<U16> CHLIST_23_1_124_FFFF(CHLIST_23_1_124_FFFF_elements, SKIP_TO_END);
78
79 const U16 CHLIST_512_637_885_FFFF_elements[4] = {
80 ARFCN_512,
81 ARFCN_637,
82 ARFCN_885,
83 NOT_PRESENT_16BIT
84 };
85 T_ARRAY<U16> CHLIST_512_637_885_FFFF(CHLIST_512_637_885_FFFF_elements, SKIP_TO_END);
86
87 const U16 EMPTY_NCELL_LIST_elements[1] = {
88 NOT_PRESENT_16BIT
89 };
90 T_ARRAY<U16> EMPTY_NCELL_LIST(EMPTY_NCELL_LIST_elements, SKIP_TO_END);
91
92 const U16 RF_23_elements[1] = {
93 ARFCN_23
94 };
95 T_ARRAY<U16> RF_23(RF_23_elements, SKIP_TO_END);
96
97 const U16 RF_1_14_25_124_512_580_637_885_23_elements[9] = {
98 ARFCN_1,
99 ARFCN_14,
100 ARFCN_25,
101 ARFCN_124,
102 ARFCN_512,
103 ARFCN_580,
104 ARFCN_637,
105 ARFCN_885,
106 ARFCN_23
107 };
108 T_ARRAY<U16> RF_1_14_25_124_512_580_637_885_23(RF_1_14_25_124_512_580_637_885_23_elements, SKIP_TO_END);
109
110 const U16 RF_DEDI_LARGE_1_elements[14] = {
111 ARFCN_1,
112 ARFCN_14,
113 ARFCN_24,
114 ARFCN_30,
115 ARFCN_34,
116 ARFCN_40,
117 ARFCN_42,
118 ARFCN_46,
119 ARFCN_23,
120 ARFCN_124,
121 ARFCN_52,
122 ARFCN_59,
123 ARFCN_66,
124 ARFCN_73
125 };
126 T_ARRAY<U16> RF_DEDI_LARGE_1(RF_DEDI_LARGE_1_elements, SKIP_TO_END);
127
128 const U16 RF_DEDI_LARGE_2_elements[24] = {
129 ARFCN_1,
130 ARFCN_14,
131 ARFCN_24,
132 ARFCN_30,
133 ARFCN_34,
134 ARFCN_40,
135 ARFCN_42,
136 ARFCN_46,
137 ARFCN_23,
138 ARFCN_124,
139 ARFCN_52,
140 ARFCN_59,
141 ARFCN_66,
142 ARFCN_73,
143 ARFCN_580,
144 ARFCN_581,
145 ARFCN_582,
146 ARFCN_583,
147 ARFCN_584,
148 ARFCN_585,
149 ARFCN_586,
150 ARFCN_587,
151 ARFCN_588,
152 ARFCN_589,
153 };
154 T_ARRAY<U16> RF_DEDI_LARGE_2(RF_DEDI_LARGE_2_elements, SKIP_TO_END);
155
156 const U16 RF_AFTER_HO_LARGE_1_elements[11] = {
157 ARFCN_580,
158 ARFCN_581,
159 ARFCN_582,
160 ARFCN_583,
161 ARFCN_584,
162 ARFCN_595,
163 ARFCN_596,
164 ARFCN_597,
165 ARFCN_23,
166 ARFCN_598,
167 ARFCN_599,
168 };
169 T_ARRAY<U16> RF_AFTER_HO_LARGE_1(RF_AFTER_HO_LARGE_1_elements, SKIP_TO_END);
170
171 const U16 RF_AFTER_HO_LARGE_2_elements[24] = {
172 ARFCN_1,
173 ARFCN_14,
174 ARFCN_23,
175 ARFCN_24,
176 ARFCN_34,
177 ARFCN_40,
178 ARFCN_42,
179 ARFCN_74,
180 ARFCN_582,
181 ARFCN_87,
182 ARFCN_124,
183 ARFCN_580,
184 ARFCN_581,
185 ARFCN_583,
186 ARFCN_584,
187 ARFCN_595,
188 ARFCN_596,
189 ARFCN_598,
190 ARFCN_599,
191 ARFCN_597,
192 ARFCN_75,
193 ARFCN_76,
194 ARFCN_80
195 };
196 T_ARRAY<U16> RF_AFTER_HO_LARGE_2(RF_AFTER_HO_LARGE_2_elements, SKIP_TO_END);
197
198 const U16 CHLIST_14_25_512_580_637_885_elements[6] = {
199 ARFCN_14,
200 ARFCN_25,
201 ARFCN_512,
202 ARFCN_580,
203 ARFCN_637,
204 ARFCN_885
205 };
206 T_ARRAY<U16> CHLIST_14_25_512_580_637_885(CHLIST_14_25_512_580_637_885_elements, SKIP_TO_END);
207
208 const U8 NCELLS_SC_900_8_RXLEVS_elements[6] = {
209 ARFCN_14_RXLEVEL,
210 ARFCN_25_RXLEVEL,
211 ARFCN_512_RXLEVEL,
212 ARFCN_580_RXLEVEL,
213 ARFCN_637_RXLEVEL,
214 ARFCN_885_RXLEVEL
215 };
216 T_ARRAY<U8> NCELLS_SC_900_8_RXLEVS(NCELLS_SC_900_8_RXLEVS_elements, SKIP_TO_END);
217
218
219 const U8 NCELLS_SC_900_8_BSICS_elements[6] = {
220 1, 1, 1, 1, 1, 1
221 };
222 T_ARRAY<U8> NCELLS_SC_900_8_BSICS(NCELLS_SC_900_8_BSICS_elements, SKIP_TO_END);
223
224 const U32 NCELLS_SC_900_8_TA_elements[6] = {
225 TIME_ALIGNMT_14,
226 TIME_ALIGNMT_14,
227 TIME_ALIGNMT_14,
228 TIME_ALIGNMT_14,
229 TIME_ALIGNMT_14,
230 TIME_ALIGNMT_14
231 };
232 T_ARRAY<U32> NCELLS_SC_900_8_TA(NCELLS_SC_900_8_TA_elements, SKIP_TO_END);
233
234 const U32 NCELLS_SC_900_8_FO_elements[6] = {
235 FN_OFF_ARFCN_14,
236 FN_OFF_ARFCN_14,
237 FN_OFF_ARFCN_14,
238 FN_OFF_ARFCN_14,
239 FN_OFF_ARFCN_14,
240 FN_OFF_ARFCN_14
241 };
242 T_ARRAY<U32> NCELLS_SC_900_8_FO(NCELLS_SC_900_8_FO_elements, SKIP_TO_END);
243
244 const U32 NCELLS_SC_900_8_FO_EOTD_elements[6] = {
245 FN_OFFSET_224,
246 FN_OFFSET_102,
247 FN_OFFSET_153,
248 FN_OFFSET_204,
249 FN_OFF_ARFCN_14,
250 FN_OFFSET_255
251 };
252 T_ARRAY<U32> NCELLS_SC_900_8_FO_EOTD(NCELLS_SC_900_8_FO_EOTD_elements, SKIP_TO_END);
253
254 const U16 CHLIST_1_14_512_885_elements[4] = {
255 ARFCN_1,
256 ARFCN_14,
257 ARFCN_512,
258 ARFCN_885
259 };
260 T_ARRAY<U16> CHLIST_1_14_512_885(CHLIST_1_14_512_885_elements, SKIP_TO_END);
261
262
263 const U16 EOTD_CROSSCOR_6[18] = {
264 0x01FF, 0x00FF, 0x007F, 0x003F, 0x001F, 0x000F, 0x0000, 0x0000,
265 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
266 0x0000, 0x0000
267 };
268 const U16 EOTD_CROSSCOR_9[18] = {
269 0x000F, 0x07FF, 0x001F, 0x007F, 0x003F, 0x00FF, 0x03FF, 0x01FF,
270 0x0FFF, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
271 0x0000, 0x0000
272 };
273 const U16 EOTD_CROSSCOR_12[18] = {
274 0x000F, 0x001F, 0x003F, 0x007F, 0x00FF, 0x01FF, 0x03FF, 0x07FF,
275 0x0FFF, 0x1FFF, 0x3FFF, 0x7FFF, 0x0000, 0x0000, 0x0000, 0x0000,
276 0x0000, 0x0000
277 };
278 const U16 RADIO_FREQ_100[33] = {
279 1,46,47,124,23,0,0,0,
280 0,0,0,0,0,0,0,0,
281 0,0,0,0,0,0,0,0,
282 0,0,0,0,0,0,0,0,
283 0
284 };
285 T_ARRAY<T_res_list> res_list_100()
286 {
287 T_res_list array[33];
288
289 array[0]->bcch_freq = CONST_1;
290 array[0]->rxlev_acc = CONST_30;
291 array[0]->rxlev_nbr_meas = CONST_1;
292
293 array[1]->bcch_freq = CONST_46;
294 array[1]->rxlev_acc = CONST_6;
295 array[1]->rxlev_nbr_meas = CONST_1;
296
297 array[2]->bcch_freq = CONST_47;
298 array[2]->rxlev_acc = CONST_53;
299 array[2]->rxlev_nbr_meas = CONST_1;
300
301 array[3]->bcch_freq = CONST_124;
302 array[3]->rxlev_acc = CONST_13;
303 array[3]->rxlev_nbr_meas = CONST_1;
304
305 array[4]->bcch_freq = CONST_23;
306 array[4]->rxlev_acc = CONST_1;
307 array[4]->rxlev_nbr_meas = CONST_1;
308 for(int i=5;i<BA_LIST_SIZE;i++) {
309 array[i]->bcch_freq ._skip;
310 array[i]->rxlev_acc ._skip;
311 array[i]->rxlev_nbr_meas ._skip;
312 }
313
314 return array;
315 }
316
317 T_ncells ncells_sc_900_8()
318 {
319 T_ncells pstruct;
320 pstruct->no_of_ncells = 6;
321 pstruct->arfcn = CHLIST_14_25_512_580_637_885;
322 pstruct->rx_lev = NCELLS_SC_900_8_RXLEVS;
323 pstruct->bsic = NCELLS_SC_900_8_BSICS;
324 pstruct->time_alignmt = NCELLS_SC_900_8_TA;
325 pstruct->frame_offset = NCELLS_SC_900_8_FO;
326 return pstruct;
327 }
328 T_ncells ncells_no_content()
329 {
330 T_ncells pstruct;
331 pstruct->no_of_ncells=0;
332 pstruct->arfcn._skip;/*or _skip test this*/
333 pstruct->rx_lev._skip;
334 pstruct->bsic._skip;
335 pstruct->time_alignmt._skip;
336 pstruct->frame_offset._skip;
337 return pstruct;
338 }
339 T_ncells ncells_no_content_skip()
340 {
341 T_ncells pstruct;
342 pstruct->no_of_ncells._skip;
343 pstruct->arfcn._skip;
344 pstruct->rx_lev._skip;
345 pstruct->bsic._skip;
346 pstruct->time_alignmt._skip;
347 pstruct->frame_offset._skip;
348 return pstruct;
349 }
350 T_ncells ncells_1_14_124()
351 {
352 const U16 CHLIST_1_14_124_elements[3] = {
353 ARFCN_1,
354 ARFCN_14,
355 ARFCN_124
356 };
357 T_ARRAY<U16> CHLIST_1_14_124(CHLIST_1_14_124_elements, SKIP_TO_END);
358 const U8 NCELLS_1_14_124_RXLEVS_elements[3] = {
359 12,44,25
360 };
361 T_ARRAY<U8> NCELLS_1_14_124_RXLEVS(NCELLS_1_14_124_RXLEVS_elements, SKIP_TO_END);
362
363 const U8 NCELLS_1_14_124_BSICS_elements[3] = {
364 1,1,1
365 };
366 T_ARRAY<U8> NCELLS_1_14_124_BSICS(NCELLS_1_14_124_BSICS_elements, SKIP_TO_END);
367
368 #if 0
369 const U32 NCELLS_1_14_124_TA[32] = {
370 1,14,124,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
371 };
372 const U32 NCELLS_1_14_124_FO[32] = {
373 0x65,0x72,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
374 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
375 0x00,0x00
376 };
377 #else
378 const U32 NCELLS_1_14_124_TA_elements[3] = {
379 1,14,124
380 };
381 T_ARRAY<U32> NCELLS_1_14_124_TA(NCELLS_1_14_124_TA_elements, SKIP_TO_END);
382 const U32 NCELLS_1_14_124_FO_elements[3] = {
383 0x65,0x72,0xE0
384 };
385 T_ARRAY<U32> NCELLS_1_14_124_FO(NCELLS_1_14_124_FO_elements, SKIP_TO_END);
386 #endif //0|1
387
388 T_ncells pstruct;
389 pstruct->no_of_ncells = NO_OF_CELLS_3;
390 pstruct->arfcn = CHLIST_1_14_124;
391 pstruct->rx_lev = NCELLS_1_14_124_RXLEVS;
392 pstruct->bsic = NCELLS_1_14_124_BSICS;
393 pstruct->time_alignmt = NCELLS_1_14_124_TA;
394 pstruct->frame_offset = NCELLS_1_14_124_FO;
395 return pstruct;
396 }
397
398 T_ncell_eotd arfcn_23_eotd()
399 {
400 T_ncell_eotd pstruct;
401 pstruct->arfcn = ARFCN_23;
402 pstruct->bsic = BSIC_1;
403 pstruct->mfrm_offset = MFRM_OFFSET_44;
404 pstruct->otd_type = EXPECTED_OTD;
405 pstruct->exp_otd = OTD_666;
406 pstruct->uncertainty = UNC_MAX_2BIT;
407 pstruct->rough_rtd = OTD_666;
408 return pstruct;
409 }
410 T_ncell_eotd arfcn_637_eotd()
411 {
412 T_ncell_eotd pstruct;
413 pstruct->arfcn = ARFCN_637;
414 pstruct->bsic = BSIC_1;
415 pstruct->mfrm_offset = MFRM_OFFSET_44;
416 pstruct->otd_type = EXPECTED_OTD;
417 pstruct->exp_otd = OTD_666;
418 pstruct->uncertainty = UNC_MAX_2BIT;
419 pstruct->rough_rtd = OTD_666;
420 return pstruct;
421 }
422 T_ncell_eotd arfcn_25_eotd()
423 {
424 T_ncell_eotd pstruct;
425 pstruct->arfcn = ARFCN_25;
426 pstruct->bsic = BSIC_1;
427 pstruct->mfrm_offset = MFRM_OFFSET_44;
428 pstruct->otd_type = EXPECTED_OTD;
429 pstruct->exp_otd = OTD_666;
430 pstruct->uncertainty = UNC_MAX_2BIT;
431 pstruct->rough_rtd = OTD_666;
432 return pstruct;
433 }
434 T_ncell_eotd arfcn_14_eotd()
435 {
436 T_ncell_eotd pstruct;
437 pstruct->arfcn = ARFCN_14;
438 pstruct->bsic = BSIC_1;
439 pstruct->mfrm_offset = MFRM_OFFSET_44;
440 pstruct->otd_type = EXPECTED_OTD;
441 pstruct->exp_otd = OTD_666;
442 pstruct->uncertainty = UNC_MAX_2BIT;
443 pstruct->rough_rtd = OTD_666;
444 return pstruct;
445 }
446 T_ncell_eotd arfcn_512_eotd()
447 {
448 T_ncell_eotd pstruct;
449 pstruct->arfcn = ARFCN_512;
450 pstruct->bsic = BSIC_1;
451 pstruct->mfrm_offset = MFRM_OFFSET_44;
452 pstruct->otd_type = EXPECTED_OTD;
453 pstruct->exp_otd = OTD_666;
454 pstruct->uncertainty = UNC_MAX_2BIT;
455 pstruct->rough_rtd = OTD_666;
456 return pstruct;
457 }
458 T_ncell_eotd arfcn_580_eotd()
459 {
460 T_ncell_eotd pstruct;
461 pstruct->arfcn = ARFCN_580;
462 pstruct->bsic = BSIC_1;
463 pstruct->mfrm_offset = MFRM_OFFSET_44;
464 pstruct->otd_type = EXPECTED_OTD;
465 pstruct->exp_otd = OTD_666;
466 pstruct->uncertainty = UNC_MAX_2BIT;
467 pstruct->rough_rtd = OTD_666;
468 return pstruct;
469 }
470 T_ncell_eotd arfcn_885_eotd()
471 {
472 T_ncell_eotd pstruct;
473 pstruct->arfcn = ARFCN_885;
474 pstruct->bsic = BSIC_2;
475 pstruct->mfrm_offset = MFRM_OFFSET_44;
476 pstruct->otd_type = EXPECTED_OTD;
477 pstruct->exp_otd = OTD_666;
478 pstruct->uncertainty = UNC_MAX_2BIT;
479 pstruct->rough_rtd = OTD_666;
480 return pstruct;
481 }
482 T_eotd_sc_res eotd_sc_res_ok()
483 {
484 T_eotd_sc_res pstruct;
485 pstruct->sb_flag = SB_TRUE;
486 pstruct->bsic = BSIC_1;
487 pstruct->arfcn = ARFCN_23;
488 pstruct->eotd_crosscor = EOTD_CROSSCOR_12;
489 pstruct->d_eotd_nrj = RSSI_61440;
490 pstruct->time_tag = NOM_POS_1000;
491 return pstruct;
492 }
493 T_eotd_sc_res1 eotd_sc_res1_ok()
494 {
495 T_eotd_sc_res1 pstruct;
496 pstruct->sb_flag = SB_TRUE;
497 pstruct->bsic = BSIC_1;
498 pstruct->arfcn = ARFCN_23;
499 pstruct->eotd_crosscor = EOTD_CROSSCOR_12;
500 pstruct->d_eotd_nrj = RSSI_61440;
501 pstruct->time_tag = NOM_POS_2000;
502 return pstruct;
503 }
504 T_eotd_nc_res eotd_nc_res_637()
505 {
506 T_eotd_nc_res pstruct;
507 pstruct->sb_flag = SB_TRUE;
508 pstruct->bsic = BSIC_1;
509 pstruct->arfcn = ARFCN_637;
510 pstruct->eotd_crosscor = EOTD_CROSSCOR_9;
511 pstruct->d_eotd_nrj = RSSI_61952;
512 pstruct->time_tag = NOM_POS_2000;
513 return pstruct;
514 }
515 T_eotd_nc_res eotd_nc_res_25()
516 {
517 T_eotd_nc_res pstruct;
518 pstruct->sb_flag = SB_TRUE;
519 pstruct->bsic = BSIC_1;
520 pstruct->arfcn = ARFCN_25;
521 pstruct->eotd_crosscor = EOTD_CROSSCOR_6;
522 pstruct->d_eotd_nrj = RSSI_61440;
523 pstruct->time_tag = NOM_POS_2000;
524 return pstruct;
525 }
526 T_eotd_nc_res eotd_nc_res_14()
527 {
528 T_eotd_nc_res pstruct;
529 pstruct->sb_flag = SB_TRUE;
530 pstruct->bsic = BSIC_1;
531 pstruct->arfcn = ARFCN_14;
532 pstruct->eotd_crosscor = EOTD_CROSSCOR_9;
533 pstruct->d_eotd_nrj = RSSI_61952;
534 pstruct->time_tag = NOM_POS_1000;
535 return pstruct;
536 }
537 T_eotd_nc_res eotd_nc_res_512()
538 {
539 T_eotd_nc_res pstruct;
540 pstruct->sb_flag = SB_TRUE;
541 pstruct->bsic = BSIC_1;
542 pstruct->arfcn = ARFCN_512;
543 pstruct->eotd_crosscor = EOTD_CROSSCOR_6;
544 pstruct->d_eotd_nrj = RSSI_61440;
545 pstruct->time_tag = NOM_POS_2000;
546 return pstruct;
547 }
548 T_eotd_nc_res eotd_nc_res_580()
549 {
550 T_eotd_nc_res pstruct;
551 pstruct->sb_flag = SB_TRUE;
552 pstruct->bsic = BSIC_1;
553 pstruct->arfcn = ARFCN_580;
554 pstruct->eotd_crosscor = EOTD_CROSSCOR_9;
555 pstruct->d_eotd_nrj = RSSI_61952;
556 pstruct->time_tag = NOM_POS_1000;
557 return pstruct;
558 }
559 T_eotd_nc_res eotd_nc_res_885()
560 {
561 T_eotd_nc_res pstruct;
562 pstruct->sb_flag = SB_TRUE;
563 pstruct->bsic = BSIC_2;
564 pstruct->arfcn = ARFCN_885;
565 pstruct->eotd_crosscor = EOTD_CROSSCOR_6;
566 pstruct->d_eotd_nrj = RSSI_61440;
567 pstruct->time_tag = NOM_POS_2000;
568 return pstruct;
569 }
570 T_ncell_list ncell_arfcn_14()
571 {
572 T_ncell_list pstruct;
573 pstruct->radio_freq = ARFCN_14;
574 pstruct->fn_offset = FN_OFFSET_224;
575 pstruct->time_alignment = TIME_ALIGNMT_14;
576 pstruct->timing_validity = TV_VALID_TIMING_INFO;
577 return pstruct;
578 }
579 T_ncell_list ncell_arfcn_25()
580 {
581 T_ncell_list pstruct;
582 pstruct->radio_freq = ARFCN_25;
583 pstruct->fn_offset = FN_OFFSET_102;
584 pstruct->time_alignment = TIME_ALIGNMT_14;
585 pstruct->timing_validity = TV_VALID_TIMING_INFO;
586 return pstruct;
587 }
588 T_ncell_list ncell_arfcn_512()
589 {
590 T_ncell_list pstruct;
591 pstruct->radio_freq = ARFCN_512;
592 pstruct->fn_offset = FN_OFFSET_153;
593 pstruct->time_alignment = TIME_ALIGNMT_14;
594 pstruct->timing_validity = TV_VALID_TIMING_INFO;
595 return pstruct;
596 }
597 T_ncell_list ncell_arfcn_580()
598 {
599 T_ncell_list pstruct;
600 pstruct->radio_freq = ARFCN_580;
601 pstruct->fn_offset = FN_OFFSET_204;
602 pstruct->time_alignment = TIME_ALIGNMT_14;
603 pstruct->timing_validity = TV_VALID_TIMING_INFO;
604 return pstruct;
605 }
606 T_ncell_list ncell_arfcn_637()
607 {
608 T_ncell_list pstruct;
609 pstruct->radio_freq = ARFCN_637;
610 pstruct->fn_offset = FN_OFF_ARFCN_14;
611 pstruct->time_alignment = TIME_ALIGNMT_14;
612 pstruct->timing_validity = TV_VALID_TIMING_INFO;
613 return pstruct;
614 }
615 T_ncell_list ncell_arfcn_885()
616 {
617 T_ncell_list pstruct;
618 pstruct->radio_freq = ARFCN_885;
619 pstruct->fn_offset = FN_OFFSET_255;
620 pstruct->time_alignment = TIME_ALIGNMT_14;
621 pstruct->timing_validity = TV_VALID_TIMING_INFO;
622 return pstruct;
623 }
624 T_ncell_list ncell_arfcn_empty()
625 {
626 T_ncell_list pstruct;
627 pstruct->radio_freq = 0;
628 pstruct->fn_offset = 0;
629 pstruct->time_alignment = 0;
630 pstruct->timing_validity = 0;
631 return pstruct;
632 }
633 T_l2_frame l2_sys_info_7()
634 {
635 const U8 L2_SYS_INFO_7_ARRAY[23] = {
636 0x59,
637 0x06,
638 0x1F,
639 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
640 0x2b, 0x2b,
641 0x2b, 0x2b, 0x2b,
642 0x2B, 0x2B, 0x2B, 0x2B, 0x2B,
643 0x2B, 0x2B, 0x2B, 0x2B, 0x2B
644 };
645 T_l2_frame pstruct;
646 pstruct->content = L2_SYS_INFO_7_ARRAY;
647 return pstruct;
648 }
649 T_l2_frame l2_sys_info_8()
650 {
651 const U8 L2_SYS_INFO_8_ARRAY[23] = {
652 0x59,
653 0x06,
654 0x18,
655 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
656 0x2b, 0x2b,
657 0x2b, 0x2b, 0x2b,
658 0x2B, 0x2B, 0x2B, 0x2B, 0x2B,
659 0x2B, 0x2B, 0x2B, 0x2B, 0x2B
660 };
661
662 T_l2_frame pstruct;
663 pstruct->content = L2_SYS_INFO_8_ARRAY;
664 return pstruct;
665 }
666
667
668 /*-------------------------------------------------------------------------------
669 *
670 * PSTRUCT ARRAYS
671 *
672 *-------------------------------------------------------------------------------*/
673
674 T_ARRAY<T_ncell_list> ncell_list_6_eotd_idle()
675 {
676 T_ncell_list array[12] = {
677 ncell_arfcn_14(),
678 ncell_arfcn_25(),
679 ncell_arfcn_512(),
680 ncell_arfcn_580(),
681 ncell_arfcn_637(),
682 ncell_arfcn_885(),
683 ncell_arfcn_empty(),
684 ncell_arfcn_empty(),
685 ncell_arfcn_empty(),
686 ncell_arfcn_empty(),
687 ncell_arfcn_empty(),
688 ncell_arfcn_empty()
689 };
690 return array;
691 }
692 T_ARRAY<T_eotd_nc_res> eotd_result_6()
693 {
694 T_eotd_nc_res array[6] = {
695 eotd_nc_res_637(),
696 eotd_nc_res_25(),
697 eotd_nc_res_14(),
698 eotd_nc_res_512(),
699 eotd_nc_res_580(),
700 eotd_nc_res_885()
701 };
702 return array;
703 }
704
705 T_PRIMITIVE_UNION mph_neighbourcell_req_1(CHAR variant)
706 {
707 T_MPH_NEIGHBOURCELL_REQ prim;
708 prim->multi_band = MULTI_BAND_0;
709 if (variant == 'A') prim->arfcn = CHLIST_23_1_124_FFFF;
710 if (variant == 'B') prim->arfcn = EMPTY_NCELL_LIST;
711 if (variant == 'C') prim->arfcn = CHLIST_23_1_124_FFFF;
712 prim->sync_only._skip;
713 return prim;
714 }
715 T_PRIMITIVE_UNION mph_neighbourcell_req_2()
716 {
717 T_MPH_NEIGHBOURCELL_REQ prim;
718 prim->multi_band = MULTI_BAND_0;
719 prim->arfcn = CHLIST_1_14_124_FFFF;
720 prim->sync_only._skip;
721 return prim;
722 }
723
724 T_PRIMITIVE_UNION mph_neighbourcell_req_2a()
725 {
726 T_MPH_NEIGHBOURCELL_REQ prim;
727 prim->multi_band = MULTI_BAND_0;
728 prim->arfcn = CHLIST_1_11_15_20_24_25_26_FFFF;
729 prim->sync_only._skip;
730 return prim;
731 }
732
733 T_PRIMITIVE_UNION mph_neighbourcell_req_3()
734 {
735 T_MPH_NEIGHBOURCELL_REQ prim;
736 prim->multi_band = MULTI_BAND_0;
737 prim->arfcn = EMPTY_NCELL_LIST;
738 prim->sync_only._skip;
739 return prim;
740 }
741 T_PRIMITIVE_UNION mph_neighbourcell_req_4(CHAR variant)
742 {
743 const U16 CHLIST_23_1_14_124_FFFF_elements[5] = {
744 ARFCN_23,
745 ARFCN_1,
746 ARFCN_14,
747 ARFCN_124,
748 NOT_PRESENT_16BIT
749 };
750 T_ARRAY<U16> CHLIST_23_1_14_124_FFFF(CHLIST_23_1_14_124_FFFF_elements, SKIP_TO_END);
751 T_MPH_NEIGHBOURCELL_REQ prim;
752
753 prim->multi_band = MULTI_BAND_0;
754 if (variant == 'A') prim->arfcn = CHLIST_1_14_124_FFFF;
755 if (variant == 'B') prim->arfcn = CHLIST_23_1_14_124_FFFF;
756 if (variant == 'C') prim->arfcn = EMPTY_NCELL_LIST;
757 if (variant == 'D') prim->arfcn = CHLIST_1_14_124_FFFF;
758 prim->sync_only._skip;
759 return prim;
760 }
761 T_PRIMITIVE_UNION mph_neighbourcell_req_5(CHAR variant)
762 {
763 T_MPH_NEIGHBOURCELL_REQ prim;
764 prim->multi_band = MULTI_BAND_0;
765 if (variant == 'A') prim->arfcn = CHLIST_512_637_885_FFFF;
766 if (variant == 'B') prim->arfcn = EMPTY_NCELL_LIST;
767 if (variant == 'C') prim->arfcn = CHLIST_512_637_885_FFFF;
768 prim->sync_only._skip;
769 return prim;
770 }
771 T_PRIMITIVE_UNION mph_neighbourcell_req_6()
772 {
773 const U16 CHLIST_512_580_885_FFFF_elements[4] = {
774 ARFCN_512,
775 ARFCN_580,
776 ARFCN_885,
777 NOT_PRESENT_16BIT
778 };
779 T_ARRAY<U16> CHLIST_512_580_885_FFFF(CHLIST_512_580_885_FFFF_elements, SKIP_TO_END);
780 T_MPH_NEIGHBOURCELL_REQ prim;
781
782 prim->multi_band = MULTI_BAND_0;
783 prim->arfcn = CHLIST_512_580_885_FFFF;
784 prim->sync_only._skip;
785 return prim;
786 }
787 T_PRIMITIVE_UNION mph_neighbourcell_req_7(CHAR variant)
788 {
789 const U16 CHLIST_1_14_23_124_512_580_885_FFFF_elements[8] = {
790 ARFCN_1,
791 ARFCN_14,
792 ARFCN_23,
793 ARFCN_124,
794 ARFCN_512,
795 ARFCN_580,
796 ARFCN_885,
797 NOT_PRESENT_16BIT
798 };
799 T_ARRAY<U16> CHLIST_1_14_23_124_512_580_885_FFFF(CHLIST_1_14_23_124_512_580_885_FFFF_elements, SKIP_TO_END);
800 T_MPH_NEIGHBOURCELL_REQ prim;
801
802 prim->multi_band = MULTI_BAND_1;
803 if (variant == 'A') prim->arfcn = CHLIST_1_14_23_124_512_580_885_FFFF;
804 if (variant == 'B') prim->arfcn = EMPTY_NCELL_LIST;
805 prim->sync_only._skip;
806 return prim;
807 }
808
809 T_PRIMITIVE_UNION prim_tb_meas_ind_1()
810 {
811 T_TB_MEAS_IND prim;
812 prim->tb_meas_result = tb_list_1();
813 return prim;
814 }
815
816 T_PRIMITIVE_UNION prim_tb_meas_ind_2()
817 {
818 T_TB_MEAS_IND prim;
819 prim->tb_meas_result = tb_list_2();
820 return prim;
821 }
822
823 T_PRIMITIVE_UNION prim_tb_meas_ind_3()
824 {
825 T_TB_MEAS_IND prim;
826 prim->tb_meas_result = tb_list_3();
827 return prim;
828 }
829
830 T_PRIMITIVE_UNION mph_neighbourcell_req_7A(CHAR variant)
831 {
832 const U16 CHLIST_512_FFFF_elements[2] = {
833 ARFCN_512,
834 NOT_PRESENT_16BIT
835 };
836 T_ARRAY<U16> CHLIST_512_FFFF(CHLIST_512_FFFF_elements, SKIP_TO_END);
837
838 T_MPH_NEIGHBOURCELL_REQ prim;
839 prim->multi_band = MULTI_BAND_1;
840 if (variant == 'A') prim->arfcn = CHLIST_512_FFFF;
841 if (variant == 'B') prim->arfcn = EMPTY_NCELL_LIST;
842 prim->sync_only._skip;
843 return prim;
844 }
845
846 T_PRIMITIVE_UNION mph_neighbourcell_req_8()
847 {
848 const U16 CHLIST_1_14_124_512_580_637_885_FFFF_elements[8] = {
849 ARFCN_1,
850 ARFCN_14,
851 ARFCN_124,
852 ARFCN_512,
853 ARFCN_580,
854 ARFCN_637,
855 ARFCN_885,
856 NOT_PRESENT_16BIT
857 };
858 T_ARRAY<U16> CHLIST_1_14_124_512_580_637_885_FFFF(CHLIST_1_14_124_512_580_637_885_FFFF_elements, SKIP_TO_END);
859 T_MPH_NEIGHBOURCELL_REQ prim;
860
861 prim->multi_band = MULTI_BAND_2;
862 prim->arfcn = CHLIST_1_14_124_512_580_637_885_FFFF;
863 prim->sync_only._skip;
864 return prim;
865 }
866 T_PRIMITIVE_UNION mph_neighbourcell_req_9()
867 {
868 const U16 CHLIST_1_14_25_124_512_580_637_885_FFFF[9] = {
869 ARFCN_1,
870 ARFCN_14,
871 ARFCN_25,
872 ARFCN_124,
873 ARFCN_512,
874 ARFCN_580,
875 ARFCN_637,
876 ARFCN_885,
877 NOT_PRESENT_16BIT
878 };
879 T_MPH_NEIGHBOURCELL_REQ prim;
880
881 prim->multi_band = MULTI_BAND_0;
882 prim->arfcn = CHLIST_1_14_25_124_512_580_637_885_FFFF;
883 prim->sync_only._skip;
884 return prim;
885 }
886 T_PRIMITIVE_UNION mph_neighbourcell_req_10()
887 {
888 const U16 CHLIST_1_11_14_25_87_124_512_885_FFFF_elements[9] = {
889 ARFCN_1,
890 ARFCN_11,
891 ARFCN_14,
892 ARFCN_25,
893 ARFCN_87,
894 ARFCN_124,
895 ARFCN_512,
896 ARFCN_885,
897 NOT_PRESENT_16BIT
898 };
899 T_ARRAY<U16> CHLIST_1_11_14_25_87_124_512_885_FFFF(CHLIST_1_11_14_25_87_124_512_885_FFFF_elements, SKIP_TO_END);
900 T_MPH_NEIGHBOURCELL_REQ prim;
901
902 prim->multi_band = MULTI_BAND_1;
903 prim->arfcn = CHLIST_1_11_14_25_87_124_512_885_FFFF;
904 prim->sync_only._skip;
905 return prim;
906 }
907 T_PRIMITIVE_UNION mph_neighbourcell_req_11()
908 {
909 const U16 CHLIST_1_14_512_885_FFFF[5] = {
910 ARFCN_1,
911 ARFCN_14,
912 ARFCN_512,
913 ARFCN_885,
914 NOT_PRESENT_16BIT
915 };
916 T_MPH_NEIGHBOURCELL_REQ prim;
917
918 prim->multi_band = MULTI_BAND_1;
919 prim->arfcn = CHLIST_1_14_512_885_FFFF;
920 prim->sync_only._skip;
921 return prim;
922 }
923 T_PRIMITIVE_UNION mph_neighbourcell_req_12()
924 {
925 const U16 CHLIST_1_14_512_513_600_700_810_885_FFFF[9] = {
926 ARFCN_1,
927 ARFCN_14,
928 ARFCN_512,
929 ARFCN_513,
930 ARFCN_600,
931 ARFCN_700,
932 ARFCN_810,
933 ARFCN_885,
934 NOT_PRESENT_16BIT
935 };
936 T_MPH_NEIGHBOURCELL_REQ prim;
937
938 prim->multi_band = MULTI_BAND_1;
939 prim->arfcn = CHLIST_1_14_512_513_600_700_810_885_FFFF;
940 prim->sync_only._skip;
941 return prim;
942 }
943 T_PRIMITIVE_UNION mph_neighbourcell_req_13()
944 {
945 const U16 CHLIST_1_15_FFFF_elements[3] = {
946 ARFCN_1,
947 ARFCN_15,
948 NOT_PRESENT_16BIT
949 };
950 T_ARRAY<U16> CHLIST_1_15_FFFF(CHLIST_1_15_FFFF_elements, SKIP_TO_END);
951 T_MPH_NEIGHBOURCELL_REQ prim;
952
953 prim->multi_band = MULTI_BAND_0;
954 prim->arfcn = CHLIST_1_15_FFFF;
955 prim->sync_only._skip;
956 return prim;
957 }
958 T_PRIMITIVE_UNION mph_neighbourcell_req_15()
959 {
960 const U16 NCELL_LIST_EOTD[9] = {
961 ARFCN_1,
962 ARFCN_14,
963 ARFCN_25,
964 ARFCN_124,
965 ARFCN_512,
966 ARFCN_580,
967 ARFCN_637,
968 ARFCN_885,
969 NOT_PRESENT_16BIT
970 };
971 T_MPH_NEIGHBOURCELL_REQ prim;
972
973 prim->multi_band = MULTI_BAND_0;
974 prim->arfcn = NCELL_LIST_EOTD;
975 prim->sync_only = NORMAL_BA;
976 return prim;
977 }
978 T_PRIMITIVE_UNION mph_neighbourcell_req_16(){
979 const U16 NCELL_LIST_DEDI_LARGE_1[14] = {
980 ARFCN_1,
981 ARFCN_14,
982 ARFCN_24,
983 ARFCN_30,
984 ARFCN_34,
985 ARFCN_40,
986 ARFCN_42,
987 ARFCN_46,
988 ARFCN_52,
989 ARFCN_59,
990 ARFCN_66,
991 ARFCN_73,
992 ARFCN_124,
993 NOT_PRESENT_16BIT
994 };
995 T_MPH_NEIGHBOURCELL_REQ prim;
996
997 prim->multi_band = MULTI_BAND_0;
998 prim->arfcn = NCELL_LIST_DEDI_LARGE_1;
999 prim->sync_only = NORMAL_BA;
1000 return prim;
1001 }
1002
1003 T_PRIMITIVE_UNION mph_neighbourcell_req_17(){
1004 const U16 NCELL_LIST_DEDI_LARGE_2[24] = {
1005 ARFCN_1,
1006 ARFCN_14,
1007 ARFCN_24,
1008 ARFCN_30,
1009 ARFCN_34,
1010 ARFCN_40,
1011 ARFCN_42,
1012 ARFCN_46,
1013 ARFCN_52,
1014 ARFCN_59,
1015 ARFCN_66,
1016 ARFCN_73,
1017 ARFCN_124,
1018 ARFCN_580,
1019 ARFCN_581,
1020 ARFCN_582,
1021 ARFCN_583,
1022 ARFCN_584,
1023 ARFCN_585,
1024 ARFCN_586,
1025 ARFCN_587,
1026 ARFCN_588,
1027 ARFCN_589,
1028 NOT_PRESENT_16BIT
1029 };
1030 T_MPH_NEIGHBOURCELL_REQ prim;
1031
1032 prim->multi_band = MULTI_BAND_0;
1033 prim->arfcn = NCELL_LIST_DEDI_LARGE_2;
1034 prim->sync_only = NORMAL_BA;
1035 return prim;
1036 }
1037
1038 T_PRIMITIVE_UNION mph_neighbourcell_req_18(){
1039 const U16 NCELL_LIST_AFTER_HO_LARGE_1[11] = {
1040 ARFCN_580,
1041 ARFCN_581,
1042 ARFCN_582,
1043 ARFCN_583,
1044 ARFCN_584,
1045 ARFCN_595,
1046 ARFCN_596,
1047 ARFCN_597,
1048 ARFCN_598,
1049 ARFCN_599,
1050 NOT_PRESENT_16BIT
1051 };
1052 T_MPH_NEIGHBOURCELL_REQ prim;
1053
1054 prim->multi_band = MULTI_BAND_0;
1055 prim->arfcn = NCELL_LIST_AFTER_HO_LARGE_1;
1056 prim->sync_only = NORMAL_BA;
1057 return prim;
1058 }
1059
1060 T_PRIMITIVE_UNION mph_neighbourcell_req_19(){
1061 const U16 NCELL_LIST_AFTER_HO_LARGE_2[24] = {
1062 ARFCN_1,
1063 ARFCN_14,
1064 ARFCN_23,
1065 ARFCN_24,
1066 ARFCN_34,
1067 ARFCN_40,
1068 ARFCN_42,
1069 ARFCN_74,
1070 ARFCN_75,
1071 ARFCN_76,
1072 ARFCN_80,
1073 ARFCN_87,
1074 ARFCN_124,
1075 ARFCN_580,
1076 ARFCN_581,
1077 ARFCN_582,
1078 ARFCN_583,
1079 ARFCN_584,
1080 ARFCN_595,
1081 ARFCN_596,
1082 ARFCN_597,
1083 ARFCN_598,
1084 ARFCN_599,
1085 NOT_PRESENT_16BIT
1086 };
1087 T_MPH_NEIGHBOURCELL_REQ prim;
1088
1089 prim->multi_band = MULTI_BAND_0;
1090 prim->arfcn = NCELL_LIST_AFTER_HO_LARGE_2;
1091 prim->sync_only = NORMAL_BA;
1092 return prim;
1093 }
1094
1095 T_PRIMITIVE_UNION mph_neighbourcell_req_sync_reconfirm(){
1096 T_MPH_NEIGHBOURCELL_REQ prim;
1097 prim->multi_band._skip;
1098 prim->arfcn._show;
1099 prim->sync_only = RECONFIRM_SYNC_LIST;
1100 return prim;
1101 }
1102
1103 T_PRIMITIVE_UNION mphc_rxlev_periodic_req_1(CHAR variant)
1104 {
1105 const U16 RF_14_23_1_124_elements[4] = {
1106 ARFCN_14,
1107 ARFCN_23,
1108 ARFCN_1,
1109 ARFCN_124
1110 };
1111 T_ARRAY<U16> RF_14_23_1_124(RF_14_23_1_124_elements, SKIP_TO_END);
1112 const U16 RF_14_elements[1] = {
1113 ARFCN_14
1114 };
1115 T_ARRAY<U16> RF_14(RF_14_elements, SKIP_TO_END);
1116
1117 T_MPHC_RXLEV_PERIODIC_REQ prim;
1118 if (variant == 'A') prim->chan_list.radio_freq = RF_14_23_1_124;
1119 if (variant == 'B') prim->chan_list.radio_freq = RF_14;
1120 if (variant == 'C') prim->chan_list.radio_freq = RF_14_23_1_124;
1121 if (variant == 'A') prim->num_of_chans = CHANNELS_4;
1122 if (variant == 'B') prim->num_of_chans = CHANNELS_1;
1123 if (variant == 'C') prim->num_of_chans = CHANNELS_4;
1124 prim->ba_id = BA_ID_1;
1125 prim->next_radio_freq_measured = CHAN_LIST_IDX_0;
1126 return prim;
1127 }
1128
1129 T_PRIMITIVE_UNION mphc_rxlev_periodic_req_2()
1130 {
1131 T_MPHC_RXLEV_PERIODIC_REQ prim;
1132 prim->chan_list.radio_freq = RF_23_1_14_124;
1133 prim->num_of_chans = CHANNELS_4;
1134 prim->ba_id = BA_ID_1;
1135 prim->next_radio_freq_measured = CHAN_LIST_IDX_0;
1136 return prim;
1137 }
1138
1139 T_PRIMITIVE_UNION mphc_rxlev_periodic_req_2i()
1140 {
1141 T_MPHC_RXLEV_PERIODIC_REQ prim;
1142 prim->chan_list.radio_freq = RF_1_14_124;
1143 prim->num_of_chans = CHANNELS_3;
1144 prim->ba_id = BA_ID_2;
1145 prim->next_radio_freq_measured = CHAN_LIST_IDX_0;
1146 return prim;
1147 }
1148
1149 T_PRIMITIVE_UNION mphc_rxlev_periodic_req_3()
1150 {
1151 T_MPHC_RXLEV_PERIODIC_REQ prim;
1152 prim->chan_list.radio_freq = RF_23;
1153 prim->num_of_chans = CHANNELS_1;
1154 prim->ba_id = BA_ID_1;
1155 prim->next_radio_freq_measured = CHAN_LIST_IDX_0;
1156 return prim;
1157 }
1158
1159 T_PRIMITIVE_UNION mphc_rxlev_periodic_req_4(CHAR variant)
1160 {
1161 T_MPHC_RXLEV_PERIODIC_REQ prim;
1162 if (variant == 'A') prim->chan_list.radio_freq = RF_23_1_14_124;
1163 if (variant == 'B') prim->chan_list.radio_freq = RF_23_1_14_124;
1164 if (variant == 'C') prim->chan_list.radio_freq = RF_23;
1165 if (variant == 'D') prim->chan_list.radio_freq = RF_23_1_14_124;
1166 if (variant == 'A') prim->num_of_chans = CHANNELS_4;
1167 if (variant == 'B') prim->num_of_chans = CHANNELS_4;
1168 if (variant == 'C') prim->num_of_chans = CHANNELS_1;
1169 if (variant == 'D') prim->num_of_chans = CHANNELS_4;
1170 prim->ba_id = BA_ID_1;
1171 prim->next_radio_freq_measured = CHAN_LIST_IDX_0;
1172 return prim;
1173 }
1174
1175 T_PRIMITIVE_UNION mphc_rxlev_periodic_req_5(CHAR variant)
1176 {
1177 const U16 RF_580_512_637_885_elements[4] = {
1178 ARFCN_580,
1179 ARFCN_512,
1180 ARFCN_637,
1181 ARFCN_885
1182 };
1183 T_ARRAY<U16> RF_580_512_637_885(RF_580_512_637_885_elements, SKIP_TO_END);
1184
1185 const U16 RF_580_elements[1] = {
1186 ARFCN_580
1187 };
1188 T_ARRAY<U16> RF_580(RF_580_elements, SKIP_TO_END);
1189
1190 T_MPHC_RXLEV_PERIODIC_REQ prim;
1191 if (variant == 'A') prim->chan_list.radio_freq = RF_580_512_637_885;
1192 if (variant == 'B') prim->chan_list.radio_freq = RF_580;
1193 if (variant == 'C') prim->chan_list.radio_freq = RF_580_512_637_885;
1194 if (variant == 'A') prim->num_of_chans = CHANNELS_4;
1195 if (variant == 'B') prim->num_of_chans = CHANNELS_1;
1196 if (variant == 'C') prim->num_of_chans = CHANNELS_4;
1197 prim->ba_id = BA_ID_1;
1198 prim->next_radio_freq_measured = CHAN_LIST_IDX_0;
1199 return prim;
1200 }
1201
1202 T_PRIMITIVE_UNION mphc_rxlev_periodic_req_6()
1203 {
1204 const U16 RF_637_512_580_885_elements[4] = {
1205 ARFCN_637,
1206 ARFCN_512,
1207 ARFCN_580,
1208 ARFCN_885
1209 };
1210 T_ARRAY<U16> RF_637_512_580_885(RF_637_512_580_885_elements, SKIP_TO_END);
1211
1212 T_MPHC_RXLEV_PERIODIC_REQ prim;
1213 prim->chan_list.radio_freq = RF_637_512_580_885;
1214 prim->num_of_chans = CHANNELS_4;
1215 prim->ba_id = BA_ID_1;
1216 prim->next_radio_freq_measured = CHAN_LIST_IDX_0;
1217 return prim;
1218 }
1219
1220 T_PRIMITIVE_UNION mphc_rxlev_periodic_req_7(CHAR variant)
1221 {
1222 const U16 RF_637_1_14_23_124_512_580_885_elements[8] = {
1223 ARFCN_637,
1224 ARFCN_1,
1225 ARFCN_14,
1226 ARFCN_23,
1227 ARFCN_124,
1228 ARFCN_512,
1229 ARFCN_580,
1230 ARFCN_885
1231 };
1232 T_ARRAY<U16> RF_637_1_14_23_124_512_580_885(RF_637_1_14_23_124_512_580_885_elements, SKIP_TO_END);
1233
1234 const U16 RF_637_elements[1] = {
1235 ARFCN_637
1236 };
1237 T_ARRAY<U16> RF_637(RF_637_elements, SKIP_TO_END);
1238
1239 T_MPHC_RXLEV_PERIODIC_REQ prim;
1240 if (variant == 'A') prim->chan_list.radio_freq = RF_637_1_14_23_124_512_580_885;
1241 if (variant == 'B') prim->chan_list.radio_freq = RF_637;
1242 if (variant == 'A') prim->num_of_chans = CHANNELS_8;
1243 if (variant == 'B') prim->num_of_chans = CHANNELS_1;
1244 prim->ba_id = BA_ID_1;
1245 prim->next_radio_freq_measured = CHAN_LIST_IDX_0;
1246 return prim;
1247 }
1248
1249 T_PRIMITIVE_UNION mphc_rxlev_periodic_req_8()
1250 {
1251 const U16 RF_23_1_14_124_512_580_637_885_elements[8] = {
1252 ARFCN_23,
1253 ARFCN_1,
1254 ARFCN_14,
1255 ARFCN_124,
1256 ARFCN_512,
1257 ARFCN_580,
1258 ARFCN_637,
1259 ARFCN_885
1260 };
1261 T_ARRAY<U16> RF_23_1_14_124_512_580_637_885(RF_23_1_14_124_512_580_637_885_elements, SKIP_TO_END);
1262
1263 T_MPHC_RXLEV_PERIODIC_REQ prim;
1264 prim->chan_list.radio_freq = RF_23_1_14_124_512_580_637_885;
1265 prim->num_of_chans = CHANNELS_8;
1266 prim->ba_id = BA_ID_1;
1267 prim->next_radio_freq_measured = CHAN_LIST_IDX_0;
1268 return prim;
1269 }
1270
1271 T_PRIMITIVE_UNION mphc_rxlev_periodic_req_9()
1272 {
1273 T_MPHC_RXLEV_PERIODIC_REQ prim;
1274 prim->chan_list.radio_freq = RF_1_14_25_124_512_580_637_885_23;
1275 prim->num_of_chans = CHANNELS_9;
1276 prim->ba_id = BA_ID_1;
1277 prim->next_radio_freq_measured = CHAN_LIST_IDX_0;
1278 return prim;
1279 }
1280
1281 T_PRIMITIVE_UNION mphc_rxlev_periodic_req_10()
1282 {
1283 const U16 RF_1_14_25_124_512_580_637_885_578_elements[9] = {
1284 ARFCN_1,
1285 ARFCN_14,
1286 ARFCN_25,
1287 ARFCN_124,
1288 ARFCN_512,
1289 ARFCN_580,
1290 ARFCN_637,
1291 ARFCN_885,
1292 ARFCN_578
1293 };
1294 T_ARRAY<U16> RF_1_14_25_124_512_580_637_885_578(RF_1_14_25_124_512_580_637_885_578_elements, SKIP_TO_END);
1295
1296 T_MPHC_RXLEV_PERIODIC_REQ prim;
1297 prim->chan_list.radio_freq = RF_1_14_25_124_512_580_637_885_578;
1298 prim->num_of_chans = CHANNELS_9;
1299 prim->ba_id = BA_ID_1;
1300 prim->next_radio_freq_measured = CHAN_LIST_IDX_0;
1301 return prim;
1302 }
1303
1304 T_PRIMITIVE_UNION mphc_rxlev_periodic_req_11()
1305 {
1306 const U16 RF_1_11_14_25_87_124_512_885_23_elements[9] = {
1307 ARFCN_1,
1308 ARFCN_11,
1309 ARFCN_14,
1310 ARFCN_25,
1311 ARFCN_87,
1312 ARFCN_124,
1313 ARFCN_512,
1314 ARFCN_885,
1315 ARFCN_23
1316 };
1317 T_ARRAY<U16> RF_1_11_14_25_87_124_512_885_23(RF_1_11_14_25_87_124_512_885_23_elements, SKIP_TO_END);
1318
1319 T_MPHC_RXLEV_PERIODIC_REQ prim;
1320 prim->chan_list.radio_freq = RF_1_11_14_25_87_124_512_885_23;
1321 prim->num_of_chans = CHANNELS_9;
1322 prim->ba_id = BA_ID_1;
1323 prim->next_radio_freq_measured = CHAN_LIST_IDX_0;
1324 return prim;
1325 }
1326
1327 T_PRIMITIVE_UNION mphc_rxlev_periodic_req_12()
1328 {
1329 const U16 RF_23_1_14_512_885_elements[5] = {
1330 ARFCN_23,
1331 ARFCN_1,
1332 ARFCN_14,
1333 ARFCN_512,
1334 ARFCN_885
1335 };
1336 T_ARRAY<U16> RF_23_1_14_512_885(RF_23_1_14_512_885_elements, SKIP_TO_END);
1337
1338 T_MPHC_RXLEV_PERIODIC_REQ prim;
1339 prim->chan_list.radio_freq = RF_23_1_14_512_885;
1340 prim->num_of_chans = CHANNELS_5;
1341 prim->ba_id = BA_ID_1;
1342 prim->next_radio_freq_measured = CHAN_LIST_IDX_0;
1343 return prim;
1344 }
1345 T_PRIMITIVE_UNION mphc_rxlev_periodic_req_13()
1346 {
1347 const U16 RF_1_14_512_513_600_700_810_885_637_elements[9] = {
1348 ARFCN_1,
1349 ARFCN_14,
1350 ARFCN_512,
1351 ARFCN_513,
1352 ARFCN_600,
1353 ARFCN_700,
1354 ARFCN_810,
1355 ARFCN_885,
1356 ARFCN_637
1357 };
1358 T_ARRAY<U16> RF_1_14_512_513_600_700_810_885_637(RF_1_14_512_513_600_700_810_885_637_elements, SKIP_TO_END);
1359
1360 T_MPHC_RXLEV_PERIODIC_REQ prim;
1361 prim->chan_list.radio_freq = RF_1_14_512_513_600_700_810_885_637;
1362 prim->num_of_chans = CHANNELS_9;
1363 prim->ba_id = BA_ID_1;
1364 prim->next_radio_freq_measured = CHAN_LIST_IDX_0;
1365 return prim;
1366 }
1367 T_PRIMITIVE_UNION mphc_rxlev_periodic_req_14()
1368 {
1369 const U16 RF_637_1_14_512_885_elements[5] = {
1370 ARFCN_637,
1371 ARFCN_1,
1372 ARFCN_14,
1373 ARFCN_512,
1374 ARFCN_885
1375 };
1376 T_ARRAY<U16> RF_637_1_14_512_885(RF_637_1_14_512_885_elements, SKIP_TO_END);
1377
1378 T_MPHC_RXLEV_PERIODIC_REQ prim;
1379 prim->chan_list.radio_freq = RF_637_1_14_512_885;
1380 prim->num_of_chans = CHANNELS_5;
1381 prim->ba_id = BA_ID_1;
1382 prim->next_radio_freq_measured = CHAN_LIST_IDX_0;
1383 return prim;
1384 }
1385 T_PRIMITIVE_UNION mphc_rxlev_periodic_req_15()
1386 {
1387 T_MPHC_RXLEV_PERIODIC_REQ prim;
1388 prim->chan_list.radio_freq = RF_23_1_14_124;
1389 prim->num_of_chans = CHANNELS_4;
1390 prim->ba_id = BA_ID_2;
1391 prim->next_radio_freq_measured = CHAN_LIST_IDX_0;
1392 return prim;
1393 }
1394
1395
1396 T_PRIMITIVE_UNION mphc_rxlev_periodic_req_16()
1397 {
1398 const U16 RF_1_14_15_elements[3] = {
1399 ARFCN_1,
1400 ARFCN_14,
1401 ARFCN_15
1402 };
1403 T_ARRAY<U16> RF_1_14_15(RF_1_14_15_elements, SKIP_TO_END);
1404
1405 T_MPHC_RXLEV_PERIODIC_REQ prim;
1406 prim->chan_list.radio_freq = RF_1_14_15;
1407 prim->num_of_chans = CHANNELS_3;
1408 prim->ba_id = BA_ID_3;
1409 prim->next_radio_freq_measured = CHAN_LIST_IDX_0;
1410 return prim;
1411 }
1412 T_PRIMITIVE_UNION mphc_rxlev_periodic_req_17()
1413 {
1414 const U16 RF_23_1_15_elements[3] = {
1415 ARFCN_23,
1416 ARFCN_1,
1417 ARFCN_15
1418 };
1419 T_ARRAY<U16> RF_23_1_15(RF_23_1_15_elements, SKIP_TO_END);
1420
1421 T_MPHC_RXLEV_PERIODIC_REQ prim;
1422 prim->chan_list.radio_freq = RF_23_1_15;
1423 prim->num_of_chans = CHANNELS_3;
1424 prim->ba_id = BA_ID_3;
1425 prim->next_radio_freq_measured = CHAN_LIST_IDX_0;
1426 return prim;
1427 }
1428 T_PRIMITIVE_UNION mphc_rxlev_periodic_req_18()
1429 {
1430 T_MPHC_RXLEV_PERIODIC_REQ prim;
1431 prim->chan_list._skip;
1432 prim->num_of_chans._skip;
1433 prim->ba_id._skip;
1434 prim->next_radio_freq_measured._skip;
1435 return prim;
1436 }
1437
1438 T_PRIMITIVE_UNION mphc_rxlev_periodic_req_20()
1439 {
1440 T_MPHC_RXLEV_PERIODIC_REQ prim;
1441 prim->chan_list.radio_freq = RF_1_14_25_124_512_580_637_885_23;
1442 prim->num_of_chans = CHANNELS_9;
1443 prim->ba_id = BA_ID_1;
1444 prim->next_radio_freq_measured = CHAN_LIST_IDX_0;
1445 return prim;
1446 }
1447
1448 T_PRIMITIVE_UNION mphc_rxlev_periodic_req_21()
1449 {
1450 const U16 RF_23_512_elements[2] = {
1451 ARFCN_23,
1452 ARFCN_512
1453 };
1454 T_ARRAY<U16> RF_23_512(RF_23_512_elements, SKIP_TO_END);
1455 T_MPHC_RXLEV_PERIODIC_REQ prim;
1456 prim->chan_list.radio_freq = RF_23_512;
1457 prim->num_of_chans = CHANNELS_2;
1458 prim->ba_id = BA_ID_1;
1459 prim->next_radio_freq_measured = CHAN_LIST_IDX_0;
1460 return prim;
1461 }
1462
1463 T_PRIMITIVE_UNION mphc_rxlev_periodic_ind_1()
1464 {
1465 T_MPHC_RXLEV_PERIODIC_IND prim;
1466 // prim->result = ncell_result_no_content();
1467 prim->nbr_of_carriers = CHANNELS_0;
1468 prim->s_rxlev = RXLEV_56;
1469 prim->ba_id = BA_ID_1;
1470
1471 int i=0;
1472 prim->nbr_of_carriers = i;
1473
1474 for (;i<MAX_MEAS_VALUES;i++) {
1475 prim->result[i].radio_freq ._skip;
1476 prim->result[i].rxlev ._skip;
1477 }
1478
1479 return prim;
1480 }
1481
1482 T_PRIMITIVE_UNION mphc_rxlev_periodic_ind_2()
1483 {
1484 T_MPHC_RXLEV_PERIODIC_IND prim;
1485 // prim->result = ncell_result_1();
1486 prim->nbr_of_carriers = CHANNELS_8;
1487 prim->s_rxlev = RXLEV_56;
1488 prim->ba_id = BA_ID_1;
1489 int i=0;
1490
1491 prim->result[i].radio_freq = ARFCN_23;
1492 prim->result[i].rxlev = 56;
1493 i++;
1494
1495 prim->result[i].radio_freq = ARFCN_1;
1496 prim->result[i].rxlev = 12;
1497 i++;
1498
1499 prim->result[i].radio_freq = ARFCN_14;
1500 prim->result[i].rxlev = 44;
1501 i++;
1502
1503 prim->result[i].radio_freq = ARFCN_124;
1504 prim->result[i].rxlev = 25;
1505 i++;
1506
1507 /*this is no cut and paste error.*/
1508 prim->result[i].radio_freq = ARFCN_23;
1509 prim->result[i].rxlev = 56;
1510 i++;
1511
1512 prim->result[i].radio_freq = ARFCN_1;
1513 prim->result[i].rxlev = 12;
1514 i++;
1515
1516 prim->result[i].radio_freq = ARFCN_14;
1517 prim->result[i].rxlev = 44;
1518 i++;
1519
1520 prim->result[i].radio_freq = ARFCN_124;
1521 prim->result[i].rxlev = 25;
1522 i++;
1523
1524 prim->nbr_of_carriers = i;
1525
1526 for(;i<MAX_MEAS_VALUES;i++) {
1527 prim->result[i].radio_freq._skip;
1528 prim->result[i].rxlev ._skip;
1529 }
1530 return prim;
1531 }
1532 T_PRIMITIVE_UNION mphc_rxlev_periodic_ind_3()
1533 {
1534 T_MPHC_RXLEV_PERIODIC_IND prim;
1535 //prim->result = ncell_res_sc_23_8();
1536 prim->nbr_of_carriers = CHANNELS_8;
1537 prim->s_rxlev = RXLEV_56;
1538 prim->ba_id = BA_ID_1;
1539 int i=0;
1540
1541 prim->result[i].radio_freq = ARFCN_23;
1542 prim->result[i].rxlev = ARFCN_23_RXLEVEL;
1543 i++;
1544
1545 prim->result[i].radio_freq = ARFCN_14;
1546 prim->result[i].rxlev = ARFCN_14_RXLEVEL;
1547 i++;
1548
1549 prim->result[i].radio_freq = ARFCN_25;
1550 prim->result[i].rxlev = ARFCN_25_RXLEVEL;
1551 i++;
1552
1553 prim->result[i].radio_freq = ARFCN_124;
1554 prim->result[i].rxlev = ARFCN_124_RXLEVEL;
1555 i++;
1556
1557 prim->result[i].radio_freq = ARFCN_512;
1558 prim->result[i].rxlev = ARFCN_512_RXLEVEL;
1559 i++;
1560
1561 prim->result[i].radio_freq = ARFCN_580;
1562 prim->result[i].rxlev = ARFCN_580_RXLEVEL;
1563 i++;
1564
1565 prim->result[i].radio_freq = ARFCN_637;
1566 prim->result[i].rxlev = ARFCN_637_RXLEVEL;
1567 i++;
1568
1569 prim->result[i].radio_freq = ARFCN_885;
1570 prim->result[i].rxlev = ARFCN_885_RXLEVEL;
1571 i++;
1572
1573 // T_TDC_INTERFACE_U8 x;
1574 // U8 y= i;
1575 // x=y;
1576 // if(x != prim->nbr_of_carriers) ;/*do something! what?*/
1577 /* or do: */
1578 prim->nbr_of_carriers = i;
1579 for (;i<MAX_MEAS_VALUES;i++) {
1580 prim->result[i].radio_freq ._skip;
1581 prim->result[i].rxlev ._skip;
1582 }
1583
1584 return prim;
1585 }
1586 T_PRIMITIVE_UNION mphc_rxlev_periodic_ind_4()
1587 {
1588 T_MPHC_RXLEV_PERIODIC_IND prim;
1589 prim->nbr_of_carriers = CHANNELS_8;
1590 prim->s_rxlev = RXLEV_56;
1591 prim->ba_id = BA_ID_1;
1592 int i=0;
1593
1594 prim->result[i].radio_freq = ARFCN_578;
1595 prim->result[i].rxlev = 30;
1596 i++;
1597
1598 prim->result[i].radio_freq = ARFCN_14;
1599 prim->result[i].rxlev = 44;
1600 i++;
1601
1602 prim->result[i].radio_freq = ARFCN_25;
1603 prim->result[i].rxlev = 55;
1604 i++;
1605
1606 prim->result[i].radio_freq = ARFCN_124;
1607 prim->result[i].rxlev = 12;
1608 i++;
1609
1610 prim->result[i].radio_freq = ARFCN_512;
1611 prim->result[i].rxlev = 43;
1612 i++;
1613
1614 prim->result[i].radio_freq = ARFCN_580;
1615 prim->result[i].rxlev = 25;
1616 i++;
1617 prim->result[i].radio_freq = ARFCN_637;
1618 prim->result[i].rxlev = 56;
1619 i++;
1620 prim->result[i].radio_freq = ARFCN_885;
1621 prim->result[i].rxlev = 25;
1622 i++;
1623
1624 prim->nbr_of_carriers = i;
1625
1626 for (;i<MAX_MEAS_VALUES;i++) {
1627 prim->result[i].radio_freq ._skip;
1628 prim->result[i].rxlev ._skip;
1629 }
1630
1631 // prim->result = ncell_res_sc_578_8();
1632 return prim;
1633 }
1634 T_PRIMITIVE_UNION mphc_rxlev_periodic_ind_5()
1635 {
1636 T_MPHC_RXLEV_PERIODIC_IND prim;
1637 // prim->result = ncell_res_sc_23_8_1();
1638 prim->nbr_of_carriers = CHANNELS_8;
1639 prim->s_rxlev = RXLEV_56;
1640 prim->ba_id = BA_ID_1;
1641 int i=0;
1642
1643 prim->result[i].radio_freq = ARFCN_14;
1644 prim->result[i].rxlev = ARFCN_14_RXLEVEL;
1645 i++;
1646
1647 prim->result[i].radio_freq = ARFCN_1;
1648 prim->result[i].rxlev = ARFCN_1_RXLEVEL;
1649 i++;
1650
1651 prim->result[i].radio_freq = ARFCN_11;
1652 prim->result[i].rxlev = ARFCN_11_RXLEVEL;
1653 i++;
1654
1655 prim->result[i].radio_freq = ARFCN_25;
1656 prim->result[i].rxlev = ARFCN_25_RXLEVEL;
1657 i++;
1658
1659 prim->result[i].radio_freq = ARFCN_87;
1660 prim->result[i].rxlev = ARFCN_87_RXLEVEL;
1661 i++;
1662
1663 prim->result[i].radio_freq = ARFCN_124;
1664 prim->result[i].rxlev = ARFCN_124_RXLEVEL;
1665 i++;
1666
1667 prim->result[i].radio_freq = ARFCN_512;
1668 prim->result[i].rxlev = ARFCN_512_RXLEVEL;
1669 i++;
1670
1671 prim->result[i].radio_freq = ARFCN_885;
1672 prim->result[i].rxlev = ARFCN_885_RXLEVEL;
1673 i++;
1674
1675 prim->nbr_of_carriers = i;
1676
1677 for (;i<MAX_MEAS_VALUES;i++) {
1678 prim->result[i].radio_freq ._skip;
1679 prim->result[i].rxlev ._skip;
1680 }
1681
1682 return prim;
1683 }
1684 T_PRIMITIVE_UNION mphc_rxlev_periodic_ind_6()
1685 {
1686 T_MPHC_RXLEV_PERIODIC_IND prim;
1687 prim->nbr_of_carriers = CHANNELS_4;
1688 prim->s_rxlev = RXLEV_56;
1689 prim->ba_id = BA_ID_1;
1690 int i=0;
1691
1692 prim->result[i].radio_freq = ARFCN_1;
1693 prim->result[i].rxlev = 11;
1694 i++;
1695
1696 prim->result[i].radio_freq = ARFCN_14;
1697 prim->result[i].rxlev = 44;
1698 i++;
1699
1700 prim->result[i].radio_freq = ARFCN_512;
1701 prim->result[i].rxlev = 43;
1702 i++;
1703
1704 prim->result[i].radio_freq = ARFCN_885;
1705 prim->result[i].rxlev = 23;
1706 i++;
1707
1708 prim->nbr_of_carriers = i;
1709
1710 for (;i<MAX_MEAS_VALUES;i++) {
1711 prim->result[i].radio_freq ._skip;
1712 prim->result[i].rxlev ._skip;
1713 }
1714
1715
1716 // prim->result = ncell_res_sc_23_4_1();
1717 return prim;
1718 }
1719 T_PRIMITIVE_UNION mphc_rxlev_periodic_ind_7()
1720 {
1721 T_MPHC_RXLEV_PERIODIC_IND prim;
1722
1723 prim->nbr_of_carriers = CHANNELS_8;
1724 prim->s_rxlev = RXLEV_56;
1725 prim->ba_id = BA_ID_1;
1726 int i=0;
1727
1728 prim->result[i].radio_freq = ARFCN_1;
1729 prim->result[i].rxlev = 33;
1730 i++;
1731
1732 prim->result[i].radio_freq = ARFCN_14;
1733 prim->result[i].rxlev = 44;
1734 i++;
1735
1736 prim->result[i].radio_freq = ARFCN_512;
1737 prim->result[i].rxlev = 12;
1738 i++;
1739
1740 prim->result[i].radio_freq = ARFCN_513;
1741 prim->result[i].rxlev = 21;
1742 i++;
1743
1744 prim->result[i].radio_freq = ARFCN_600;
1745 prim->result[i].rxlev = 24;
1746 i++;
1747
1748 prim->result[i].radio_freq = ARFCN_700;
1749 prim->result[i].rxlev = 27;
1750 i++;
1751
1752 prim->result[i].radio_freq = ARFCN_810;
1753 prim->result[i].rxlev = 18;
1754 i++;
1755
1756 prim->result[i].radio_freq = ARFCN_885;
1757 prim->result[i].rxlev = 15;
1758 i++;
1759
1760 prim->nbr_of_carriers = i;
1761
1762 for (;i<MAX_MEAS_VALUES;i++) {
1763 prim->result[i].radio_freq ._skip;
1764 prim->result[i].rxlev ._skip;
1765 }
1766 // prim->result = ncell_res_sc_637_8_1();
1767 return prim;
1768 }
1769 T_PRIMITIVE_UNION mphc_rxlev_periodic_ind_8()
1770 {
1771 T_MPHC_RXLEV_PERIODIC_IND prim;
1772 prim->nbr_of_carriers = CHANNELS_4;
1773 prim->s_rxlev = RXLEV_56;
1774 prim->ba_id = BA_ID_1;
1775 int i=0;
1776
1777 prim->result[i].radio_freq = ARFCN_14;
1778 prim->result[i].rxlev = 44;
1779 i++;
1780
1781 prim->result[i].radio_freq = ARFCN_1;
1782 prim->result[i].rxlev = 11;
1783 i++;
1784
1785 prim->result[i].radio_freq = ARFCN_512;
1786 prim->result[i].rxlev = 43;
1787 i++;
1788
1789 prim->result[i].radio_freq = ARFCN_885;
1790 prim->result[i].rxlev = 23;
1791 i++;
1792
1793 prim->nbr_of_carriers = i;
1794
1795 for (;i<MAX_MEAS_VALUES;i++) {
1796 prim->result[i].radio_freq ._skip;
1797 prim->result[i].rxlev ._skip;
1798 }
1799 //prim->result = ncell_res_sc_637_4_1();
1800 return prim;
1801 }
1802
1803 T_PRIMITIVE_UNION mphc_rxlev_periodic_ind_9(U16 rx_1, U16 rx_2, U16 rx_3, U16 rx_4)
1804 {
1805 T_MPHC_RXLEV_PERIODIC_IND prim;
1806
1807 prim->nbr_of_carriers = CHANNELS_4;
1808 prim->s_rxlev = rx_1;
1809 prim->ba_id = BA_ID_1;
1810 int i=0;
1811
1812 prim->result[i].radio_freq = ARFCN_23;
1813 prim->result[i].rxlev = rx_1;
1814 i++;
1815
1816 prim->result[i].radio_freq = ARFCN_1;
1817 prim->result[i].rxlev = rx_2;
1818 i++;
1819
1820 prim->result[i].radio_freq = ARFCN_14;
1821 prim->result[i].rxlev = rx_3;
1822 i++;
1823
1824 prim->result[i].radio_freq = ARFCN_124;
1825 prim->result[i].rxlev = rx_4;
1826 i++;
1827
1828 prim->nbr_of_carriers = i;
1829
1830 for(;i<MAX_MEAS_VALUES;i++) {
1831 prim->result[i].radio_freq._skip;
1832 prim->result[i].rxlev ._skip;
1833 }
1834 return prim;
1835 }
1836
1837 T_PRIMITIVE_UNION mphc_rxlev_periodic_ind_9A(U16 rx_1, U16 rx_2)
1838 {
1839 T_MPHC_RXLEV_PERIODIC_IND prim;
1840
1841 prim->nbr_of_carriers = CHANNELS_2;
1842 prim->s_rxlev = rx_1;
1843 prim->ba_id = BA_ID_1;
1844 int i=0;
1845
1846 prim->result[i].radio_freq = ARFCN_23;
1847 prim->result[i].rxlev = rx_1;
1848 i++;
1849
1850 prim->result[i].radio_freq = ARFCN_512;
1851 prim->result[i].rxlev = rx_2;
1852 i++;
1853
1854 prim->nbr_of_carriers = i;
1855
1856 for(;i<MAX_MEAS_VALUES;i++) {
1857 prim->result[i].radio_freq._skip;
1858 prim->result[i].rxlev ._skip;
1859 }
1860 return prim;
1861 }
1862
1863 T_PRIMITIVE_UNION mph_measurement_ind_1()
1864 {
1865 T_MPH_MEASUREMENT_IND prim;
1866 prim->arfcn = ARFCN_23;
1867 prim->rx_lev_full = RXLEV_56;
1868 prim->rx_lev_sub._skip;
1869 prim->rx_qual_full._skip;
1870 prim->rx_qual_sub._skip;
1871 prim->dtx._skip;
1872 prim->otd._skip;
1873 prim->valid = VALID_REPORT;
1874 prim->fn_offset = FN_OFFSET_1020;
1875 prim->ncells._skip;
1876 prim->gprs_sync._skip;
1877 prim->bcch_rxlev_of_sc._skip;
1878 return prim;
1879 }
1880
1881 T_PRIMITIVE_UNION mph_measurement_ind_2()
1882 {
1883 T_MPH_MEASUREMENT_IND prim;
1884 prim->arfcn = ARFCN_23;
1885 prim->rx_lev_full = RXLEV_56;
1886 prim->rx_lev_sub._skip;
1887 prim->rx_qual_full._skip;
1888 prim->rx_qual_sub._skip;
1889 prim->dtx._skip;
1890 prim->otd._skip;
1891 prim->valid = VALID_REPORT;
1892 prim->fn_offset = FN_OFFSET_102;
1893 prim->ncells._skip;
1894 prim->gprs_sync._skip;
1895 prim->bcch_rxlev_of_sc._skip;
1896 return prim;
1897 }
1898
1899 T_PRIMITIVE_UNION mph_measurement_ind_3()
1900 {
1901 T_MPH_MEASUREMENT_IND prim;
1902 prim->arfcn = ARFCN_23;
1903 prim->rx_lev_full = RXLEV_56;
1904 prim->rx_lev_sub._skip;
1905 prim->rx_qual_full._skip;
1906 prim->rx_qual_sub._skip;
1907 prim->dtx._skip;
1908 prim->otd._skip;
1909 prim->valid = VALID_REPORT;
1910 prim->fn_offset = FN_OFFSET_1071;
1911 prim->ncells._skip;
1912 prim->gprs_sync._skip;
1913 prim->bcch_rxlev_of_sc._skip;
1914 return prim;
1915 }
1916
1917 T_PRIMITIVE_UNION mph_measurement_ind_4()
1918 {
1919 T_MPH_MEASUREMENT_IND prim;
1920 prim->arfcn = ARFCN_23;
1921 prim->rx_lev_full = RXLEV_56;
1922 prim->rx_lev_sub._skip;
1923 prim->rx_qual_full._skip;
1924 prim->rx_qual_sub._skip;
1925 prim->dtx._skip;
1926 prim->otd._skip;
1927 prim->valid = VALID_REPORT;
1928 prim->fn_offset = FN_OFFSET_153;
1929 prim->ncells._skip;
1930 prim->gprs_sync._skip;
1931 prim->bcch_rxlev_of_sc._skip;
1932 return prim;
1933 }
1934
1935 T_PRIMITIVE_UNION mph_measurement_ind_5()
1936 {
1937 T_MPH_MEASUREMENT_IND prim;
1938 prim->arfcn = ARFCN_23;
1939 prim->rx_lev_full = RXLEV_56;
1940 prim->rx_lev_sub._skip;
1941 prim->rx_qual_full._skip;
1942 prim->rx_qual_sub._skip;
1943 prim->dtx._skip;
1944 prim->otd._skip;
1945 prim->valid = VALID_REPORT;
1946 prim->fn_offset = FN_OFFSET_204;
1947 prim->ncells._skip;
1948 prim->gprs_sync._skip;
1949 prim->bcch_rxlev_of_sc._skip;
1950 return prim;
1951 }
1952
1953 T_PRIMITIVE_UNION mph_measurement_ind_6()
1954 {
1955 T_MPH_MEASUREMENT_IND prim;
1956 prim->arfcn = ARFCN_23;
1957 prim->rx_lev_full = RXLEV_56;
1958 prim->rx_lev_sub._skip;
1959 prim->rx_qual_full._skip;
1960 prim->rx_qual_sub._skip;
1961 prim->dtx._skip;
1962 prim->otd._skip;
1963 prim->valid = VALID_REPORT;
1964 prim->fn_offset = FN_OFFSET_255;
1965 prim->ncells._skip;
1966 prim->gprs_sync._skip;
1967 prim->bcch_rxlev_of_sc._skip;
1968 return prim;
1969 }
1970
1971 T_PRIMITIVE_UNION mph_measurement_ind_7()
1972 {
1973 T_MPH_MEASUREMENT_IND prim;
1974 prim->arfcn = ARFCN_23;
1975 prim->rx_lev_full = RXLEV_56;
1976 prim->rx_lev_sub._skip;
1977 prim->rx_qual_full._skip;
1978 prim->rx_qual_sub._skip;
1979 prim->dtx._skip;
1980 prim->otd._skip;
1981 prim->valid = VALID_REPORT;
1982 prim->fn_offset = FN_OFFSET_918;
1983 prim->ncells._skip;
1984 prim->gprs_sync._skip;
1985 prim->bcch_rxlev_of_sc._skip;
1986 return prim;
1987 }
1988
1989 T_PRIMITIVE_UNION mph_measurement_ind_8()
1990 {
1991 T_MPH_MEASUREMENT_IND prim;
1992 prim->arfcn = ARFCN_23;
1993 prim->rx_lev_full = RXLEV_56;
1994 prim->rx_lev_sub._skip;
1995 prim->rx_qual_full._skip;
1996 prim->rx_qual_sub._skip;
1997 prim->dtx._skip;
1998 prim->otd._skip;
1999 prim->valid = VALID_REPORT;
2000 prim->fn_offset = FN_OFF_ARFCN_23;
2001 prim->ncells._skip;
2002 prim->gprs_sync._skip;
2003 prim->bcch_rxlev_of_sc._skip;
2004 return prim;
2005 }
2006
2007 T_PRIMITIVE_UNION mph_measurement_ind_9()
2008 {
2009 T_MPH_MEASUREMENT_IND prim;
2010 prim->arfcn = ARFCN_23;
2011 prim->rx_lev_full = RXLEV_56;
2012 prim->rx_lev_sub._skip;
2013 prim->rx_qual_full._skip;
2014 prim->rx_qual_sub._skip;
2015 prim->dtx._skip;
2016 prim->otd._skip;
2017 prim->valid = VALID_REPORT;
2018 prim->fn_offset = FN_OFFSET_357;
2019 prim->ncells._skip;
2020 prim->gprs_sync._skip;
2021 prim->bcch_rxlev_of_sc._skip;
2022 return prim;
2023 }
2024
2025 T_PRIMITIVE_UNION mph_measurement_ind_10()
2026 {
2027 T_MPH_MEASUREMENT_IND prim;
2028 prim->arfcn = ARFCN_23;
2029 prim->rx_lev_full = RXLEV_56;
2030 prim->rx_lev_sub._skip;
2031 prim->rx_qual_full._skip;
2032 prim->rx_qual_sub._skip;
2033 prim->dtx._skip;
2034 prim->otd._skip;
2035 prim->valid = VALID_REPORT;
2036 prim->fn_offset = FN_OFFSET_816;
2037 prim->ncells._skip;
2038 prim->gprs_sync._skip;
2039 prim->bcch_rxlev_of_sc._skip;
2040 return prim;
2041 }
2042
2043 T_PRIMITIVE_UNION mph_measurement_ind_11()
2044 {
2045 T_MPH_MEASUREMENT_IND prim;
2046 prim->arfcn = ARFCN_23;
2047 prim->rx_lev_full = RXLEV_56;
2048 prim->rx_lev_sub._skip;
2049 prim->rx_qual_full._skip;
2050 prim->rx_qual_sub._skip;
2051 prim->dtx._skip;
2052 prim->otd._skip;
2053 prim->valid = VALID_REPORT;
2054 prim->fn_offset = FN_OFFSET_408;
2055 prim->ncells._skip;
2056 prim->gprs_sync._skip;
2057 prim->bcch_rxlev_of_sc._skip;
2058 return prim;
2059 }
2060
2061
2062
2063 T_PRIMITIVE_UNION mph_measurement_ind_dummy(U16 s_arfcn, U8 rxlev_full)
2064 {
2065 T_MPH_MEASUREMENT_IND prim;
2066 prim->arfcn = s_arfcn;
2067 prim->rx_lev_full = rxlev_full;
2068 prim->rx_lev_sub._skip;
2069 prim->rx_qual_full._skip;
2070 prim->rx_qual_sub._skip;
2071 prim->dtx._skip;
2072 prim->otd._skip;
2073 prim->valid = VALID_REPORT;
2074 prim->fn_offset._show;
2075 prim->ncells._show;
2076 prim->gprs_sync._skip;
2077 prim->bcch_rxlev_of_sc._skip;
2078 return prim;
2079 }
2080
2081 T_PRIMITIVE_UNION mph_measurement_ind_bho_1(U16 s_arfcn, U8 rxlev_full)
2082 {
2083 T_MPH_MEASUREMENT_IND prim;
2084 int i;
2085 prim->arfcn = s_arfcn;
2086 prim->rx_lev_full = rxlev_full;
2087 prim->rx_lev_sub._skip;
2088 prim->rx_qual_full._skip;
2089 prim->rx_qual_sub._skip;
2090 prim->dtx._skip;
2091 prim->otd._skip;
2092 prim->valid = VALID_REPORT;
2093 prim->fn_offset._show;
2094 prim->ncells.no_of_ncells = i = 3;
2095
2096 prim->ncells.arfcn[0] = ARFCN_14;
2097 prim->ncells.arfcn[1] = ARFCN_23;
2098
2099 prim->ncells.arfcn[2] = ARFCN_124;
2100
2101 prim->ncells.bsic[0] = 1;
2102 prim->ncells.bsic[1] = 1;
2103 prim->ncells.bsic[2] = 1;
2104
2105 prim->ncells.rx_lev[0] = 0x2C;
2106 prim->ncells.rx_lev[1] = 0x1E;
2107 prim->ncells.rx_lev[2] = 0x19;
2108
2109 prim->ncells.frame_offset[0] = 0xD;
2110 prim->ncells.frame_offset[1] = 0x296F9C;
2111 prim->ncells.frame_offset[2] = 0xE0;
2112
2113 prim->ncells.time_alignmt[0] = 0xD;
2114 prim->ncells.time_alignmt[1] = 0x1387;
2115 prim->ncells.time_alignmt[2] = 0x7C;
2116
2117 #ifdef FF_EGPRS
2118 int maxnum = MAX_NUM_CELLS_IN_REPORT;
2119 #else // FF_EGPRS
2120 int maxnum = 6;
2121 #endif // FF_EGPRS
2122
2123 for(;i<maxnum;i++)
2124 {
2125 prim->ncells.arfcn[i]=0;
2126 prim->ncells.bsic[i]=0;
2127 prim->ncells.rx_lev[i]=0;
2128 prim->ncells.frame_offset[i]=0;
2129 prim->ncells.time_alignmt[i]=0;
2130 }
2131 prim->gprs_sync._skip;
2132 prim->bcch_rxlev_of_sc._skip;
2133 return prim;
2134 }
2135
2136
2137 T_PRIMITIVE_UNION mph_measurement_ind_12()
2138 {
2139 T_MPH_MEASUREMENT_IND prim;
2140 prim->arfcn = ARFCN_23;
2141 prim->rx_lev_full = RXLEV_56;
2142 prim->rx_lev_sub._skip;
2143 prim->rx_qual_full._skip;
2144 prim->rx_qual_sub._skip;
2145 prim->dtx._skip;
2146 prim->otd._skip;
2147 prim->valid = VALID_REPORT;
2148 prim->fn_offset = FN_OFFSET_459;
2149 prim->ncells._skip;
2150 prim->gprs_sync._skip;
2151 prim->bcch_rxlev_of_sc._skip;
2152 return prim;
2153 }
2154 T_PRIMITIVE_UNION mph_measurement_ind_13()
2155 {
2156 T_MPH_MEASUREMENT_IND prim;
2157 prim->arfcn = ARFCN_23;
2158 prim->rx_lev_full = RXLEV_56;
2159 prim->rx_lev_sub._skip;
2160 prim->rx_qual_full._skip;
2161 prim->rx_qual_sub._skip;
2162 prim->dtx._skip;
2163 prim->otd._skip;
2164 prim->valid = VALID_REPORT;
2165 prim->fn_offset = FN_OFFSET_918;
2166 prim->ncells = ncells_no_content();
2167 prim->gprs_sync._skip;
2168 prim->bcch_rxlev_of_sc._skip;
2169 return prim;
2170 }
2171 T_PRIMITIVE_UNION mph_measurement_ind_14()
2172 {
2173 T_MPH_MEASUREMENT_IND prim;
2174 prim->arfcn = ARFCN_23;
2175 prim->rx_lev_full = RXLEV_56;
2176 prim->rx_lev_sub._skip;
2177 prim->rx_qual_full._skip;
2178 prim->rx_qual_sub._skip;
2179 prim->dtx._skip;
2180 prim->otd._skip;
2181 prim->valid = VALID_REPORT;
2182 prim->fn_offset = FN_OFF_ARFCN_23;
2183 prim->ncells = ncells_1_14_124();
2184 prim->gprs_sync._skip;
2185 prim->bcch_rxlev_of_sc._skip;
2186 return prim;
2187 }
2188
2189 T_PRIMITIVE_UNION mph_measurement_ind_15()
2190 {
2191 const U16 CHLIST_1_124_elements[2] = {
2192 ARFCN_1,
2193 ARFCN_124
2194 };
2195 T_ARRAY<U16> CHLIST_1_124(CHLIST_1_124_elements, SKIP_TO_END);
2196
2197 const U8 NCELLS_1_124_RXLEVS_elements[2] = {
2198 12, 25
2199 };
2200 T_ARRAY<U8> NCELLS_1_124_RXLEVS(NCELLS_1_124_RXLEVS_elements, SKIP_TO_END);
2201
2202 const U8 NCELLS_1_124_BSICS_elements[2] = {
2203 1,1
2204 };
2205 T_ARRAY<U8> NCELLS_1_124_BSICS(NCELLS_1_124_BSICS_elements, SKIP_TO_END);
2206
2207 const U32 NCELLS_1_124_TA_elements[2] = {
2208 1, 124
2209 };
2210 T_ARRAY<U32> NCELLS_1_124_TA(NCELLS_1_124_TA_elements, SKIP_TO_END);
2211
2212 const U32 NCELLS_1_124_FO_elements[2] = {
2213 101, 224 /* not interpreted in old tap ? wrong field length */
2214 };
2215 T_ARRAY<U32> NCELLS_1_124_FO(NCELLS_1_124_FO_elements, SKIP_TO_END);
2216
2217 T_MPH_MEASUREMENT_IND prim;
2218 prim->arfcn = ARFCN_23;
2219 prim->rx_lev_full = RXLEV_56;
2220 prim->rx_lev_sub._skip;
2221 prim->rx_qual_full._skip;
2222 prim->rx_qual_sub._skip;
2223 prim->dtx._skip;
2224 prim->otd._skip;
2225 prim->valid = VALID_REPORT;
2226 prim->fn_offset = FN_OFF_ARFCN_23;
2227 // prim->ncells = ncells_1_124();
2228 prim->ncells.no_of_ncells = 2;
2229 prim->ncells.arfcn = CHLIST_1_124;
2230 prim->ncells.rx_lev = NCELLS_1_124_RXLEVS;
2231 prim->ncells.bsic = NCELLS_1_124_BSICS;
2232 prim->ncells.time_alignmt = NCELLS_1_124_TA;
2233 prim->ncells.frame_offset = NCELLS_1_124_FO;
2234
2235 prim->gprs_sync._skip;
2236 prim->bcch_rxlev_of_sc._skip;
2237 return prim;
2238 }
2239 T_PRIMITIVE_UNION mph_measurement_ind_16()
2240 {
2241 T_MPH_MEASUREMENT_IND prim;
2242 prim->arfcn = ARFCN_23;
2243 prim->rx_lev_full = RXLEV_56;
2244 prim->rx_lev_sub._skip;
2245 prim->rx_qual_full._skip;
2246 prim->rx_qual_sub._skip;
2247 prim->dtx._skip;
2248 prim->otd._skip;
2249 prim->valid = VALID_REPORT;
2250 prim->fn_offset = FN_OFF_ARFCN_23;
2251 prim->ncells = ncells_no_content();
2252 prim->gprs_sync._skip;
2253 prim->bcch_rxlev_of_sc._skip;
2254 return prim;
2255 }
2256 T_PRIMITIVE_UNION mph_measurement_ind_17()
2257 {
2258 const U16 CHLIST_1_14_elements[2] = {
2259 ARFCN_1,
2260 ARFCN_14
2261 };
2262 T_ARRAY<U16> CHLIST_1_14(CHLIST_1_14_elements, SKIP_TO_END);
2263 const U8 NCELLS_1_14_NCC_RXLEVS_elements[2] = {
2264 12, 44
2265 };
2266 T_ARRAY<U8> NCELLS_1_14_NCC_RXLEVS(NCELLS_1_14_NCC_RXLEVS_elements, SKIP_TO_END);
2267
2268 const U8 NCELLS_1_14_NCC_BSICS_elements[2] = {
2269 16,16
2270 };
2271 T_ARRAY<U8> NCELLS_1_14_NCC_BSICS(NCELLS_1_14_NCC_BSICS_elements, SKIP_TO_END);
2272
2273 const U32 NCELLS_1_14_NCC_TA_elements[2] = {
2274 1, 14
2275 };
2276 T_ARRAY<U32> NCELLS_1_14_NCC_TA(NCELLS_1_14_NCC_TA_elements, SKIP_TO_END);
2277
2278 const U32 NCELLS_1_14_NCC_FO_elements[2] = {
2279 101, 114 /* not interpreted in old TAP */
2280 };
2281 T_ARRAY<U32> NCELLS_1_14_NCC_FO(NCELLS_1_14_NCC_FO_elements, SKIP_TO_END);
2282
2283 T_MPH_MEASUREMENT_IND prim;
2284 prim->arfcn = ARFCN_23;
2285 prim->rx_lev_full = RXLEV_56;
2286 prim->rx_lev_sub._skip;
2287 prim->rx_qual_full._skip;
2288 prim->rx_qual_sub._skip;
2289 prim->dtx._skip;
2290 prim->otd._skip;
2291 prim->valid = VALID_REPORT;
2292 prim->fn_offset = FN_OFF_ARFCN_23;
2293 // prim->ncells = ncells_1_14_ncc();
2294 prim->ncells.no_of_ncells = 2;
2295 prim->ncells.arfcn = CHLIST_1_14;
2296 prim->ncells.rx_lev = NCELLS_1_14_NCC_RXLEVS;
2297 prim->ncells.bsic = NCELLS_1_14_NCC_BSICS;
2298 prim->ncells.time_alignmt = NCELLS_1_14_NCC_TA;
2299 prim->ncells.frame_offset = NCELLS_1_14_NCC_FO;
2300 prim->gprs_sync._skip;
2301 prim->bcch_rxlev_of_sc._skip;
2302 return prim;
2303 }
2304 T_PRIMITIVE_UNION mph_measurement_ind_18()
2305 {
2306 T_MPH_MEASUREMENT_IND prim;
2307 prim->arfcn = ARFCN_23;
2308 prim->rx_lev_full = RXLEV_56;
2309 prim->rx_lev_sub._skip;
2310 prim->rx_qual_full._skip;
2311 prim->rx_qual_sub._skip;
2312 prim->dtx._skip;
2313 prim->otd._skip;
2314 prim->valid = VALID_REPORT;
2315 prim->fn_offset = FN_OFFSET_816;
2316 prim->ncells = ncells_no_content();
2317 prim->gprs_sync._skip;
2318 prim->bcch_rxlev_of_sc._skip;
2319 return prim;
2320 }
2321
2322 T_PRIMITIVE_UNION mph_measurement_ind_19()
2323 {
2324 T_MPH_MEASUREMENT_IND prim;
2325 prim->arfcn = ARFCN_23;
2326 prim->rx_lev_full = RXLEV_56;
2327 prim->rx_lev_sub._skip;
2328 prim->rx_qual_full._skip;
2329 prim->rx_qual_sub._skip;
2330 prim->dtx._skip;
2331 prim->otd._skip;
2332 prim->valid = VALID_REPORT;
2333 prim->fn_offset = FN_OFFSET_408;
2334 prim->ncells = ncells_1_14_124();
2335 prim->gprs_sync._skip;
2336 prim->bcch_rxlev_of_sc._skip;
2337 return prim;
2338 }
2339 T_PRIMITIVE_UNION mph_measurement_ind_20()
2340 {
2341 T_MPH_MEASUREMENT_IND prim;
2342 prim->arfcn = CONST_23;
2343 prim->rx_lev_full = CONST_63;
2344 prim->rx_lev_sub._skip;
2345 prim->rx_qual_full._skip;
2346 prim->rx_qual_sub._skip;
2347 prim->dtx._skip;
2348 prim->otd._skip;
2349 prim->valid._skip;
2350 prim->fn_offset._skip;
2351 prim->ncells._skip;
2352 prim->gprs_sync._skip;
2353 prim->bcch_rxlev_of_sc._skip;
2354 return prim;
2355 }
2356 T_PRIMITIVE_UNION mph_measurement_ind_21()
2357 {
2358 T_MPH_MEASUREMENT_IND prim;
2359 prim->arfcn = ARFCN_23;
2360 prim->rx_lev_full = RXLEV_56;
2361 prim->rx_lev_sub._skip;
2362 prim->rx_qual_full._skip;
2363 prim->rx_qual_sub._skip;
2364 prim->dtx._skip;
2365 prim->otd._skip;
2366 prim->valid = VALID_REPORT;
2367 prim->fn_offset = FN_OFF_ARFCN_23;
2368 prim->ncells = ncells_sc_900_8();
2369 prim->gprs_sync._skip;
2370 prim->bcch_rxlev_of_sc._skip;
2371 return prim;
2372 }
2373 T_PRIMITIVE_UNION mph_measurement_ind_22()
2374 {
2375 T_MPH_MEASUREMENT_IND prim;
2376 prim->arfcn = ARFCN_578;
2377 prim->rx_lev_full = RXLEV_56;
2378 prim->rx_lev_sub._skip;
2379 prim->rx_qual_full._skip;
2380 prim->rx_qual_sub._skip;
2381 prim->dtx._skip;
2382 prim->otd._skip;
2383 prim->valid = VALID_REPORT;
2384 prim->fn_offset = FN_OFFSET_918;
2385 prim->ncells = ncells_no_content();
2386 prim->gprs_sync._skip;
2387 prim->bcch_rxlev_of_sc._skip;
2388 return prim;
2389 }
2390
2391 T_PRIMITIVE_UNION mph_measurement_ind_23()
2392 {
2393 T_MPH_MEASUREMENT_IND prim;
2394 prim->arfcn = ARFCN_578;
2395 prim->rx_lev_full = RXLEV_56;
2396 prim->rx_lev_sub._skip;
2397 prim->rx_qual_full._skip;
2398 prim->rx_qual_sub._skip;
2399 prim->dtx._skip;
2400 prim->otd._skip;
2401 prim->valid = VALID_REPORT;
2402 prim->fn_offset = FN_OFFSET_306;
2403 prim->ncells = ncells_sc_900_8();
2404 prim->gprs_sync._skip;
2405 prim->bcch_rxlev_of_sc._skip;
2406 return prim;
2407 }
2408 T_PRIMITIVE_UNION mph_measurement_ind_24()
2409 {
2410 T_MPH_MEASUREMENT_IND prim;
2411 const U16 CHLIST_11_14_25_87_124_512_elements[6] = {
2412 ARFCN_11,
2413 ARFCN_14,
2414 ARFCN_25,
2415 ARFCN_87,
2416 ARFCN_124,
2417 ARFCN_512
2418 };
2419 T_ARRAY<U16> CHLIST_11_14_25_87_124_512(CHLIST_11_14_25_87_124_512_elements, SKIP_TO_END);
2420
2421 const U8 NCELLS_SC_900_8_1_RXLEVS_elements[6] = {
2422 ARFCN_11_RXLEVEL,
2423 ARFCN_14_RXLEVEL,
2424 ARFCN_25_RXLEVEL,
2425 ARFCN_87_RXLEVEL,
2426 ARFCN_124_RXLEVEL,
2427 ARFCN_512_RXLEVEL
2428 };
2429 T_ARRAY<U8> NCELLS_SC_900_8_1_RXLEVS(NCELLS_SC_900_8_1_RXLEVS_elements, SKIP_TO_END);
2430
2431 const U8 NCELLS_SC_900_8_1_BSICS_elements[6] = {
2432 1, 1, 1, 1, 1, 1
2433 };
2434 T_ARRAY<U8> NCELLS_SC_900_8_1_BSICS(NCELLS_SC_900_8_1_BSICS_elements, SKIP_TO_END);
2435
2436 const U32 NCELLS_SC_900_8_1_TA_elements[6] = {
2437 TIME_ALIGNMT_14,
2438 TIME_ALIGNMT_14,
2439 TIME_ALIGNMT_14,
2440 TIME_ALIGNMT_14,
2441 TIME_ALIGNMT_14,
2442 TIME_ALIGNMT_14
2443 };
2444 T_ARRAY<U32> NCELLS_SC_900_8_1_TA(NCELLS_SC_900_8_1_TA_elements, SKIP_TO_END);
2445
2446 const U32 NCELLS_SC_900_8_1_FO_elements[6] = {
2447 FN_OFF_ARFCN_14,
2448 FN_OFF_ARFCN_14,
2449 FN_OFF_ARFCN_14,
2450 FN_OFF_ARFCN_14,
2451 FN_OFF_ARFCN_14,
2452 FN_OFF_ARFCN_14
2453 };
2454 T_ARRAY<U32> NCELLS_SC_900_8_1_FO(NCELLS_SC_900_8_1_FO_elements, SKIP_TO_END);
2455
2456 prim->arfcn = ARFCN_23;
2457 prim->rx_lev_full = RXLEV_56;
2458 prim->rx_lev_sub._skip;
2459 prim->rx_qual_full._skip;
2460 prim->rx_qual_sub._skip;
2461 prim->dtx._skip;
2462 prim->otd._skip;
2463 prim->valid = VALID_REPORT;
2464 prim->fn_offset = FN_OFF_ARFCN_23;
2465 // prim->ncells = ncells_sc_900_8_1();
2466 prim->ncells.no_of_ncells = 6;
2467 prim->ncells.arfcn = CHLIST_11_14_25_87_124_512;
2468 prim->ncells.rx_lev = NCELLS_SC_900_8_1_RXLEVS;
2469 prim->ncells.bsic = NCELLS_SC_900_8_1_BSICS;
2470 prim->ncells.time_alignmt = NCELLS_SC_900_8_1_TA;
2471 prim->ncells.frame_offset = NCELLS_SC_900_8_1_FO;
2472 prim->gprs_sync._skip;
2473 prim->bcch_rxlev_of_sc._skip;
2474 return prim;
2475 }
2476 T_PRIMITIVE_UNION mph_measurement_ind_25()
2477 {
2478 const U8 NCELLS_SC_900_4_1_RXLEVS_elements[4] = {
2479 11, 44, 43, 23
2480 };
2481 T_ARRAY<U8> NCELLS_SC_900_4_1_RXLEVS(NCELLS_SC_900_4_1_RXLEVS_elements, SKIP_TO_END);
2482 const U8 NCELLS_SC_900_4_1_BSICS_elements[4] = {
2483 1, 1, 1, 1
2484 };
2485 T_ARRAY<U8> NCELLS_SC_900_4_1_BSICS(NCELLS_SC_900_4_1_BSICS_elements, SKIP_TO_END);
2486
2487 const U32 NCELLS_SC_900_4_1_TA_elements[4] = {
2488 TIME_ALIGNMT_14,
2489 TIME_ALIGNMT_14,
2490 TIME_ALIGNMT_14,
2491 TIME_ALIGNMT_14
2492 };
2493 T_ARRAY<U32> NCELLS_SC_900_4_1_TA(NCELLS_SC_900_4_1_TA_elements, SKIP_TO_END);
2494
2495 const U32 NCELLS_SC_900_4_1_FO_elements[4] = {
2496 FN_OFF_ARFCN_14,
2497 FN_OFF_ARFCN_14,
2498 FN_OFF_ARFCN_14,
2499 FN_OFF_ARFCN_14
2500 };
2501 T_ARRAY<U32> NCELLS_SC_900_4_1_FO(NCELLS_SC_900_4_1_FO_elements, SKIP_TO_END);
2502
2503 T_MPH_MEASUREMENT_IND prim;
2504 prim->arfcn = ARFCN_23;
2505 prim->rx_lev_full = RXLEV_56;
2506 prim->rx_lev_sub._skip;
2507 prim->rx_qual_full._skip;
2508 prim->rx_qual_sub._skip;
2509 prim->dtx._skip;
2510 prim->otd._skip;
2511 prim->valid = VALID_REPORT;
2512 prim->fn_offset = FN_OFF_ARFCN_23;
2513 // prim->ncells = ncells_sc_900_4_1(); prim->ncells.
2514 prim->ncells.no_of_ncells = 4;
2515 prim->ncells.arfcn = CHLIST_1_14_512_885;
2516 prim->ncells.rx_lev = NCELLS_SC_900_4_1_RXLEVS;
2517 prim->ncells.bsic = NCELLS_SC_900_4_1_BSICS;
2518 prim->ncells.time_alignmt = NCELLS_SC_900_4_1_TA;
2519 prim->ncells.frame_offset = NCELLS_SC_900_4_1_FO;
2520 prim->gprs_sync._skip;
2521 prim->bcch_rxlev_of_sc._skip;
2522 return prim;
2523 }
2524 T_PRIMITIVE_UNION mph_measurement_ind_26()
2525 {
2526 T_MPH_MEASUREMENT_IND prim;
2527 prim->arfcn = ARFCN_637;
2528 prim->rx_lev_full = RXLEV_56;
2529 prim->rx_lev_sub._skip;
2530 prim->rx_qual_full._skip;
2531 prim->rx_qual_sub._skip;
2532 prim->dtx._skip;
2533 prim->otd._skip;
2534 prim->valid = VALID_REPORT;
2535 prim->fn_offset = FN_OFFSET_918;
2536 prim->ncells = ncells_no_content();
2537 prim->gprs_sync._skip;
2538 prim->bcch_rxlev_of_sc._skip;
2539 return prim;
2540 }
2541 T_PRIMITIVE_UNION mph_measurement_ind_27()
2542 {
2543 const U16 CHLIST_14_513_600_700_810_885_elements[6] = {
2544 ARFCN_14,
2545 ARFCN_513,
2546 ARFCN_600,
2547 ARFCN_700,
2548 ARFCN_810,
2549 ARFCN_885
2550 };
2551 T_ARRAY<U16> CHLIST_14_513_600_700_810_885(CHLIST_14_513_600_700_810_885_elements, SKIP_TO_END);
2552
2553 const U8 NCELLS_SC_1800_8_1_RXLEVS_elements[6] = {
2554 44,21,24,27,18,15
2555 };
2556 T_ARRAY<U8> NCELLS_SC_1800_8_1_RXLEVS(NCELLS_SC_1800_8_1_RXLEVS_elements, SKIP_TO_END);
2557
2558 const U8 NCELLS_SC_1800_8_1_BSICS_elements[6] = {
2559 1,1,1,1,1,1
2560 };
2561 T_ARRAY<U8> NCELLS_SC_1800_8_1_BSICS(NCELLS_SC_1800_8_1_BSICS_elements, SKIP_TO_END);
2562
2563 const U32 NCELLS_SC_1800_8_1_TA_elements[6] = {
2564 TIME_ALIGNMT_14,
2565 TIME_ALIGNMT_14,
2566 TIME_ALIGNMT_14,
2567 TIME_ALIGNMT_14,
2568 TIME_ALIGNMT_14,
2569 TIME_ALIGNMT_14
2570 };
2571 T_ARRAY<U32> NCELLS_SC_1800_8_1_TA(NCELLS_SC_1800_8_1_TA_elements, SKIP_TO_END);
2572
2573 const U32 NCELLS_SC_1800_8_1_FO_elements[6] = {
2574 FN_OFF_ARFCN_14,
2575 FN_OFF_ARFCN_14,
2576 FN_OFF_ARFCN_14,
2577 FN_OFF_ARFCN_14,
2578 FN_OFF_ARFCN_14,
2579 FN_OFF_ARFCN_14
2580 };
2581 T_ARRAY<U32> NCELLS_SC_1800_8_1_FO(NCELLS_SC_1800_8_1_FO_elements, SKIP_TO_END);
2582
2583 T_MPH_MEASUREMENT_IND prim;
2584 prim->arfcn = ARFCN_637;
2585 prim->rx_lev_full = RXLEV_56;
2586 prim->rx_lev_sub._skip;
2587 prim->rx_qual_full._skip;
2588 prim->rx_qual_sub._skip;
2589 prim->dtx._skip;
2590 prim->otd._skip;
2591 prim->valid = VALID_REPORT;
2592 prim->fn_offset = FN_OFFSET_306;
2593 // prim->ncells = ncells_sc_1800_8_1();
2594 prim->ncells.no_of_ncells = 6;
2595 prim->ncells.arfcn = CHLIST_14_513_600_700_810_885;
2596 prim->ncells.rx_lev = NCELLS_SC_1800_8_1_RXLEVS;
2597 prim->ncells.bsic = NCELLS_SC_1800_8_1_BSICS;
2598 prim->ncells.time_alignmt = NCELLS_SC_1800_8_1_TA;
2599 prim->ncells.frame_offset = NCELLS_SC_1800_8_1_FO;
2600 prim->gprs_sync._skip;
2601 prim->bcch_rxlev_of_sc._skip;
2602 return prim;
2603 }
2604
2605
2606
2607
2608 T_PRIMITIVE_UNION mph_measurement_ind_28()
2609 {
2610 const U8 NCELLS_SC_1800_4_1_RXLEVS_elements[4] = {
2611 11,44,43,23
2612 };
2613 T_ARRAY<U8> NCELLS_SC_1800_4_1_RXLEVS(NCELLS_SC_1800_4_1_RXLEVS_elements, SKIP_TO_END);
2614 const U8 NCELLS_SC_1800_4_1_BSICS_elements[4] = {
2615 1,1,1,1
2616 };
2617 T_ARRAY<U8> NCELLS_SC_1800_4_1_BSICS(NCELLS_SC_1800_4_1_BSICS_elements, SKIP_TO_END);
2618
2619 const U32 NCELLS_SC_1800_4_1_TA_elements[4] = {
2620 TIME_ALIGNMT_14,
2621 TIME_ALIGNMT_14,
2622 TIME_ALIGNMT_14,
2623 TIME_ALIGNMT_14
2624 };
2625 T_ARRAY<U32> NCELLS_SC_1800_4_1_TA(NCELLS_SC_1800_4_1_TA_elements, SKIP_TO_END);
2626
2627 const U32 NCELLS_SC_1800_4_1_FO_elements[4] = {
2628 FN_OFF_ARFCN_14,
2629 FN_OFF_ARFCN_14,
2630 FN_OFF_ARFCN_14,
2631 FN_OFF_ARFCN_14
2632 };
2633 T_ARRAY<U32> NCELLS_SC_1800_4_1_FO(NCELLS_SC_1800_4_1_FO_elements, SKIP_TO_END);
2634
2635
2636 T_MPH_MEASUREMENT_IND prim;
2637 prim->arfcn = ARFCN_637;
2638 prim->rx_lev_full = RXLEV_56;
2639 prim->rx_lev_sub._skip;
2640 prim->rx_qual_full._skip;
2641 prim->rx_qual_sub._skip;
2642 prim->dtx._skip;
2643 prim->otd._skip;
2644 prim->valid = VALID_REPORT;
2645 prim->fn_offset = FN_OFFSET_306;
2646 // prim->ncells = ncells_sc_1800_4_1();
2647 prim->ncells.no_of_ncells = 4;
2648 prim->ncells.arfcn = CHLIST_1_14_512_885;
2649 prim->ncells.rx_lev = NCELLS_SC_1800_4_1_RXLEVS;
2650 prim->ncells.bsic = NCELLS_SC_1800_4_1_BSICS;
2651 prim->ncells.time_alignmt = NCELLS_SC_1800_4_1_TA;
2652 prim->ncells.frame_offset = NCELLS_SC_1800_4_1_FO;
2653
2654 prim->gprs_sync._skip;
2655 prim->bcch_rxlev_of_sc._skip;
2656 return prim;
2657 }
2658 T_PRIMITIVE_UNION mph_measurement_ind_29()
2659 {
2660 T_MPH_MEASUREMENT_IND prim;
2661 prim->arfcn = ARFCN_23;
2662 prim->rx_lev_full = RXLEV_56;
2663 prim->rx_lev_sub._skip;
2664 prim->rx_qual_full._skip;
2665 prim->rx_qual_sub._skip;
2666 prim->dtx._skip;
2667 prim->otd._skip;
2668 prim->valid = VALID_REPORT;
2669 prim->fn_offset = FN_OFFSET_918;
2670 prim->ncells = ncells_no_content;
2671 prim->gprs_sync._skip;
2672 prim->bcch_rxlev_of_sc._skip;
2673 return prim;
2674 }
2675
2676 T_PRIMITIVE_UNION mph_measurement_ind_30()
2677 {
2678 T_MPH_MEASUREMENT_IND prim;
2679 prim->arfcn = ARFCN_23;
2680 prim->rx_lev_full = RXLEV_56;
2681 prim->rx_lev_sub._skip;
2682 prim->rx_qual_full._skip;
2683 prim->rx_qual_sub._skip;
2684 prim->dtx._skip;
2685 prim->otd._skip;
2686 prim->valid = VALID_REPORT;
2687 prim->fn_offset = FN_OFF_ARFCN_23;
2688 prim->ncells = ncells_no_content;
2689 prim->gprs_sync._skip;
2690 prim->bcch_rxlev_of_sc._skip;
2691 return prim;
2692 }
2693 T_PRIMITIVE_UNION mph_measurement_ind_31()
2694 {
2695 T_MPH_MEASUREMENT_IND prim;
2696 prim->arfcn = ARFCN_23;
2697 prim->rx_lev_full = RXLEV_56;
2698 prim->rx_lev_sub = RX_0;
2699 prim->rx_qual_full = RX_0;
2700 prim->rx_qual_sub = RX_0;
2701 prim->dtx = RX_0;
2702 prim->otd = OTD_0;
2703 prim->valid = VALID_REPORT;
2704 prim->fn_offset = FN_OFFSET_816;
2705 prim->ncells = ncells_no_content_skip();
2706 prim->gprs_sync = NORMAL_MEAS_REP;
2707 prim->bcch_rxlev_of_sc._skip;
2708 return prim;
2709 }
2710 T_PRIMITIVE_UNION mph_measurement_ind_32()
2711 {
2712 T_MPH_MEASUREMENT_IND prim;
2713 prim->arfcn = ARFCN_23;
2714 prim->rx_lev_full = RXLEV_56;
2715 prim->rx_lev_sub = RX_0;
2716 prim->rx_qual_full = RX_0;
2717 prim->rx_qual_sub = RX_0;
2718 prim->dtx = RX_0;
2719 prim->otd = OTD_0;
2720 prim->valid = VALID_REPORT;
2721 prim->fn_offset = FN_OFFSET_918;
2722 prim->ncells._skip;
2723 prim->gprs_sync = NORMAL_MEAS_REP;
2724 prim->bcch_rxlev_of_sc._skip;
2725 return prim;
2726 }
2727 T_PRIMITIVE_UNION mph_measurement_ind_33()
2728 {
2729 T_MPH_MEASUREMENT_IND prim;
2730 prim->arfcn = ARFCN_23;
2731 prim->rx_lev_full = RXLEV_56;
2732 prim->rx_lev_sub = RX_0;
2733 prim->rx_qual_full = RX_0;
2734 prim->rx_qual_sub = RX_0;
2735 prim->dtx = RX_0;
2736 prim->otd = OTD_0;
2737 prim->valid = VALID_REPORT;
2738 prim->fn_offset = FN_OFF_ARFCN_23;
2739 //prim->ncells = ncells_sc_900_eotd();
2740 prim->ncells.no_of_ncells = 6;
2741 prim->ncells.arfcn = CHLIST_14_25_512_580_637_885;
2742 prim->ncells.rx_lev = NCELLS_SC_900_8_RXLEVS;
2743 prim->ncells.bsic = NCELLS_SC_900_8_BSICS;
2744 prim->ncells.time_alignmt = NCELLS_SC_900_8_TA;
2745 prim->ncells.frame_offset = NCELLS_SC_900_8_FO_EOTD;
2746 prim->bcch_rxlev_of_sc._skip;
2747 prim->gprs_sync = NORMAL_MEAS_REP;
2748 return prim;
2749 }
2750
2751 T_PRIMITIVE_UNION mph_measurement_ind_34()
2752 {
2753 const U16 RADIO_FREQ_23_124_1[6] = {
2754 ARFCN_23, ARFCN_124, ARFCN_1, 0,0,0
2755 };
2756 const U8 RXLEVS_FOR_23_124_1[6] = {
2757 30, CONST_30, 15, 0, 0, 0
2758 };
2759 const U8 BSICS_FOR_23_124_1[6] = {
2760 BSIC_1, BSIC_1, BSIC_1, 0, 0, 0
2761 };
2762 const U32 TA_FOR_23_124_1[6] = {
2763 5000 - TIME_ALIGNMT_124,
2764 0,
2765 5000 - TIME_ALIGNMT_124 + TIME_ALIGNMT_1,
2766 0,
2767 0,
2768 0
2769 };
2770 const U32 FO_FOR_23_124_1[6] = {
2771 TDMA_FRAMES_PER_HYPERFRAME - FN_OFF_ARFCN_124 + 1,
2772 0,
2773 TDMA_FRAMES_PER_HYPERFRAME - FN_OFF_ARFCN_124 + FN_OFF_ARFCN_1 + 1,
2774 0,
2775 0,
2776 0
2777 };
2778
2779 T_MPH_MEASUREMENT_IND prim;
2780 U8 i=6;
2781 prim->arfcn = ARFCN_124;
2782 prim->rx_lev_full = 25;
2783 prim->rx_lev_sub = 25;
2784 prim->rx_qual_full._skip;
2785 prim->rx_qual_sub._skip;
2786 prim->dtx = DTX_USED;
2787 prim->otd = OTD_30;
2788 prim->valid = VALID_REPORT;
2789 prim->fn_offset = 103;
2790 //prim->ncells = ncells_sc_900_eotd();
2791 prim->ncells.no_of_ncells = 3;
2792 prim->ncells.arfcn = RADIO_FREQ_23_124_1;
2793 prim->ncells.rx_lev = RXLEVS_FOR_23_124_1;
2794 prim->ncells.bsic = BSICS_FOR_23_124_1;
2795 prim->ncells.time_alignmt = TA_FOR_23_124_1;
2796 prim->ncells.frame_offset = FO_FOR_23_124_1;
2797
2798 #ifdef FF_EGPRS
2799 int maxnum = MAX_NUM_CELLS_IN_REPORT;
2800 #else // FF_EGPRS
2801 int maxnum = 6;
2802 #endif // FF_EGPRS
2803
2804 for(;i<maxnum;i++)
2805 {
2806 prim->ncells.arfcn[i] =0;//._skip;
2807 prim->ncells.bsic[i] =0;//._skip;
2808 prim->ncells.frame_offset[i] =0;//._skip;
2809 prim->ncells.rx_lev[i] =0;//._skip;
2810 prim->ncells.time_alignmt[i] =0;//._skip;
2811 }
2812
2813 prim->gprs_sync = NORMAL_MEAS_REP;
2814 prim->bcch_rxlev_of_sc = CONST_30;
2815 return prim;
2816 }
2817
2818 T_PRIMITIVE_UNION mph_measurement_ind_35()
2819 {
2820 T_MPH_MEASUREMENT_IND prim;
2821 prim->arfcn = ARFCN_23;
2822 prim->rx_lev_full._skip;
2823 prim->rx_lev_sub._skip;
2824 prim->rx_qual_full._skip;
2825 prim->rx_qual_sub._skip;
2826 prim->dtx._skip;
2827 prim->otd._skip;
2828 prim->valid = VALID_REPORT;
2829 prim->fn_offset = FN_OFFSET_1020;
2830 prim->ncells._skip;
2831 prim->gprs_sync._skip;
2832 prim->bcch_rxlev_of_sc._skip;
2833 return prim;
2834 }
2835
2836 T_PRIMITIVE_UNION mph_measurement_ind_36()
2837 {
2838 T_MPH_MEASUREMENT_IND prim;
2839 prim->arfcn = ARFCN_23;
2840 prim->rx_lev_full._skip;
2841 prim->rx_lev_sub._skip;
2842 prim->rx_qual_full._skip;
2843 prim->rx_qual_sub._skip;
2844 prim->dtx._skip;
2845 prim->otd._skip;
2846 prim->valid = VALID_REPORT;
2847 prim->fn_offset = FN_OFFSET_816;
2848 prim->ncells._skip;
2849 prim->gprs_sync._skip;
2850 prim->bcch_rxlev_of_sc._skip;
2851 return prim;
2852 }
2853
2854 T_PRIMITIVE_UNION mph_measurement_ind_36A()
2855 {
2856 T_MPH_MEASUREMENT_IND prim;
2857 prim->arfcn = ARFCN_23;
2858 prim->rx_lev_full._show;
2859 prim->rx_lev_sub._show;
2860 prim->rx_qual_full._show;
2861 prim->rx_qual_sub._show;
2862 prim->dtx._skip;
2863 prim->otd._skip;
2864 prim->valid = VALID_REPORT;
2865 prim->fn_offset = FN_OFFSET_816;
2866 prim->ncells.no_of_ncells =1;
2867 prim->ncells.arfcn._show;
2868 prim->ncells.rx_lev._show;
2869 prim->ncells.bsic._show;
2870 prim->gprs_sync._skip;
2871 prim->bcch_rxlev_of_sc._skip;
2872 return prim;
2873 }
2874
2875 T_PRIMITIVE_UNION mphc_ncell_sync_req_initial(U16 arfcn)
2876 {
2877 T_MPHC_NCELL_SYNC_REQ prim;
2878 prim->radio_freq = arfcn;
2879 prim->timing_validity = TV_INVALID_TIMING_INFO;
2880 prim->fn_offset ._skip;
2881 prim->time_alignment ._skip;
2882 return prim;
2883 }
2884
2885 T_PRIMITIVE_UNION mphc_ncell_sync_req_fn(U16 arfcn)
2886 {
2887 T_MPHC_NCELL_SYNC_REQ prim;
2888 if(arfcn == 0xFFFF) prim->radio_freq._show;
2889 else prim->radio_freq = arfcn;
2890
2891 prim->timing_validity = TV_INVALID_TIMING_INFO;
2892 prim->fn_offset ._skip;
2893 prim->time_alignment ._skip;
2894 return prim;
2895 }
2896
2897 T_PRIMITIVE_UNION mphc_ncell_sync_req_1a()
2898 {
2899 T_MPHC_NCELL_SYNC_REQ prim;
2900 prim->radio_freq = ARFCN_14;
2901 prim->fn_offset = FN_OFF_ARFCN_14;
2902 prim->time_alignment= TIME_ALIGNMT_14;
2903 prim->timing_validity = TV_APPROX_TIMING_INFO;
2904 return prim;
2905 }
2906
2907 T_PRIMITIVE_UNION mphc_ncell_sync_ind (U16 arfcn, U32 fn_offset, U32 ta, U8 bsic, U8 sb)
2908 {
2909 T_MPHC_NCELL_SYNC_IND prim;
2910 prim->radio_freq = arfcn;
2911 prim->sb_flag = sb;
2912 prim->fn_offset = fn_offset;
2913 prim->time_alignment = ta;
2914 prim->bsic = bsic;
2915 prim->neigh_id._skip;
2916 prim->attempt._skip;
2917 prim->pm._skip;
2918 prim->toa._skip;
2919 prim->angle._skip;
2920 prim->snr._skip;
2921 prim->eodt_data_valid = EOTD_NOT_PRES;
2922 prim->mode._skip;
2923 prim->d_eotd_first._skip;
2924 prim->d_eotd_max._skip;
2925 prim->d_eotd_nrj._skip;
2926 prim->a_eotd_crosscor._skip;
2927 prim->time_tag._skip;
2928 prim->fn_sb_neigh._skip;
2929 prim->fn_in_sb._skip;
2930 prim->toa_correction._skip;
2931 prim->delta_fn._skip;
2932 prim->delta_qbit._skip;
2933 return prim;
2934 }
2935 T_PRIMITIVE_UNION mphc_ncell_sync_ind_3()
2936 {
2937 T_MPHC_NCELL_SYNC_IND prim;
2938 prim->radio_freq = ARFCN_1;
2939 prim->sb_flag = SB_FOUND;
2940 prim->fn_offset = FN_OFF_ARFCN_1;
2941 prim->time_alignment = TIME_ALIGNMT_1;
2942 prim->bsic = BSIC_1;
2943 prim->neigh_id._skip;
2944 prim->attempt._skip;
2945 prim->pm._skip;
2946 prim->toa._skip;
2947 prim->angle._skip;
2948 prim->snr._skip;
2949 prim->eodt_data_valid = EOTD_NOT_PRES;
2950 prim->mode._skip;
2951 prim->d_eotd_first._skip;
2952 prim->d_eotd_max._skip;
2953 prim->d_eotd_nrj._skip;
2954 prim->a_eotd_crosscor._skip;
2955 prim->time_tag._skip;
2956 prim->fn_sb_neigh._skip;
2957 prim->fn_in_sb._skip;
2958 prim->toa_correction._skip;
2959 prim->delta_fn._skip;
2960 prim->delta_qbit._skip;
2961 return prim;
2962 }
2963 T_PRIMITIVE_UNION mphc_ncell_sync_ind_3a()
2964 {
2965 T_MPHC_NCELL_SYNC_IND prim;
2966 prim->radio_freq = ARFCN_1;
2967 prim->sb_flag = SB_FOUND;
2968 prim->fn_offset = TDMA_FRAMES_PER_HYPERFRAME - FN_OFFSET_224 + FN_OFF_ARFCN_1 + 1;
2969 prim->time_alignment = 5000 - TIME_ALIGNMT_124 + TIME_ALIGNMT_1;
2970 prim->bsic = BSIC_1;
2971 prim->neigh_id._skip;
2972 prim->attempt._skip;
2973 prim->pm._skip;
2974 prim->toa._skip;
2975 prim->angle._skip;
2976 prim->snr._skip;
2977 prim->eodt_data_valid = EOTD_NOT_PRES;
2978 prim->mode._skip;
2979 prim->d_eotd_first._skip;
2980 prim->d_eotd_max._skip;
2981 prim->d_eotd_nrj._skip;
2982 prim->a_eotd_crosscor._skip;
2983 prim->time_tag._skip;
2984 prim->fn_sb_neigh._skip;
2985 prim->fn_in_sb._skip;
2986 prim->toa_correction._skip;
2987 prim->delta_fn._skip;
2988 prim->delta_qbit._skip;
2989 return prim;
2990 }
2991 T_PRIMITIVE_UNION mphc_ncell_sync_ind_5()
2992 {
2993 T_MPHC_NCELL_SYNC_IND prim;
2994 prim->radio_freq = ARFCN_1;
2995 prim->sb_flag = SB_FOUND;
2996 prim->fn_offset = FN_OFF_ARFCN_1;
2997 prim->time_alignment = TIME_ALIGNMT_1;
2998 prim->bsic = BSIC_1;
2999 prim->neigh_id._skip;
3000 prim->attempt._skip;
3001 prim->pm._skip;
3002 prim->toa._skip;
3003 prim->angle._skip;
3004 prim->snr._skip;
3005 prim->eodt_data_valid = EOTD_NOT_PRES;
3006 prim->mode._skip;
3007 prim->d_eotd_first._skip;
3008 prim->d_eotd_max._skip;
3009 prim->d_eotd_nrj._skip;
3010 prim->a_eotd_crosscor._skip;
3011 prim->time_tag._skip;
3012 prim->fn_sb_neigh._skip;
3013 prim->fn_in_sb._skip;
3014 prim->delta_fn._skip;
3015 prim->delta_qbit._skip;
3016 return prim;
3017 }
3018 T_PRIMITIVE_UNION mphc_ncell_sync_ind_8()
3019 {
3020 T_MPHC_NCELL_SYNC_IND prim;
3021 prim->radio_freq = CONST_1023;
3022 prim->sb_flag = SB_FOUND;
3023 prim->fn_offset = FN_OFFSET_0;
3024 prim->time_alignment = TIME_ALIGNMT_0;
3025 prim->bsic = CONST_12;
3026 prim->neigh_id._skip;
3027 prim->attempt._skip;
3028 prim->pm._skip;
3029 prim->toa._skip;
3030 prim->angle._skip;
3031 prim->snr._skip;
3032 prim->eodt_data_valid = EOTD_NOT_PRES;
3033 prim->mode._skip;
3034 prim->d_eotd_first._skip;
3035 prim->d_eotd_max._skip;
3036 prim->d_eotd_nrj._skip;
3037 prim->a_eotd_crosscor._skip;
3038 prim->time_tag._skip;
3039 prim->fn_sb_neigh._skip;
3040 prim->fn_in_sb._skip;
3041 prim->toa_correction._skip;
3042 prim->delta_fn._skip;
3043 prim->delta_qbit._skip;
3044 return prim;
3045 }
3046
3047
3048 T_PRIMITIVE_UNION mphc_ncell_sync_ind_fn(U16 arfcn)
3049 {
3050 T_MPHC_NCELL_SYNC_IND prim;
3051 prim->radio_freq = arfcn;
3052 prim->sb_flag = SB_FOUND;
3053 prim->fn_offset = FN_OFFSET_0;
3054 prim->time_alignment = TIME_ALIGNMT_0;
3055 prim->bsic = CONST_12;
3056 prim->neigh_id._skip;
3057 prim->attempt._skip;
3058 prim->pm._skip;
3059 prim->toa._skip;
3060 prim->angle._skip;
3061 prim->snr._skip;
3062 prim->eodt_data_valid = EOTD_NOT_PRES;
3063 prim->mode._skip;
3064 prim->d_eotd_first._skip;
3065 prim->d_eotd_max._skip;
3066 prim->d_eotd_nrj._skip;
3067 prim->a_eotd_crosscor._skip;
3068 prim->time_tag._skip;
3069 prim->fn_sb_neigh._skip;
3070 prim->fn_in_sb._skip;
3071 prim->toa_correction._skip;
3072 prim->delta_fn._skip;
3073 prim->delta_qbit._skip;
3074 return prim;
3075 }
3076
3077
3078
3079
3080 T_PRIMITIVE_UNION mphc_ncell_sync_ind_12()
3081 {
3082 T_MPHC_NCELL_SYNC_IND prim;
3083 prim->radio_freq = ARFCN_637;
3084 prim->sb_flag = SB_FOUND;
3085 prim->fn_offset = FN_OFF_ARFCN_14;
3086 prim->time_alignment = TIME_ALIGNMT_14;
3087 prim->bsic = BSIC_1;
3088 prim->neigh_id._skip;
3089 prim->attempt._skip;
3090 prim->pm._skip;
3091 prim->toa._skip;
3092 prim->angle._skip;
3093 prim->snr._skip;
3094 prim->eodt_data_valid = EOTD_NOT_PRES;
3095 prim->mode._skip;
3096 prim->d_eotd_first._skip;
3097 prim->d_eotd_max._skip;
3098 prim->d_eotd_nrj._skip;
3099 prim->a_eotd_crosscor._skip;
3100 prim->time_tag._skip;
3101 prim->fn_sb_neigh._skip;
3102 prim->fn_in_sb._skip;
3103 prim->toa_correction._skip;
3104 prim->delta_fn._skip;
3105 prim->delta_qbit._skip;
3106 return prim;
3107 }
3108 T_PRIMITIVE_UNION mphc_ncell_sync_ind_15()
3109 {
3110 T_MPHC_NCELL_SYNC_IND prim;
3111 prim->radio_freq = ARFCN_580;
3112 prim->sb_flag = SB_FOUND;
3113 prim->fn_offset = FN_OFF_ARFCN_14;
3114 prim->time_alignment = TIME_ALIGNMT_14;
3115 prim->bsic = BSIC_1;
3116 prim->neigh_id._skip;
3117 prim->attempt._skip;
3118 prim->pm._skip;
3119 prim->toa._skip;
3120 prim->angle._skip;
3121 prim->snr._skip;
3122 prim->eodt_data_valid = EOTD_NOT_PRES;
3123 prim->mode._skip;
3124 prim->d_eotd_first._skip;
3125 prim->d_eotd_max._skip;
3126 prim->d_eotd_nrj._skip;
3127 prim->a_eotd_crosscor._skip;
3128 prim->time_tag._skip;
3129 prim->fn_sb_neigh._skip;
3130 prim->fn_in_sb._skip;
3131 prim->toa_correction._skip;
3132 prim->delta_fn._skip;
3133 prim->delta_qbit._skip;
3134 return prim;
3135 }
3136 T_PRIMITIVE_UNION mphc_ncell_sync_ind_16()
3137 {
3138 T_MPHC_NCELL_SYNC_IND prim;
3139 prim->radio_freq = ARFCN_885;
3140 prim->sb_flag = SB_FOUND;
3141 prim->fn_offset = FN_OFF_ARFCN_14;
3142 prim->time_alignment = TIME_ALIGNMT_14;
3143 prim->bsic = BSIC_1;
3144 prim->neigh_id._skip;
3145 prim->attempt._skip;
3146 prim->pm._skip;
3147 prim->toa._skip;
3148 prim->angle._skip;
3149 prim->snr._skip;
3150 prim->eodt_data_valid = EOTD_NOT_PRES;
3151 prim->mode._skip;
3152 prim->d_eotd_first._skip;
3153 prim->d_eotd_max._skip;
3154 prim->d_eotd_nrj._skip;
3155 prim->a_eotd_crosscor._skip;
3156 prim->time_tag._skip;
3157 prim->fn_sb_neigh._skip;
3158 prim->fn_in_sb._skip;
3159 prim->toa_correction._skip;
3160 prim->delta_fn._skip;
3161 prim->delta_qbit._skip;
3162 return prim;
3163 }
3164
3165 T_PRIMITIVE_UNION mphc_ncell_sync_ind_24()
3166 {
3167 T_MPHC_NCELL_SYNC_IND prim;
3168 prim->radio_freq = ARFCN_14;
3169 prim->sb_flag = SB_FOUND;
3170 prim->fn_offset = FN_OFFSET_224;
3171 prim->time_alignment = TIME_ALIGNMT_14;
3172 prim->bsic = BSIC_1;
3173 prim->neigh_id = EOTD_00;
3174 prim->attempt = EOTD_00;
3175 prim->pm = EOTD_0L;
3176 prim->toa = EOTD_0L;
3177 prim->angle = EOTD_0L;
3178 prim->snr = EOTD_0L;
3179 prim->eodt_data_valid = EOTD_NOT_PRES;
3180 prim->mode = EOTD_00;
3181 prim->d_eotd_first = EOTD_0000;
3182 prim->d_eotd_max = EOTD_0000;
3183 prim->d_eotd_nrj = EOTD_0L;
3184 prim->a_eotd_crosscor._skip;
3185 prim->time_tag = EOTD_0L;
3186 prim->fn_sb_neigh = EOTD_0L;
3187 prim->fn_in_sb = EOTD_0L;
3188 prim->delta_fn = EOTD_0L;
3189 prim->delta_qbit = EOTD_0L;
3190 return prim;
3191 }
3192
3193
3194 T_PRIMITIVE_UNION mphc_ncell_sync_ind_25()
3195 {
3196 T_MPHC_NCELL_SYNC_IND prim;
3197 prim->radio_freq = ARFCN_124;
3198 prim->sb_flag = SB_FOUND;
3199 prim->fn_offset = FN_OFF_ARFCN_14;
3200 prim->time_alignment = TIME_ALIGNMT_14;
3201 prim->bsic = BSIC_1;
3202 prim->neigh_id = EOTD_00;
3203 prim->attempt = EOTD_00;
3204 prim->pm = EOTD_0L;
3205 prim->toa = EOTD_0L;
3206 prim->angle = EOTD_0L;
3207 prim->snr = EOTD_0L;
3208 prim->eodt_data_valid = EOTD_NOT_PRES;
3209 prim->mode = EOTD_00;
3210 prim->d_eotd_first = EOTD_0000;
3211 prim->d_eotd_max = EOTD_0000;
3212 prim->d_eotd_nrj = EOTD_0L;
3213 prim->a_eotd_crosscor._skip;
3214 prim->time_tag = EOTD_0L;
3215 prim->fn_sb_neigh = EOTD_0L;
3216 prim->fn_in_sb = EOTD_0L;
3217 prim->delta_fn = EOTD_0L;
3218 prim->delta_qbit = EOTD_0L;
3219 return prim;
3220 }
3221
3222
3223 T_PRIMITIVE_UNION mphc_ncell_sync_ind_26()
3224 {
3225 T_MPHC_NCELL_SYNC_IND prim;
3226 prim->radio_freq = ARFCN_1;
3227 prim->sb_flag = SB_FOUND;
3228 prim->fn_offset = FN_OFFSET_224;
3229 prim->time_alignment = TIME_ALIGNMT_14;
3230 prim->bsic = BSIC_1;
3231 prim->neigh_id = EOTD_00;
3232 prim->attempt = EOTD_00;
3233 prim->pm = EOTD_0L;
3234 prim->toa = EOTD_0L;
3235 prim->angle = EOTD_0L;
3236 prim->snr = EOTD_0L;
3237 prim->eodt_data_valid = EOTD_NOT_PRES;
3238 prim->mode = EOTD_00;
3239 prim->d_eotd_first = EOTD_0000;
3240 prim->d_eotd_max = EOTD_0000;
3241 prim->d_eotd_nrj = EOTD_0L;
3242 prim->a_eotd_crosscor._skip;
3243 prim->time_tag = EOTD_0L;
3244 prim->fn_sb_neigh = EOTD_0L;
3245 prim->fn_in_sb = EOTD_0L;
3246 prim->delta_fn = EOTD_0L;
3247 prim->delta_qbit = EOTD_0L;
3248 return prim;
3249 }
3250 T_PRIMITIVE_UNION mphc_ncell_sync_ind_27()
3251 {
3252 T_MPHC_NCELL_SYNC_IND prim;
3253 prim->radio_freq = ARFCN_1;
3254 prim->sb_flag = SB_FOUND;
3255 prim->fn_offset = FN_OFFSET_224;
3256 prim->time_alignment = TIME_ALIGNMT_14;
3257 prim->bsic = BSIC_2;
3258 prim->neigh_id = EOTD_00;
3259 prim->attempt = EOTD_00;
3260 prim->pm = EOTD_0L;
3261 prim->toa = EOTD_0L;
3262 prim->angle = EOTD_0L;
3263 prim->snr = EOTD_0L;
3264 prim->eodt_data_valid = EOTD_NOT_PRES;
3265 prim->mode = EOTD_00;
3266 prim->d_eotd_first = EOTD_0000;
3267 prim->d_eotd_max = EOTD_0000;
3268 prim->d_eotd_nrj = EOTD_0L;
3269 prim->a_eotd_crosscor._skip;
3270 prim->time_tag = EOTD_0L;
3271 prim->fn_sb_neigh = EOTD_0L;
3272 prim->fn_in_sb = EOTD_0L;
3273 prim->delta_fn = EOTD_0L;
3274 prim->delta_qbit = EOTD_0L;
3275 return prim;
3276 }
3277 T_PRIMITIVE_UNION mphc_ncell_sync_ind_28()
3278 {
3279 T_MPHC_NCELL_SYNC_IND prim;
3280 prim->radio_freq = ARFCN_637;
3281 prim->sb_flag = SB_FOUND;
3282 prim->fn_offset = FN_OFF_ARFCN_14;
3283 prim->time_alignment = TIME_ALIGNMT_14;
3284 prim->bsic = BSIC_1;
3285 prim->neigh_id = EOTD_00;
3286 prim->attempt = EOTD_00;
3287 prim->pm = EOTD_0L;
3288 prim->toa = EOTD_0L;
3289 prim->angle = EOTD_0L;
3290 prim->snr = EOTD_0L;
3291 prim->eodt_data_valid = EOTD_NOT_PRES;
3292 prim->mode = EOTD_00;
3293 prim->d_eotd_first = EOTD_0000;
3294 prim->d_eotd_max = EOTD_0000;
3295 prim->d_eotd_nrj = EOTD_0L;
3296 prim->a_eotd_crosscor._skip;
3297 prim->time_tag = EOTD_0L;
3298 prim->fn_sb_neigh = EOTD_0L;
3299 prim->fn_in_sb = EOTD_0L;
3300 prim->delta_fn = EOTD_0L;
3301 prim->delta_qbit = EOTD_0L;
3302 return prim;
3303 }
3304
3305
3306 T_PRIMITIVE_UNION mphc_ncell_sync_ind_29()
3307 {
3308 T_MPHC_NCELL_SYNC_IND prim;
3309 prim->radio_freq = ARFCN_25;
3310 prim->sb_flag = SB_FOUND;
3311 prim->fn_offset = FN_OFFSET_102;
3312 prim->time_alignment = TIME_ALIGNMT_14;
3313 prim->bsic = BSIC_1;
3314 prim->neigh_id = EOTD_00;
3315 prim->attempt = EOTD_00;
3316 prim->pm = EOTD_0L;
3317 prim->toa = EOTD_0L;
3318 prim->angle = EOTD_0L;
3319 prim->snr = EOTD_0L;
3320 prim->eodt_data_valid = EOTD_NOT_PRES;
3321 prim->mode = EOTD_00;
3322 prim->d_eotd_first = EOTD_0000;
3323 prim->d_eotd_max = EOTD_0000;
3324 prim->d_eotd_nrj = EOTD_0L;
3325 prim->a_eotd_crosscor._skip;
3326 prim->time_tag = EOTD_0L;
3327 prim->fn_sb_neigh = EOTD_0L;
3328 prim->fn_in_sb = EOTD_0L;
3329 prim->delta_fn = EOTD_0L;
3330 prim->delta_qbit = EOTD_0L;
3331 return prim;
3332 }
3333
3334
3335 T_PRIMITIVE_UNION mphc_ncell_sync_ind_30()
3336 {
3337 T_MPHC_NCELL_SYNC_IND prim;
3338 prim->radio_freq = ARFCN_512;
3339 prim->sb_flag = SB_FOUND;
3340 prim->fn_offset = FN_OFFSET_153;
3341 prim->time_alignment = TIME_ALIGNMT_14;
3342 prim->bsic = BSIC_1;
3343 prim->neigh_id = EOTD_00;
3344 prim->attempt = EOTD_00;
3345 prim->pm = EOTD_0L;
3346 prim->toa = EOTD_0L;
3347 prim->angle = EOTD_0L;
3348 prim->snr = EOTD_0L;
3349 prim->eodt_data_valid = EOTD_NOT_PRES;
3350 prim->mode = EOTD_00;
3351 prim->d_eotd_first = EOTD_0000;
3352 prim->d_eotd_max = EOTD_0000;
3353 prim->d_eotd_nrj = EOTD_0L;
3354 prim->a_eotd_crosscor._skip;
3355 prim->time_tag = EOTD_0L;
3356 prim->fn_sb_neigh = EOTD_0L;
3357 prim->fn_in_sb = EOTD_0L;
3358 prim->delta_fn = EOTD_0L;
3359 prim->delta_qbit = EOTD_0L;
3360 return prim;
3361 }
3362
3363
3364 T_PRIMITIVE_UNION mphc_ncell_sync_ind_31()
3365 {
3366 T_MPHC_NCELL_SYNC_IND prim;
3367 prim->radio_freq = ARFCN_580;
3368 prim->sb_flag = SB_FOUND;
3369 prim->fn_offset = FN_OFFSET_204;
3370 prim->time_alignment = TIME_ALIGNMT_14;
3371 prim->bsic = BSIC_1;
3372 prim->neigh_id = EOTD_00;
3373 prim->attempt = EOTD_00;
3374 prim->pm = EOTD_0L;
3375 prim->toa = EOTD_0L;
3376 prim->angle = EOTD_0L;
3377 prim->snr = EOTD_0L;
3378 prim->eodt_data_valid = EOTD_NOT_PRES;
3379 prim->mode = EOTD_00;
3380 prim->d_eotd_first = EOTD_0000;
3381 prim->d_eotd_max = EOTD_0000;
3382 prim->d_eotd_nrj = EOTD_0L;
3383 prim->a_eotd_crosscor._skip;
3384 prim->time_tag = EOTD_0L;
3385 prim->fn_sb_neigh = EOTD_0L;
3386 prim->fn_in_sb = EOTD_0L;
3387 prim->delta_fn = EOTD_0L;
3388 prim->delta_qbit = EOTD_0L;
3389 return prim;
3390 }
3391
3392
3393 T_PRIMITIVE_UNION mphc_ncell_sync_ind_32()
3394 {
3395 T_MPHC_NCELL_SYNC_IND prim;
3396 prim->radio_freq = ARFCN_885;
3397 prim->sb_flag = SB_FOUND;
3398 prim->fn_offset = FN_OFFSET_255;
3399 prim->time_alignment = TIME_ALIGNMT_14;
3400 prim->bsic = BSIC_1;
3401 prim->neigh_id = EOTD_00;
3402 prim->attempt = EOTD_00;
3403 prim->pm = EOTD_0L;
3404 prim->toa = EOTD_0L;
3405 prim->angle = EOTD_0L;
3406 prim->snr = EOTD_0L;
3407 prim->eodt_data_valid = EOTD_NOT_PRES;
3408 prim->mode = EOTD_00;
3409 prim->d_eotd_first = EOTD_0000;
3410 prim->d_eotd_max = EOTD_0000;
3411 prim->d_eotd_nrj = EOTD_0L;
3412 prim->a_eotd_crosscor._skip;
3413 prim->time_tag = EOTD_0L;
3414 prim->fn_sb_neigh = EOTD_0L;
3415 prim->fn_in_sb = EOTD_0L;
3416 prim->delta_fn = EOTD_0L;
3417 prim->delta_qbit = EOTD_0L;
3418 return prim;
3419 }
3420 T_PRIMITIVE_UNION mphc_ncell_sync_ind_33()
3421 {
3422 T_MPHC_NCELL_SYNC_IND prim;
3423 prim->radio_freq = ARFCN_23;
3424 prim->sb_flag = SB_FOUND;
3425 prim->fn_offset = FN_OFFSET_918;
3426 prim->time_alignment = TIME_ALIGNMT_14;
3427 prim->bsic = BSIC_1;
3428 prim->neigh_id = EOTD_00;
3429 prim->attempt = EOTD_00;
3430 prim->pm = EOTD_0L;
3431 prim->toa = EOTD_0L;
3432 prim->angle = EOTD_0L;
3433 prim->snr = EOTD_0L;
3434 prim->eodt_data_valid = EOTD_PRES;
3435 prim->mode = EOTD_00;
3436 prim->d_eotd_first = EOTD_0000;
3437 prim->d_eotd_max = EOTD_0000;
3438 prim->d_eotd_nrj = EOTD_0L;
3439 prim->a_eotd_crosscor._skip;
3440 prim->time_tag = EOTD_0L;
3441 prim->fn_sb_neigh = EOTD_0L;
3442 prim->fn_in_sb = EOTD_0L;
3443 prim->delta_fn = EOTD_0L;
3444 prim->delta_qbit = EOTD_0L;
3445 return prim;
3446 }
3447
3448 T_PRIMITIVE_UNION mphc_ncell_sync_ind_34()
3449 {
3450 T_MPHC_NCELL_SYNC_IND prim;
3451 prim->radio_freq = ARFCN_637;
3452 prim->sb_flag = SB_FOUND;
3453 prim->fn_offset = FN_OFF_ARFCN_14;
3454 prim->time_alignment = TIME_ALIGNMT_14;
3455 prim->bsic = BSIC_1;
3456 prim->neigh_id = EOTD_00;
3457 prim->attempt = EOTD_00;
3458 prim->pm = EOTD_0L;
3459 prim->toa = EOTD_0L;
3460 prim->angle = EOTD_0L;
3461 prim->snr = EOTD_0L;
3462 prim->eodt_data_valid = EOTD_PRES;
3463 prim->mode = EOTD_00;
3464 prim->d_eotd_first = EOTD_0000;
3465 prim->d_eotd_max = EOTD_0000;
3466 prim->d_eotd_nrj = EOTD_0L;
3467 prim->a_eotd_crosscor._skip;
3468 prim->time_tag = EOTD_0L;
3469 prim->fn_sb_neigh = EOTD_0L;
3470 prim->fn_in_sb = EOTD_0L;
3471 prim->delta_fn = EOTD_0L;
3472 prim->delta_qbit = EOTD_0L;
3473 return prim;
3474 }
3475
3476 T_PRIMITIVE_UNION mphc_ncell_sync_ind_35()
3477 {
3478 T_MPHC_NCELL_SYNC_IND prim;
3479 prim->radio_freq = ARFCN_25;
3480 prim->sb_flag = SB_FOUND;
3481 prim->fn_offset = FN_OFFSET_102;
3482 prim->time_alignment = TIME_ALIGNMT_14;
3483 prim->bsic = BSIC_1;
3484 prim->neigh_id = EOTD_00;
3485 prim->attempt = EOTD_00;
3486 prim->pm = EOTD_0L;
3487 prim->toa = EOTD_0L;
3488 prim->angle = EOTD_0L;
3489 prim->snr = EOTD_0L;
3490 prim->eodt_data_valid = EOTD_PRES;
3491 prim->mode = EOTD_00;
3492 prim->d_eotd_first = EOTD_0000;
3493 prim->d_eotd_max = EOTD_0000;
3494 prim->d_eotd_nrj = EOTD_0L;
3495 prim->a_eotd_crosscor._skip;
3496 prim->time_tag = EOTD_0L;
3497 prim->fn_sb_neigh = EOTD_0L;
3498 prim->fn_in_sb = EOTD_0L;
3499 prim->delta_fn = EOTD_0L;
3500 prim->delta_qbit = EOTD_0L;
3501 return prim;
3502 }
3503
3504 T_PRIMITIVE_UNION mphc_ncell_sync_ind_36()
3505 {
3506 T_MPHC_NCELL_SYNC_IND prim;
3507 prim->radio_freq = ARFCN_14;
3508 prim->sb_flag = SB_FOUND;
3509 prim->fn_offset = FN_OFFSET_224;
3510 prim->time_alignment = TIME_ALIGNMT_14;
3511 prim->bsic = BSIC_1;
3512 prim->neigh_id = EOTD_00;
3513 prim->attempt = EOTD_00;
3514 prim->pm = EOTD_0L;
3515 prim->toa = EOTD_0L;
3516 prim->angle = EOTD_0L;
3517 prim->snr = EOTD_0L;
3518 prim->eodt_data_valid = EOTD_PRES;
3519 prim->mode = EOTD_00;
3520 prim->d_eotd_first = EOTD_0000;
3521 prim->d_eotd_max = EOTD_0000;
3522 prim->d_eotd_nrj = EOTD_0L;
3523 prim->a_eotd_crosscor._skip;
3524 prim->time_tag = EOTD_0L;
3525 prim->fn_sb_neigh = EOTD_0L;
3526 prim->fn_in_sb = EOTD_0L;
3527 prim->delta_fn = EOTD_0L;
3528 prim->delta_qbit = EOTD_0L;
3529 return prim;
3530 }
3531
3532 T_PRIMITIVE_UNION mphc_ncell_sync_ind_37()
3533 {
3534 T_MPHC_NCELL_SYNC_IND prim;
3535 prim->radio_freq = ARFCN_512;
3536 prim->sb_flag = SB_FOUND;
3537 prim->fn_offset = FN_OFFSET_153;
3538 prim->time_alignment = TIME_ALIGNMT_14;
3539 prim->bsic = BSIC_1;
3540 prim->neigh_id = EOTD_00;
3541 prim->attempt = EOTD_00;
3542 prim->pm = EOTD_0L;
3543 prim->toa = EOTD_0L;
3544 prim->angle = EOTD_0L;
3545 prim->snr = EOTD_0L;
3546 prim->eodt_data_valid = EOTD_PRES;
3547 prim->mode = EOTD_00;
3548 prim->d_eotd_first = EOTD_0000;
3549 prim->d_eotd_max = EOTD_0000;
3550 prim->d_eotd_nrj = EOTD_0L;
3551 prim->a_eotd_crosscor._skip;
3552 prim->time_tag = EOTD_0L;
3553 prim->fn_sb_neigh = EOTD_0L;
3554 prim->fn_in_sb = EOTD_0L;
3555 prim->delta_fn = EOTD_0L;
3556 prim->delta_qbit = EOTD_0L;
3557 return prim;
3558 }
3559
3560 T_PRIMITIVE_UNION mphc_ncell_sync_ind_38()
3561 {
3562 T_MPHC_NCELL_SYNC_IND prim;
3563 prim->radio_freq = ARFCN_580;
3564 prim->sb_flag = SB_FOUND;
3565 prim->fn_offset = FN_OFFSET_204;
3566 prim->time_alignment = TIME_ALIGNMT_14;
3567 prim->bsic = BSIC_1;
3568 prim->neigh_id = EOTD_00;
3569 prim->attempt = EOTD_00;
3570 prim->pm = EOTD_0L;
3571 prim->toa = EOTD_0L;
3572 prim->angle = EOTD_0L;
3573 prim->snr = EOTD_0L;
3574 prim->eodt_data_valid = EOTD_PRES;
3575 prim->mode = EOTD_00;
3576 prim->d_eotd_first = EOTD_0000;
3577 prim->d_eotd_max = EOTD_0000;
3578 prim->d_eotd_nrj = EOTD_0L;
3579 prim->a_eotd_crosscor._skip;
3580 prim->time_tag = EOTD_0L;
3581 prim->fn_sb_neigh = EOTD_0L;
3582 prim->fn_in_sb = EOTD_0L;
3583 prim->delta_fn = EOTD_0L;
3584 prim->delta_qbit = EOTD_0L;
3585 return prim;
3586 }
3587
3588 T_PRIMITIVE_UNION mphc_ncell_sync_ind_39()
3589 {
3590 T_MPHC_NCELL_SYNC_IND prim;
3591 prim->radio_freq = ARFCN_885;
3592 prim->sb_flag = SB_FOUND;
3593 prim->fn_offset = FN_OFFSET_255;
3594 prim->time_alignment = TIME_ALIGNMT_14;
3595 prim->bsic = BSIC_1;
3596 prim->neigh_id = EOTD_00;
3597 prim->attempt = EOTD_00;
3598 prim->pm = EOTD_0L;
3599 prim->toa = EOTD_0L;
3600 prim->angle = EOTD_0L;
3601 prim->snr = EOTD_0L;
3602 prim->eodt_data_valid = EOTD_PRES;
3603 prim->mode = EOTD_00;
3604 prim->d_eotd_first = EOTD_0000;
3605 prim->d_eotd_max = EOTD_0000;
3606 prim->d_eotd_nrj = EOTD_0L;
3607 prim->a_eotd_crosscor._skip;
3608 prim->time_tag = EOTD_0L;
3609 prim->fn_sb_neigh = EOTD_0L;
3610 prim->fn_in_sb = EOTD_0L;
3611 prim->delta_fn = EOTD_0L;
3612 prim->delta_qbit = EOTD_0L;
3613 return prim;
3614 }
3615 T_PRIMITIVE_UNION mphc_ncell_sync_ind_40()
3616 {
3617 T_MPHC_NCELL_SYNC_IND prim;
3618 prim->radio_freq = ARFCN_23;
3619 prim->sb_flag = SB_FOUND;
3620 prim->fn_offset = FN_OFFSET_918;
3621 prim->time_alignment = TIME_ALIGNMT_14;
3622 prim->bsic = BSIC_1;
3623 prim->neigh_id = EOTD_00;
3624 prim->attempt = EOTD_00;
3625 prim->pm = EOTD_0L;
3626 prim->toa = EOTD_0L;
3627 prim->angle = EOTD_0L;
3628 prim->snr = EOTD_0L;
3629 prim->eodt_data_valid = EOTD_PRES;
3630 prim->mode = EOTD_00;
3631 prim->d_eotd_first = EOTD_0000;
3632 prim->d_eotd_max = EOTD_0000;
3633 prim->d_eotd_nrj = RSSI_61440;
3634 prim->a_eotd_crosscor = EOTD_CROSSCOR_12;
3635 prim->time_tag = NOM_POS_1000;
3636 prim->fn_sb_neigh = EOTD_0L;
3637 prim->fn_in_sb = EOTD_0L;
3638 prim->delta_fn = EOTD_0L;
3639 prim->delta_qbit = EOTD_0L;
3640 return prim;
3641 }
3642
3643 T_PRIMITIVE_UNION mphc_ncell_sync_ind_41()
3644 {
3645 T_MPHC_NCELL_SYNC_IND prim;
3646 prim->radio_freq = ARFCN_637;
3647 prim->sb_flag = SB_FOUND;
3648 prim->fn_offset = FN_OFF_ARFCN_14;
3649 prim->time_alignment = TIME_ALIGNMT_14;
3650 prim->bsic = BSIC_1;
3651 prim->neigh_id = EOTD_00;
3652 prim->attempt = EOTD_00;
3653 prim->pm = EOTD_0L;
3654 prim->toa = EOTD_0L;
3655 prim->angle = EOTD_0L;
3656 prim->snr = EOTD_0L;
3657 prim->eodt_data_valid = EOTD_PRES;
3658 prim->mode = EOTD_00;
3659 prim->d_eotd_first = EOTD_0000;
3660 prim->d_eotd_max = EOTD_0000;
3661 prim->d_eotd_nrj = RSSI_61952;
3662 prim->a_eotd_crosscor = EOTD_CROSSCOR_9;
3663 prim->time_tag = NOM_POS_2000;
3664 prim->fn_sb_neigh = EOTD_0L;
3665 prim->fn_in_sb = EOTD_0L;
3666 prim->delta_fn = EOTD_0L;
3667 prim->delta_qbit = EOTD_0L;
3668 return prim;
3669 }
3670
3671 T_PRIMITIVE_UNION mphc_ncell_sync_ind_42()
3672 {
3673 T_MPHC_NCELL_SYNC_IND prim;
3674 prim->radio_freq = ARFCN_25;
3675 prim->sb_flag = SB_FOUND;
3676 prim->fn_offset = FN_OFF_ARFCN_14;
3677 prim->time_alignment = TIME_ALIGNMT_14;
3678 prim->bsic = BSIC_1;
3679 prim->neigh_id = EOTD_00;
3680 prim->attempt = EOTD_00;
3681 prim->pm = EOTD_0L;
3682 prim->toa = EOTD_0L;
3683 prim->angle = EOTD_0L;
3684 prim->snr = EOTD_0L;
3685 prim->eodt_data_valid = EOTD_PRES;
3686 prim->mode = EOTD_00;
3687 prim->d_eotd_first = EOTD_0000;
3688 prim->d_eotd_max = EOTD_0000;
3689 prim->d_eotd_nrj = RSSI_61440;
3690 prim->a_eotd_crosscor = EOTD_CROSSCOR_6;
3691 prim->time_tag = NOM_POS_2000;
3692 prim->fn_sb_neigh = EOTD_0L;
3693 prim->fn_in_sb = EOTD_0L;
3694 prim->delta_fn = EOTD_0L;
3695 prim->delta_qbit = EOTD_0L;
3696 return prim;
3697 }
3698
3699 T_PRIMITIVE_UNION mphc_ncell_sync_ind_43()
3700 {
3701 T_MPHC_NCELL_SYNC_IND prim;
3702 prim->radio_freq = ARFCN_14;
3703 prim->sb_flag = SB_FOUND;
3704 prim->fn_offset = FN_OFF_ARFCN_14;
3705 prim->time_alignment = TIME_ALIGNMT_14;
3706 prim->bsic = BSIC_1;
3707 prim->neigh_id = EOTD_00;
3708 prim->attempt = EOTD_00;
3709 prim->pm = EOTD_0L;
3710 prim->toa = EOTD_0L;
3711 prim->angle = EOTD_0L;
3712 prim->snr = EOTD_0L;
3713 prim->eodt_data_valid = EOTD_PRES;
3714 prim->mode = EOTD_00;
3715 prim->d_eotd_first = EOTD_0000;
3716 prim->d_eotd_max = EOTD_0000;
3717 prim->d_eotd_nrj = RSSI_61952;
3718 prim->a_eotd_crosscor = EOTD_CROSSCOR_9;
3719 prim->time_tag = NOM_POS_1000;
3720 prim->fn_sb_neigh = EOTD_0L;
3721 prim->fn_in_sb = EOTD_0L;
3722 prim->delta_fn = EOTD_0L;
3723 prim->delta_qbit = EOTD_0L;
3724 return prim;
3725 }
3726
3727 T_PRIMITIVE_UNION mphc_ncell_sync_ind_44()
3728 {
3729 T_MPHC_NCELL_SYNC_IND prim;
3730 prim->radio_freq = ARFCN_512;
3731 prim->sb_flag = SB_FOUND;
3732 prim->fn_offset = FN_OFF_ARFCN_14;
3733 prim->time_alignment = TIME_ALIGNMT_14;
3734 prim->bsic = BSIC_1;
3735 prim->neigh_id = EOTD_00;
3736 prim->attempt = EOTD_00;
3737 prim->pm = EOTD_0L;
3738 prim->toa = EOTD_0L;
3739 prim->angle = EOTD_0L;
3740 prim->snr = EOTD_0L;
3741 prim->eodt_data_valid = EOTD_PRES;
3742 prim->mode = EOTD_00;
3743 prim->d_eotd_first = EOTD_0000;
3744 prim->d_eotd_max = EOTD_0000;
3745 prim->d_eotd_nrj = RSSI_61440;
3746 prim->a_eotd_crosscor = EOTD_CROSSCOR_6;
3747 prim->time_tag = NOM_POS_2000;
3748 prim->fn_sb_neigh = EOTD_0L;
3749 prim->fn_in_sb = EOTD_0L;
3750 prim->delta_fn = EOTD_0L;
3751 prim->delta_qbit = EOTD_0L;
3752 return prim;
3753 }
3754
3755 T_PRIMITIVE_UNION mphc_ncell_sync_ind_45()
3756 {
3757 T_MPHC_NCELL_SYNC_IND prim;
3758 prim->radio_freq = ARFCN_580;
3759 prim->sb_flag = SB_FOUND;
3760 prim->fn_offset = FN_OFF_ARFCN_14;
3761 prim->time_alignment = TIME_ALIGNMT_14;
3762 prim->bsic = BSIC_1;
3763 prim->neigh_id = EOTD_00;
3764 prim->attempt = EOTD_00;
3765 prim->pm = EOTD_0L;
3766 prim->toa = EOTD_0L;
3767 prim->angle = EOTD_0L;
3768 prim->snr = EOTD_0L;
3769 prim->eodt_data_valid = EOTD_PRES;
3770 prim->mode = EOTD_00;
3771 prim->d_eotd_first = EOTD_0000;
3772 prim->d_eotd_max = EOTD_0000;
3773 prim->d_eotd_nrj = RSSI_61952;
3774 prim->a_eotd_crosscor = EOTD_CROSSCOR_9;
3775 prim->time_tag = NOM_POS_1000;
3776 prim->fn_sb_neigh = EOTD_0L;
3777 prim->fn_in_sb = EOTD_0L;
3778 prim->delta_fn = EOTD_0L;
3779 prim->delta_qbit = EOTD_0L;
3780 return prim;
3781 }
3782
3783 T_PRIMITIVE_UNION mphc_ncell_sync_ind_46()
3784 {
3785 T_MPHC_NCELL_SYNC_IND prim;
3786 prim->radio_freq = ARFCN_885;
3787 prim->sb_flag = SB_FOUND;
3788 prim->fn_offset = FN_OFF_ARFCN_14;
3789 prim->time_alignment = TIME_ALIGNMT_14;
3790 prim->bsic = BSIC_2;
3791 prim->neigh_id = EOTD_00;
3792 prim->attempt = EOTD_00;
3793 prim->pm = EOTD_0L;
3794 prim->toa = EOTD_0L;
3795 prim->angle = EOTD_0L;
3796 prim->snr = EOTD_0L;
3797 prim->eodt_data_valid = EOTD_PRES;
3798 prim->mode = EOTD_00;
3799 prim->d_eotd_first = EOTD_0000;
3800 prim->d_eotd_max = EOTD_0000;
3801 prim->d_eotd_nrj = RSSI_61440;
3802 prim->a_eotd_crosscor = EOTD_CROSSCOR_6;
3803 prim->time_tag = NOM_POS_2000;
3804 prim->fn_sb_neigh = EOTD_0L;
3805 prim->fn_in_sb = EOTD_0L;
3806 prim->delta_fn = EOTD_0L;
3807 prim->delta_qbit = EOTD_0L;
3808 return prim;
3809 }
3810
3811 T_PRIMITIVE_UNION mphc_ncell_sync_ind_47()
3812 {
3813 T_MPHC_NCELL_SYNC_IND prim;
3814 prim->radio_freq = ARFCN_23;
3815 prim->sb_flag = SB_FOUND;
3816 prim->fn_offset = FN_OFFSET_918;
3817 prim->time_alignment = TIME_ALIGNMT_14;
3818 prim->bsic = BSIC_1;
3819 prim->neigh_id = EOTD_00;
3820 prim->attempt = EOTD_00;
3821 prim->pm = EOTD_0L;
3822 prim->toa = EOTD_0L;
3823 prim->angle = EOTD_0L;
3824 prim->snr = EOTD_0L;
3825 prim->eodt_data_valid = EOTD_PRES;
3826 prim->mode = EOTD_00;
3827 prim->d_eotd_first = EOTD_0000;
3828 prim->d_eotd_max = EOTD_0000;
3829 prim->d_eotd_nrj = RSSI_61440;
3830 prim->a_eotd_crosscor = EOTD_CROSSCOR_12;
3831 prim->time_tag = NOM_POS_2000;
3832 prim->fn_sb_neigh = EOTD_0L;
3833 prim->fn_in_sb = EOTD_0L;
3834 prim->delta_fn = EOTD_0L;
3835 prim->delta_qbit = EOTD_0L;
3836 return prim;
3837 }
3838 T_PRIMITIVE_UNION mphc_ncell_sync_ind_48()
3839 {
3840 T_MPHC_NCELL_SYNC_IND prim;
3841 prim->radio_freq = ARFCN_516;
3842 prim->sb_flag = SB_FOUND;
3843 prim->fn_offset = FN_OFFSET_102;
3844 prim->time_alignment = TIME_ALIGNMT_14;
3845 prim->bsic = BSIC_10;
3846 prim->neigh_id = EOTD_00;
3847 prim->attempt = EOTD_00;
3848 prim->pm = EOTD_0L;
3849 prim->toa = EOTD_0L;
3850 prim->angle = EOTD_0L;
3851 prim->snr = EOTD_0L;
3852 prim->eodt_data_valid = EOTD_PRES;
3853 prim->mode = EOTD_00;
3854 prim->d_eotd_first = EOTD_0000;
3855 prim->d_eotd_max = EOTD_0000;
3856 prim->d_eotd_nrj = RSSI_61440;
3857 prim->a_eotd_crosscor = EOTD_CROSSCOR_6;
3858 prim->time_tag = NOM_POS_1000;
3859 prim->fn_sb_neigh = EOTD_0L;
3860 prim->fn_in_sb = EOTD_0L;
3861 prim->delta_fn = EOTD_0L;
3862 prim->delta_qbit = EOTD_0L;
3863 return prim;
3864 }
3865 T_PRIMITIVE_UNION mphc_ncell_sync_ind_49()
3866 {
3867 T_MPHC_NCELL_SYNC_IND prim;
3868 prim->radio_freq = ARFCN_525;
3869 prim->sb_flag = SB_FOUND;
3870 prim->fn_offset = FN_OFFSET_114;
3871 prim->time_alignment = TIME_ALIGNMT_14;
3872 prim->bsic = BSIC_10;
3873 prim->neigh_id = EOTD_00;
3874 prim->attempt = EOTD_00;
3875 prim->pm = EOTD_0L;
3876 prim->toa = EOTD_0L;
3877 prim->angle = EOTD_0L;
3878 prim->snr = EOTD_0L;
3879 prim->eodt_data_valid = EOTD_PRES;
3880 prim->mode = EOTD_00;
3881 prim->d_eotd_first = EOTD_0000;
3882 prim->d_eotd_max = EOTD_0000;
3883 prim->d_eotd_nrj = RSSI_61952;
3884 prim->a_eotd_crosscor = EOTD_CROSSCOR_9;
3885 prim->time_tag = NOM_POS_2000;
3886 prim->fn_sb_neigh = EOTD_0L;
3887 prim->fn_in_sb = EOTD_0L;
3888 prim->delta_fn = EOTD_0L;
3889 prim->delta_qbit = EOTD_0L;
3890 return prim;
3891 }
3892
3893 T_PRIMITIVE_UNION mphc_ncell_sync_ind_cell32()
3894 {
3895 T_MPHC_NCELL_SYNC_IND prim;
3896 prim->radio_freq = ARFCN_32;
3897 prim->sb_flag = SB_FOUND;
3898 prim->fn_offset = FN_OFFSET_32;
3899 prim->time_alignment = TIME_ALIGNMT_32;
3900 prim->bsic = BSIC_3;
3901 prim->neigh_id ._skip;
3902 prim->attempt ._skip;
3903 prim->pm ._skip;
3904 prim->toa ._skip;
3905 prim->angle ._skip;
3906 prim->snr ._skip;
3907 prim->eodt_data_valid = EOTD_NOT_PRES;
3908 prim->mode ._skip;
3909 prim->d_eotd_first ._skip;
3910 prim->d_eotd_max ._skip;
3911 prim->d_eotd_nrj ._skip;
3912 prim->a_eotd_crosscor ._skip;
3913 prim->time_tag ._skip;
3914 prim->fn_sb_neigh ._skip;
3915 prim->fn_in_sb ._skip;
3916 prim->toa_correction ._skip;
3917 prim->delta_fn ._skip;
3918 prim->delta_qbit ._skip;
3919 return prim;
3920 }
3921
3922 T_PRIMITIVE_UNION mphc_ncell_sync_ind_failed(U16 arfcn)
3923 {
3924 T_MPHC_NCELL_SYNC_IND prim;
3925 prim->radio_freq = arfcn;
3926 prim->sb_flag = NO_SB_FOUND;
3927 prim->fn_offset = INVALID_PATTERN;
3928 prim->time_alignment = INVALID_PATTERN;
3929 prim->bsic = INVALID_PATTERN;
3930 prim->neigh_id ._skip;
3931 prim->attempt ._skip;
3932 prim->pm ._skip;
3933 prim->toa ._skip;
3934 prim->angle ._skip;
3935 prim->snr ._skip;
3936 prim->eodt_data_valid = EOTD_NOT_PRES;
3937 prim->mode ._skip;
3938 prim->d_eotd_first ._skip;
3939 prim->d_eotd_max ._skip;
3940 prim->d_eotd_nrj ._skip;
3941 prim->a_eotd_crosscor ._skip;
3942 prim->time_tag ._skip;
3943 prim->fn_sb_neigh ._skip;
3944 prim->fn_in_sb ._skip;
3945 prim->toa_correction ._skip;
3946 prim->delta_fn ._skip;
3947 prim->delta_qbit ._skip;
3948 return prim;
3949 }
3950
3951 T_PRIMITIVE_UNION mphc_ncell_bcch_req(U16 arfcn, U32 fn_offset, U32 ta, U8 bsic, U8 blocks)
3952 {
3953 T_MPHC_NCELL_BCCH_REQ prim;
3954 prim->radio_freq = arfcn;
3955 prim->fn_offset=fn_offset;
3956 prim->time_alignment=ta;
3957 /*
3958 * The training sequence code on broadcast and common control channels
3959 * has to be equal to the Base Station Colour Code (BCC),
3960 * see 3GPP TS 5.02, section 5.2.3 and
3961 * 3GPP TS 03.03, section 4.3.2 Base Station Identify Code (BSIC)
3962 */
3963 prim->tsc=bsic & 7;
3964 prim->bcch_blocks_required=blocks;
3965 prim->gprs_prio._skip;
3966 return prim;
3967 }
3968
3969 T_PRIMITIVE_UNION mphc_ncell_bcch_req(U16 arfcn)
3970 {
3971 T_MPHC_NCELL_BCCH_REQ prim;
3972 prim->radio_freq = arfcn;
3973 prim->fn_offset._show;
3974 prim->time_alignment._show;
3975 prim->tsc._show;
3976 prim->bcch_blocks_required._show;
3977 prim->gprs_prio._skip;
3978 return prim;
3979 }
3980
3981 T_PRIMITIVE_UNION mphc_ncell_bcch_req_cell32(U16 blocks_required)
3982 {
3983 T_MPHC_NCELL_BCCH_REQ prim;
3984 prim->radio_freq = ARFCN_32;
3985 prim->fn_offset = FN_OFFSET_32;
3986 prim->time_alignment = TIME_ALIGNMT_32;
3987 prim->tsc = BSIC_3;
3988 prim->bcch_blocks_required = blocks_required;
3989 prim->gprs_prio._show; // good question
3990 return prim;
3991 }
3992
3993 T_PRIMITIVE_UNION mphc_ncell_bcch_req_4()
3994 {
3995 T_MPHC_NCELL_BCCH_REQ prim;
3996 prim->radio_freq = ARFCN_14;
3997 prim->fn_offset = FN_OFF_ARFCN_14;
3998 prim->time_alignment = TIME_ALIGNMT_14;
3999 prim->tsc = BSIC_0;
4000 prim->bcch_blocks_required = NCELL_BCCH_SI_3_4;
4001 prim->gprs_prio._skip;
4002 return prim;
4003 }
4004 T_PRIMITIVE_UNION mphc_ncell_bcch_req_5()
4005 {
4006 T_MPHC_NCELL_BCCH_REQ prim;
4007 prim->radio_freq = ARFCN_1;
4008 prim->fn_offset = FN_OFF_ARFCN_1;
4009 prim->time_alignment = TIME_ALIGNMT_1;
4010 prim->tsc = BSIC_0;
4011 prim->bcch_blocks_required = NCELL_BCCH_SI_3_4;
4012 prim->gprs_prio._skip;
4013 return prim;
4014 }
4015
4016 T_PRIMITIVE_UNION mphc_ncell_bcch_req_10()
4017 {
4018 T_MPHC_NCELL_BCCH_REQ prim;
4019 prim->radio_freq = ARFCN_637;
4020 prim->fn_offset = FN_OFF_ARFCN_14;
4021 prim->time_alignment = TIME_ALIGNMT_14;
4022 prim->tsc = BSIC_1;
4023 prim->bcch_blocks_required = NCELL_BCCH_SI_3_4;
4024 prim->gprs_prio._skip;
4025 return prim;
4026 }
4027 T_PRIMITIVE_UNION mphc_ncell_bcch_req_13()
4028 {
4029 T_MPHC_NCELL_BCCH_REQ prim;
4030 prim->radio_freq = ARFCN_580;
4031 prim->fn_offset = FN_OFF_ARFCN_14;
4032 prim->time_alignment = TIME_ALIGNMT_14;
4033 prim->tsc = BSIC_1;
4034 prim->bcch_blocks_required = NCELL_BCCH_SI_3_4;
4035 prim->gprs_prio._skip;
4036 return prim;
4037 }
4038 T_PRIMITIVE_UNION mphc_ncell_bcch_req_22()
4039 {
4040 T_MPHC_NCELL_BCCH_REQ prim;
4041 prim->radio_freq = ARFCN_14;
4042 prim->fn_offset = FN_OFF_ARFCN_14;
4043 prim->time_alignment = TIME_ALIGNMT_14;
4044 prim->tsc = BSIC_1;
4045 prim->bcch_blocks_required = NCELL_BCCH_SI_3_7_8;
4046 prim->gprs_prio._skip;
4047 return prim;
4048 }
4049 T_PRIMITIVE_UNION mphc_ncell_bcch_req_23()
4050 {
4051 T_MPHC_NCELL_BCCH_REQ prim;
4052 prim->radio_freq = ARFCN_1;
4053 prim->fn_offset = FN_OFF_ARFCN_1;
4054 prim->time_alignment = TIME_ALIGNMT_1;
4055 prim->tsc = BSIC_1;
4056 prim->bcch_blocks_required = NCELL_BCCH_SI_3_7_8;
4057 prim->gprs_prio._skip;
4058 return prim;
4059 }
4060 T_PRIMITIVE_UNION mphc_ncell_bcch_req_24()
4061 {
4062 T_MPHC_NCELL_BCCH_REQ prim;
4063 prim->radio_freq = ARFCN_124;
4064 prim->fn_offset = FN_OFF_ARFCN_124;
4065 prim->time_alignment = TIME_ALIGNMT_124;
4066 prim->tsc = BSIC_1;
4067 prim->bcch_blocks_required = NCELL_BCCH_SI_3_7_8;
4068 prim->gprs_prio._skip;
4069 return prim;
4070 }
4071 T_PRIMITIVE_UNION mphc_ncell_bcch_req_25()
4072 {
4073 T_MPHC_NCELL_BCCH_REQ prim;
4074 prim->radio_freq = ARFCN_14;
4075 prim->fn_offset = FN_OFFSET_224;
4076 prim->time_alignment = TIME_ALIGNMT_14;
4077 prim->tsc = BSIC_1;
4078 prim->bcch_blocks_required = NCELL_BCCH_SI_3_4;
4079 #if defined GPRS
4080 prim->gprs_prio = GPRS_PRIO_NORM;
4081 #else
4082 prim->gprs_prio._skip;
4083 #endif
4084 return prim;
4085 }
4086 T_PRIMITIVE_UNION mphc_ncell_bcch_req_26()
4087 {
4088 T_MPHC_NCELL_BCCH_REQ prim;
4089 prim->radio_freq = ARFCN_124;
4090 prim->fn_offset = FN_OFF_ARFCN_14;
4091 prim->time_alignment = TIME_ALIGNMT_14;
4092 prim->tsc = BSIC_1;
4093 prim->bcch_blocks_required = NCELL_BCCH_SI_3_4;
4094 #if defined GPRS
4095 prim->gprs_prio = GPRS_PRIO_NORM;
4096 #else
4097 prim->gprs_prio._skip;
4098 #endif
4099 return prim;
4100 }
4101 T_PRIMITIVE_UNION mphc_ncell_bcch_req_27()
4102 {
4103 T_MPHC_NCELL_BCCH_REQ prim;
4104 prim->radio_freq = ARFCN_1;
4105 prim->fn_offset = FN_OFFSET_224;
4106 prim->time_alignment = TIME_ALIGNMT_14;
4107 prim->tsc = BSIC_1;
4108 prim->bcch_blocks_required = NCELL_BCCH_SI_3_4;
4109 #if defined GPRS
4110 prim->gprs_prio = GPRS_PRIO_NORM;
4111 #else
4112 prim->gprs_prio._skip;
4113 #endif
4114 return prim;
4115 }
4116 T_PRIMITIVE_UNION mphc_ncell_bcch_req_28()
4117 {
4118 T_MPHC_NCELL_BCCH_REQ prim;
4119 prim->radio_freq = ARFCN_1;
4120 prim->fn_offset = FN_OFFSET_224;
4121 prim->time_alignment = TIME_ALIGNMT_14;
4122 prim->tsc = BSIC_2;
4123 prim->bcch_blocks_required = NCELL_BCCH_SI_3_4;
4124 #if defined GPRS
4125 prim->gprs_prio = GPRS_PRIO_NORM;
4126 #else
4127 prim->gprs_prio._skip;
4128 #endif
4129 return prim;
4130 }
4131 T_PRIMITIVE_UNION mphc_ncell_bcch_req_30()
4132 {
4133 T_MPHC_NCELL_BCCH_REQ prim;
4134 prim->radio_freq = ARFCN_25;
4135 prim->fn_offset = FN_OFFSET_102;
4136 prim->time_alignment = TIME_ALIGNMT_14;
4137 prim->tsc = BSIC_1;
4138 prim->bcch_blocks_required = NCELL_BCCH_SI_3_4;
4139 #if defined GPRS
4140 prim->gprs_prio = GPRS_PRIO_NORM;
4141 #else
4142 prim->gprs_prio._skip;
4143 #endif
4144 return prim;
4145 }
4146 T_PRIMITIVE_UNION mphc_ncell_bcch_req_31()
4147 {
4148 T_MPHC_NCELL_BCCH_REQ prim;
4149 prim->radio_freq = ARFCN_512;
4150 prim->fn_offset = FN_OFFSET_153;
4151 prim->time_alignment = TIME_ALIGNMT_14;
4152 prim->tsc = BSIC_1;
4153 prim->bcch_blocks_required = NCELL_BCCH_SI_3_4;
4154 #if defined GPRS
4155 prim->gprs_prio = GPRS_PRIO_NORM;
4156 #else
4157 prim->gprs_prio._skip;
4158 #endif
4159 return prim;
4160 }
4161 T_PRIMITIVE_UNION mphc_ncell_bcch_req_32()
4162 {
4163 T_MPHC_NCELL_BCCH_REQ prim;
4164 prim->radio_freq = ARFCN_580;
4165 prim->fn_offset = FN_OFFSET_204;
4166 prim->time_alignment = TIME_ALIGNMT_14;
4167 prim->tsc = BSIC_1;
4168 prim->bcch_blocks_required = NCELL_BCCH_SI_3_4;
4169 #if defined GPRS
4170 prim->gprs_prio = GPRS_PRIO_NORM;
4171 #else
4172 prim->gprs_prio._skip;
4173 #endif
4174 return prim;
4175 }
4176 T_PRIMITIVE_UNION mphc_ncell_bcch_req_33()
4177 {
4178 T_MPHC_NCELL_BCCH_REQ prim;
4179 prim->radio_freq = ARFCN_885;
4180 prim->fn_offset = FN_OFFSET_255;
4181 prim->time_alignment = TIME_ALIGNMT_14;
4182 prim->tsc = BSIC_1;
4183 prim->bcch_blocks_required = NCELL_BCCH_SI_3_4;
4184 #if defined GPRS
4185 prim->gprs_prio = GPRS_PRIO_NORM;
4186 #else
4187 prim->gprs_prio._skip;
4188 #endif
4189 return prim;
4190 }
4191
4192 T_PRIMITIVE_UNION mphc_stop_ncell_bcch_req(U16 arfcn)
4193 {
4194 T_MPHC_STOP_NCELL_BCCH_REQ prim;
4195 prim->radio_freq_array_size = STOP_SIZE_1;
4196
4197 int i=0;
4198 prim->radio_freq_array[i] = arfcn;
4199 i++;
4200
4201 for(;i<MAX_NCELL;i++) {
4202 prim->radio_freq_array[i] = 0;
4203 }
4204 return prim;
4205 }
4206 T_PRIMITIVE_UNION mphc_ncell_bcch_ind_si3(U16 arfcn)
4207 {
4208 T_MPHC_NCELL_BCCH_IND prim;
4209 prim->radio_freq = arfcn;
4210 prim->l2_channel = L2_CHANNEL_NBCCH;
4211 prim->error_flag = VALID_BLOCK;
4212 prim->l2_frame = l2_sys_info_3();
4213 prim->tc = TC_2;
4214 prim->fn = FN_OFF_ARFCN_14;
4215 return prim;
4216 }
4217 T_PRIMITIVE_UNION mphc_ncell_bcch_ind_si2(U16 arfcn)
4218 {
4219 T_MPHC_NCELL_BCCH_IND prim;
4220 prim->radio_freq = arfcn;
4221 prim->l2_channel = L2_CHANNEL_NBCCH;
4222 prim->error_flag = VALID_BLOCK;
4223 prim->l2_frame = l2_sys_info_2();
4224 prim->tc = TC_2;
4225 prim->fn = FN_OFF_ARFCN_14;
4226 return prim;
4227 }
4228 T_PRIMITIVE_UNION mphc_ncell_bcch_ind_si4(U16 arfcn)
4229 {
4230 T_MPHC_NCELL_BCCH_IND prim;
4231 prim->radio_freq = arfcn;
4232 prim->l2_channel = L2_CHANNEL_NBCCH;
4233 prim->error_flag = VALID_BLOCK;
4234 prim->l2_frame = l2_sys_info_4();
4235 prim->tc = TC_2;
4236 prim->fn = FN_OFF_ARFCN_14;
4237 return prim;
4238 }
4239 T_PRIMITIVE_UNION mphc_ncell_bcch_ind_si4_acs(U16 arfcn)
4240 {
4241 T_MPHC_NCELL_BCCH_IND prim;
4242 prim->radio_freq = arfcn;
4243 prim->l2_channel = L2_CHANNEL_NBCCH;
4244 prim->error_flag = VALID_BLOCK;
4245 prim->l2_frame = l2_sys_info_4_acs();
4246 prim->tc = TC_2;
4247 prim->fn = FN_OFF_ARFCN_14;
4248 return prim;
4249 }
4250
4251 T_PRIMITIVE_UNION mphc_ncell_bcch_ind_si7(U16 arfcn)
4252 {
4253 T_MPHC_NCELL_BCCH_IND prim;
4254 prim->radio_freq = arfcn;
4255 prim->l2_channel = L2_CHANNEL_NBCCH;
4256 prim->error_flag = VALID_BLOCK;
4257 prim->l2_frame = l2_sys_info_7();
4258 prim->tc = TC_2;
4259 prim->fn = FN_OFF_ARFCN_1;
4260 return prim;
4261 }
4262
4263 T_PRIMITIVE_UNION mphc_ncell_bcch_ind_si8(U16 arfcn)
4264 {
4265 T_MPHC_NCELL_BCCH_IND prim;
4266 prim->radio_freq = arfcn;
4267 prim->l2_channel = L2_CHANNEL_NBCCH;
4268 prim->error_flag = VALID_BLOCK;
4269 prim->l2_frame = l2_sys_info_8();
4270 prim->tc = TC_2;
4271 prim->fn = FN_OFFSET_224;
4272 return prim;
4273 }
4274
4275 T_PRIMITIVE_UNION mphc_ncell_bcch_ind_invalid(U16 arfcn)
4276 {
4277 T_MPHC_NCELL_BCCH_IND prim;
4278 prim->radio_freq = arfcn;
4279 prim->l2_channel = L2_CHANNEL_NBCCH;
4280 prim->error_flag = INVALID_BLOCK;
4281 prim->l2_frame = l2_no_content();
4282 prim->tc = TC_2;
4283 prim->fn = FN_OFF_ARFCN_14;
4284 return prim;
4285 }
4286 #if 0
4287 T_PRIMITIVE_UNION mphc_ncell_bcch_ind_1()
4288 {
4289 T_MPHC_NCELL_BCCH_IND prim;
4290 prim->radio_freq = ARFCN_14;
4291 prim->l2_channel = L2_CHANNEL_NBCCH;
4292 prim->error_flag = VALID_BLOCK;
4293 prim->l2_frame = l2_sys_info_3();
4294 prim->tc = TC_2;
4295 prim->fn = FN_OFF_ARFCN_14;
4296 return prim;
4297 }
4298
4299 T_PRIMITIVE_UNION mphc_ncell_bcch_ind_2()
4300 {
4301 T_MPHC_NCELL_BCCH_IND prim;
4302 prim->radio_freq = ARFCN_124;
4303 prim->l2_channel = L2_CHANNEL_NBCCH;
4304 prim->error_flag = VALID_BLOCK;
4305 prim->l2_frame = l2_sys_info_3();
4306 prim->tc = TC_2;
4307 prim->fn = FN_OFF_ARFCN_124;
4308 return prim;
4309 }
4310 T_PRIMITIVE_UNION mphc_ncell_bcch_ind_3()
4311 {
4312 T_MPHC_NCELL_BCCH_IND prim;
4313 prim->radio_freq = ARFCN_1;
4314 prim->l2_channel = L2_CHANNEL_NBCCH;
4315 prim->error_flag = VALID_BLOCK;
4316 prim->l2_frame = l2_sys_info_3();
4317 prim->tc = TC_2;
4318 prim->fn = FN_OFF_ARFCN_1;
4319 return prim;
4320 }
4321 T_PRIMITIVE_UNION mphc_ncell_bcch_ind_4()
4322 {
4323 T_MPHC_NCELL_BCCH_IND prim;
4324 prim->radio_freq = ARFCN_14;
4325 prim->l2_channel = L2_CHANNEL_NBCCH;
4326 prim->error_flag = INVALID_BLOCK;
4327 prim->l2_frame = l2_sys_info_3();
4328 prim->tc = TC_2;
4329 prim->fn = FN_OFF_ARFCN_14;
4330 return prim;
4331 }
4332 T_PRIMITIVE_UNION mphc_ncell_bcch_ind_5()
4333 {
4334 T_MPHC_NCELL_BCCH_IND prim;
4335 prim->radio_freq = ARFCN_14;
4336 prim->l2_channel = L2_CHANNEL_NBCCH;
4337 prim->error_flag = VALID_BLOCK;
4338 prim->l2_frame = l2_sys_info_2();
4339 prim->tc = TC_1;
4340 prim->fn = FN_OFF_ARFCN_14;
4341 return prim;
4342 }
4343 T_PRIMITIVE_UNION mphc_ncell_bcch_ind_6()
4344 {
4345 T_MPHC_NCELL_BCCH_IND prim;
4346 prim->radio_freq = ARFCN_124;
4347 prim->l2_channel = L2_CHANNEL_NBCCH;
4348 prim->error_flag = VALID_BLOCK;
4349 prim->l2_frame = l2_sys_info_3();
4350 prim->tc = TC_0;
4351 prim->fn = FN_OFF_ARFCN_124;
4352 return prim;
4353 }
4354 T_PRIMITIVE_UNION mphc_ncell_bcch_ind_7()
4355 {
4356 T_MPHC_NCELL_BCCH_IND prim;
4357 prim->radio_freq = ARFCN_1;
4358 prim->l2_channel = L2_CHANNEL_NBCCH;
4359 prim->error_flag = VALID_BLOCK;
4360 prim->l2_frame = l2_sys_info_2();
4361 prim->tc = TC_0;
4362 prim->fn = FN_OFF_ARFCN_1;
4363 return prim;
4364 }
4365 T_PRIMITIVE_UNION mphc_ncell_bcch_ind_8()
4366 {
4367 T_MPHC_NCELL_BCCH_IND prim;
4368 prim->radio_freq = ARFCN_637;
4369 prim->l2_channel = L2_CHANNEL_NBCCH;
4370 prim->error_flag = VALID_BLOCK;
4371 prim->l2_frame = l2_sys_info_3();
4372 prim->tc = TC_2;
4373 prim->fn = FN_OFF_ARFCN_14;
4374 return prim;
4375 }
4376 T_PRIMITIVE_UNION mphc_ncell_bcch_ind_9()
4377 {
4378 T_MPHC_NCELL_BCCH_IND prim;
4379 prim->radio_freq = ARFCN_25;
4380 prim->l2_channel = L2_CHANNEL_NBCCH;
4381 prim->error_flag = VALID_BLOCK;
4382 prim->l2_frame = l2_sys_info_3();
4383 prim->tc = TC_2;
4384 prim->fn = FN_OFF_ARFCN_14;
4385 return prim;
4386 }
4387 T_PRIMITIVE_UNION mphc_ncell_bcch_ind_10()
4388 {
4389 T_MPHC_NCELL_BCCH_IND prim;
4390 prim->radio_freq = ARFCN_512;
4391 prim->l2_channel = L2_CHANNEL_NBCCH;
4392 prim->error_flag = VALID_BLOCK;
4393 prim->l2_frame = l2_sys_info_3();
4394 prim->tc = TC_2;
4395 prim->fn = FN_OFF_ARFCN_14;
4396 return prim;
4397 }
4398 T_PRIMITIVE_UNION mphc_ncell_bcch_ind_11()
4399 {
4400 T_MPHC_NCELL_BCCH_IND prim;
4401 prim->radio_freq = ARFCN_580;
4402 prim->l2_channel = L2_CHANNEL_NBCCH;
4403 prim->error_flag = VALID_BLOCK;
4404 prim->l2_frame = l2_sys_info_3();
4405 prim->tc = TC_2;
4406 prim->fn = FN_OFF_ARFCN_14;
4407 return prim;
4408 }
4409 T_PRIMITIVE_UNION mphc_ncell_bcch_ind_12()
4410 {
4411 T_MPHC_NCELL_BCCH_IND prim;
4412 prim->radio_freq = ARFCN_885;
4413 prim->l2_channel = L2_CHANNEL_NBCCH;
4414 prim->error_flag = VALID_BLOCK;
4415 prim->l2_frame = l2_sys_info_3();
4416 prim->tc = TC_2;
4417 prim->fn = FN_OFF_ARFCN_14;
4418 return prim;
4419 }
4420 T_PRIMITIVE_UNION mphc_ncell_bcch_ind_13()
4421 {
4422 T_MPHC_NCELL_BCCH_IND prim;
4423 prim->radio_freq = ARFCN_87;
4424 prim->l2_channel = L2_CHANNEL_NBCCH;
4425 prim->error_flag = VALID_BLOCK;
4426 prim->l2_frame = l2_sys_info_3();
4427 prim->tc = TC_2;
4428 prim->fn = FN_OFF_ARFCN_14;
4429 return prim;
4430 }
4431 T_PRIMITIVE_UNION mphc_ncell_bcch_ind_14()
4432 {
4433 T_MPHC_NCELL_BCCH_IND prim;
4434 prim->radio_freq = ARFCN_11;
4435 prim->l2_channel = L2_CHANNEL_NBCCH;
4436 prim->error_flag = VALID_BLOCK;
4437 prim->l2_frame = l2_sys_info_3();
4438 prim->tc = TC_2;
4439 prim->fn = FN_OFF_ARFCN_14;
4440 return prim;
4441 }
4442 T_PRIMITIVE_UNION mphc_ncell_bcch_ind_15()
4443 {
4444 T_MPHC_NCELL_BCCH_IND prim;
4445 prim->radio_freq = ARFCN_1;
4446 prim->l2_channel = L2_CHANNEL_NBCCH;
4447 prim->error_flag = VALID_BLOCK;
4448 prim->l2_frame = l2_sys_info_3();
4449 prim->tc = TC_2;
4450 prim->fn = FN_OFF_ARFCN_14;
4451 return prim;
4452 }
4453 T_PRIMITIVE_UNION mphc_ncell_bcch_ind_16()
4454 {
4455 T_MPHC_NCELL_BCCH_IND prim;
4456 prim->radio_freq = ARFCN_700;
4457 prim->l2_channel = L2_CHANNEL_NBCCH;
4458 prim->error_flag = VALID_BLOCK;
4459 prim->l2_frame = l2_sys_info_3();
4460 prim->tc = TC_2;
4461 prim->fn = FN_OFF_ARFCN_14;
4462 return prim;
4463 }
4464 T_PRIMITIVE_UNION mphc_ncell_bcch_ind_17()
4465 {
4466 T_MPHC_NCELL_BCCH_IND prim;
4467 prim->radio_freq = ARFCN_600;
4468 prim->l2_channel = L2_CHANNEL_NBCCH;
4469 prim->error_flag = VALID_BLOCK;
4470 prim->l2_frame = l2_sys_info_3();
4471 prim->tc = TC_2;
4472 prim->fn = FN_OFF_ARFCN_14;
4473 return prim;
4474 }
4475 T_PRIMITIVE_UNION mphc_ncell_bcch_ind_18()
4476 {
4477 T_MPHC_NCELL_BCCH_IND prim;
4478 prim->radio_freq = ARFCN_513;
4479 prim->l2_channel = L2_CHANNEL_NBCCH;
4480 prim->error_flag = VALID_BLOCK;
4481 prim->l2_frame = l2_sys_info_3();
4482 prim->tc = TC_2;
4483 prim->fn = FN_OFF_ARFCN_14;
4484 return prim;
4485 }
4486 T_PRIMITIVE_UNION mphc_ncell_bcch_ind_19()
4487 {
4488 T_MPHC_NCELL_BCCH_IND prim;
4489 prim->radio_freq = ARFCN_810;
4490 prim->l2_channel = L2_CHANNEL_NBCCH;
4491 prim->error_flag = VALID_BLOCK;
4492 prim->l2_frame = l2_sys_info_3();
4493 prim->tc = TC_2;
4494 prim->fn = FN_OFF_ARFCN_14;
4495 return prim;
4496 }
4497 T_PRIMITIVE_UNION mphc_ncell_bcch_ind_20()
4498 {
4499 T_MPHC_NCELL_BCCH_IND prim;
4500 prim->radio_freq = ARFCN_14;
4501 prim->l2_channel = L2_CHANNEL_NBCCH;
4502 prim->error_flag = VALID_BLOCK;
4503 prim->l2_frame = l2_sys_info_4();
4504 prim->tc = TC_2;
4505 prim->fn = FN_OFF_ARFCN_14;
4506 return prim;
4507 }
4508 T_PRIMITIVE_UNION mphc_ncell_bcch_ind_21()
4509 {
4510 T_MPHC_NCELL_BCCH_IND prim;
4511 prim->radio_freq = ARFCN_1;
4512 prim->l2_channel = L2_CHANNEL_NBCCH;
4513 prim->error_flag = VALID_BLOCK;
4514 prim->l2_frame = l2_sys_info_4();
4515 prim->tc = TC_2;
4516 prim->fn = FN_OFF_ARFCN_1;
4517 return prim;
4518 }
4519 T_PRIMITIVE_UNION mphc_ncell_bcch_ind_22()
4520 {
4521 T_MPHC_NCELL_BCCH_IND prim;
4522 prim->radio_freq = ARFCN_124;
4523 prim->l2_channel = L2_CHANNEL_NBCCH;
4524 prim->error_flag = VALID_BLOCK;
4525 prim->l2_frame = l2_sys_info_4();
4526 prim->tc = TC_2;
4527 prim->fn = FN_OFF_ARFCN_124;
4528 return prim;
4529 }
4530 T_PRIMITIVE_UNION mphc_ncell_bcch_ind_23()
4531 {
4532 T_MPHC_NCELL_BCCH_IND prim;
4533 prim->radio_freq = ARFCN_14;
4534 prim->l2_channel = L2_CHANNEL_NBCCH;
4535 prim->error_flag = VALID_BLOCK;
4536 prim->l2_frame = l2_sys_info_4_acs();
4537 prim->tc = TC_2;
4538 prim->fn = FN_OFF_ARFCN_14;
4539 return prim;
4540 }
4541 T_PRIMITIVE_UNION mphc_ncell_bcch_ind_24()
4542 {
4543 T_MPHC_NCELL_BCCH_IND prim;
4544 prim->radio_freq = ARFCN_1;
4545 prim->l2_channel = L2_CHANNEL_NBCCH;
4546 prim->error_flag = VALID_BLOCK;
4547 prim->l2_frame = l2_sys_info_4_acs();
4548 prim->tc = TC_2;
4549 prim->fn = FN_OFF_ARFCN_1;
4550 return prim;
4551 }
4552 T_PRIMITIVE_UNION mphc_ncell_bcch_ind_25()
4553 {
4554 T_MPHC_NCELL_BCCH_IND prim;
4555 prim->radio_freq = ARFCN_124;
4556 prim->l2_channel = L2_CHANNEL_NBCCH;
4557 prim->error_flag = VALID_BLOCK;
4558 prim->l2_frame = l2_sys_info_4_acs();
4559 prim->tc = TC_2;
4560 prim->fn = FN_OFF_ARFCN_124;
4561 return prim;
4562 }
4563 T_PRIMITIVE_UNION mphc_ncell_bcch_ind_26()
4564 {
4565 T_MPHC_NCELL_BCCH_IND prim;
4566 prim->radio_freq = ARFCN_14;
4567 prim->l2_channel = L2_CHANNEL_NBCCH;
4568 prim->error_flag = VALID_BLOCK;
4569 prim->l2_frame = l2_sys_info_7();
4570 prim->tc = TC_2;
4571 prim->fn = FN_OFF_ARFCN_14;
4572 return prim;
4573 }
4574 T_PRIMITIVE_UNION mphc_ncell_bcch_ind_27()
4575 {
4576 T_MPHC_NCELL_BCCH_IND prim;
4577 prim->radio_freq = ARFCN_1;
4578 prim->l2_channel = L2_CHANNEL_NBCCH;
4579 prim->error_flag = VALID_BLOCK;
4580 prim->l2_frame = l2_sys_info_7();
4581 prim->tc = TC_2;
4582 prim->fn = FN_OFF_ARFCN_1;
4583 return prim;
4584 }
4585 T_PRIMITIVE_UNION mphc_ncell_bcch_ind_28()
4586 {
4587 T_MPHC_NCELL_BCCH_IND prim;
4588 prim->radio_freq = ARFCN_124;
4589 prim->l2_channel = L2_CHANNEL_NBCCH;
4590 prim->error_flag = VALID_BLOCK;
4591 prim->l2_frame = l2_sys_info_7();
4592 prim->tc = TC_2;
4593 prim->fn = FN_OFF_ARFCN_124;
4594 return prim;
4595 }
4596 T_PRIMITIVE_UNION mphc_ncell_bcch_ind_29()
4597 {
4598 T_MPHC_NCELL_BCCH_IND prim;
4599 prim->radio_freq = ARFCN_14;
4600 prim->l2_channel = L2_CHANNEL_NBCCH;
4601 prim->error_flag = VALID_BLOCK;
4602 prim->l2_frame = l2_sys_info_8();
4603 prim->tc = TC_2;
4604 prim->fn = FN_OFF_ARFCN_14;
4605 return prim;
4606 }
4607 T_PRIMITIVE_UNION mphc_ncell_bcch_ind_30()
4608 {
4609 T_MPHC_NCELL_BCCH_IND prim;
4610 prim->radio_freq = ARFCN_1;
4611 prim->l2_channel = L2_CHANNEL_NBCCH;
4612 prim->error_flag = VALID_BLOCK;
4613 prim->l2_frame = l2_sys_info_8();
4614 prim->tc = TC_2;
4615 prim->fn = FN_OFF_ARFCN_1;
4616 return prim;
4617 }
4618 T_PRIMITIVE_UNION mphc_ncell_bcch_ind_31()
4619 {
4620 T_MPHC_NCELL_BCCH_IND prim;
4621 prim->radio_freq = ARFCN_124;
4622 prim->l2_channel = L2_CHANNEL_NBCCH;
4623 prim->error_flag = VALID_BLOCK;
4624 prim->l2_frame = l2_sys_info_8();
4625 prim->tc = TC_2;
4626 prim->fn = FN_OFF_ARFCN_124;
4627 return prim;
4628 }
4629 T_PRIMITIVE_UNION mphc_ncell_bcch_ind_32()
4630 {
4631 T_MPHC_NCELL_BCCH_IND prim;
4632 prim->radio_freq = ARFCN_14;
4633 prim->l2_channel = L2_CHANNEL_NBCCH;
4634 prim->error_flag = VALID_BLOCK;
4635 prim->l2_frame = l2_sys_info_2();
4636 prim->tc = TC_2;
4637 prim->fn = FN_OFF_ARFCN_14;
4638 return prim;
4639 }
4640 T_PRIMITIVE_UNION mphc_ncell_bcch_ind_33()
4641 {
4642 T_MPHC_NCELL_BCCH_IND prim;
4643 prim->radio_freq = ARFCN_14;
4644 prim->l2_channel = L2_CHANNEL_NBCCH;
4645 prim->error_flag = INVALID_BLOCK;
4646 prim->l2_frame = l2_no_content();
4647 prim->tc = TC_2;
4648 prim->fn = FN_OFF_ARFCN_14;
4649 return prim;
4650 }
4651 T_PRIMITIVE_UNION mphc_ncell_bcch_ind_34()
4652 {
4653 T_MPHC_NCELL_BCCH_IND prim;
4654 prim->radio_freq = ARFCN_1;
4655 prim->l2_channel = L2_CHANNEL_NBCCH;
4656 prim->error_flag = INVALID_BLOCK;
4657 prim->l2_frame = l2_no_content();
4658 prim->tc = TC_2;
4659 prim->fn = FN_OFF_ARFCN_1;
4660 return prim;
4661 }
4662 T_PRIMITIVE_UNION mphc_ncell_bcch_ind_35()
4663 {
4664 T_MPHC_NCELL_BCCH_IND prim;
4665 prim->radio_freq = ARFCN_124;
4666 prim->l2_channel = L2_CHANNEL_NBCCH;
4667 prim->error_flag = INVALID_BLOCK;
4668 prim->l2_frame = l2_no_content();
4669 prim->tc = TC_2;
4670 prim->fn = FN_OFF_ARFCN_124;
4671 return prim;
4672 }
4673 T_PRIMITIVE_UNION mphc_ncell_bcch_ind_36()
4674 {
4675 T_MPHC_NCELL_BCCH_IND prim;
4676 prim->radio_freq = ARFCN_14;
4677 prim->l2_channel = L2_CHANNEL_NBCCH;
4678 prim->error_flag = VALID_BLOCK;
4679 prim->l2_frame = l2_sys_info_3();
4680 prim->tc = TC_2;
4681 prim->fn = FN_OFFSET_224;
4682 return prim;
4683 }
4684
4685
4686 T_PRIMITIVE_UNION mphc_ncell_bcch_ind_37()
4687 {
4688 T_MPHC_NCELL_BCCH_IND prim;
4689 prim->radio_freq = ARFCN_124;
4690 prim->l2_channel = L2_CHANNEL_NBCCH;
4691 prim->error_flag = VALID_BLOCK;
4692 prim->l2_frame = l2_sys_info_3();
4693 prim->tc = TC_2;
4694 prim->fn = FN_OFF_ARFCN_14;
4695 return prim;
4696 }
4697
4698
4699 T_PRIMITIVE_UNION mphc_ncell_bcch_ind_38()
4700 {
4701 T_MPHC_NCELL_BCCH_IND prim;
4702 prim->radio_freq = ARFCN_1;
4703 prim->l2_channel = L2_CHANNEL_NBCCH;
4704 prim->error_flag = VALID_BLOCK;
4705 prim->l2_frame = l2_sys_info_3();
4706 prim->tc = TC_2;
4707 prim->fn = FN_OFFSET_224;
4708 return prim;
4709 }
4710 #endif
4711
4712 T_PRIMITIVE_UNION mphc_update_ba_list_1()
4713 {
4714 T_MPHC_UPDATE_BA_LIST prim;
4715 prim->num_of_chans = CONST_5;
4716 prim->chan_list.radio_freq = RADIO_FREQ_100;
4717 prim->pwrc = PWRC_NOT_SET;
4718 prim->dtx_allowed = DTX_NOTALLOWED;
4719 prim->ba_id = CONST_129;
4720 return prim;
4721 }
4722 T_PRIMITIVE_UNION mphc_update_ba_list_2()
4723 {
4724 const U16 RADIO_FREQ_101[33] = {
4725 23,1,14,124,0,0,0,0,
4726 0,0,0,0,0,0,0,0,
4727 0,0,0,0,0,0,0,0,
4728 0,0,0,0,0,0,0,0,
4729 0
4730 };
4731 T_MPHC_UPDATE_BA_LIST prim;
4732 prim->num_of_chans = CONST_4;
4733 prim->chan_list.radio_freq = RADIO_FREQ_101;
4734 prim->pwrc = PWRC_NOT_SET;
4735 prim->dtx_allowed = DTX_NOTALLOWED;
4736 prim->ba_id = CONST_2;
4737 return prim;
4738 }
4739
4740 T_PRIMITIVE_UNION mphc_update_ba_list_2a()
4741 {
4742 const U16 RADIO_FREQ_101[33] = {
4743 23,1,11,15,20,24,25,26,
4744 0,0,0,0,0,0,0,0,
4745 0,0,0,0,0,0,0,0,
4746 0,0,0,0,0,0,0,0,
4747 0
4748 };
4749 T_MPHC_UPDATE_BA_LIST prim;
4750 prim->num_of_chans = 8;
4751 prim->chan_list.radio_freq._show;
4752 prim->pwrc = PWRC_NOT_SET;
4753 prim->dtx_allowed = DTX_NOTALLOWED;
4754 prim->ba_id = CONST_2;
4755 return prim;
4756 }
4757
4758 T_PRIMITIVE_UNION mphc_update_ba_list_3()
4759 {
4760 T_MPHC_UPDATE_BA_LIST prim;
4761 prim->num_of_chans = CONST_5;
4762 prim->chan_list.radio_freq = RADIO_FREQ_100;
4763 prim->pwrc = PWRC_NOT_SET;
4764 prim->dtx_allowed = DTX_NOTALLOWED;
4765 prim->ba_id = CONST_130;
4766 return prim;
4767 }
4768
4769 T_PRIMITIVE_UNION mphc_update_ba_list_4()
4770 {
4771 T_MPHC_UPDATE_BA_LIST prim;
4772 prim->num_of_chans = CHANNELS_14;
4773 prim->chan_list.radio_freq = RF_DEDI_LARGE_1;
4774 prim->pwrc = PWRC_NOT_SET;
4775 prim->dtx_allowed = DTX_NOTALLOWED;
4776 prim->ba_id = BA_ID_2;
4777 return prim;
4778 }
4779 T_PRIMITIVE_UNION mphc_update_ba_list_5()
4780 {
4781 T_MPHC_UPDATE_BA_LIST prim;
4782 prim->num_of_chans = CHANNELS_24;
4783 prim->chan_list.radio_freq = RF_DEDI_LARGE_2;
4784 prim->pwrc = PWRC_NOT_SET;
4785 prim->dtx_allowed = DTX_NOTALLOWED;
4786 prim->ba_id = BA_ID_3;
4787 return prim;
4788 }
4789 T_PRIMITIVE_UNION mphc_update_ba_list_6()
4790 {
4791 T_MPHC_UPDATE_BA_LIST prim;
4792 prim->num_of_chans = CHANNELS_11;
4793 prim->chan_list.radio_freq = RF_AFTER_HO_LARGE_1;
4794 prim->pwrc = PWRC_NOT_SET;
4795 prim->dtx_allowed = DTX_NOTALLOWED;
4796 prim->ba_id = BA_ID_4;
4797 return prim;
4798 }
4799 T_PRIMITIVE_UNION mphc_update_ba_list_7()
4800 {
4801 T_MPHC_UPDATE_BA_LIST prim;
4802 prim->num_of_chans = CHANNELS_23;
4803 prim->chan_list.radio_freq = RF_AFTER_HO_LARGE_2;
4804 prim->pwrc = PWRC_NOT_SET;
4805 prim->dtx_allowed = DTX_NOTALLOWED;
4806 prim->ba_id = BA_ID_5;
4807 return prim;
4808 }
4809
4810 T_PRIMITIVE_UNION mphc_update_ba_list_8()
4811 {
4812 const U16 RADIO_FREQ_23_1_124[33] = {
4813 ARFCN_23, ARFCN_1,ARFCN_124,0,0,0,0,0,
4814 0,0,0,0,0,0,0,0,
4815 0,0,0,0,0,0,0,0,
4816 0,0,0,0,0,0,0,0,
4817 0
4818 };
4819 T_MPHC_UPDATE_BA_LIST prim;
4820 prim->num_of_chans = CHANNELS_3;
4821 prim->chan_list.radio_freq = RADIO_FREQ_23_1_124;
4822 prim->pwrc = PWRC_NOT_SET;
4823 prim->dtx_allowed = DTX_NOTALLOWED;
4824 prim->ba_id = BA_ID_3;
4825 return prim;
4826 }
4827 T_PRIMITIVE_UNION mphc_meas_report_1()
4828 {
4829 T_MPHC_MEAS_REPORT prim;
4830 prim->dtx_used = DTX_USED;
4831 prim->meas_valid = MEAS_ARE_VALID;
4832 prim->rxlev_full_acc = CONST_1;
4833 prim->rxlev_full_nbr_meas = CONST_1;
4834 prim->rxlev_sub_acc = CONST_1;
4835 prim->rxlev_sub_nbr_meas = CONST_1;
4836 prim->rxqual_full_acc_errors = CONST_1;
4837 prim->rxqual_full_nbr_bits = CONST_1;
4838 prim->rxqual_sub_acc_errors = CONST_1;
4839 prim->rxqual_sub_nbr_bits = CONST_1;
4840 prim->no_of_ncells_meas = CONST_5;
4841 prim->ncell_meas.res_list = res_list_100();
4842 prim->ba_id = CONST_129;
4843 prim->timing_advance = CONST_1;
4844 prim->txpwr_used = CONST_1;
4845 return prim;
4846 }
4847 T_PRIMITIVE_UNION mphc_meas_report_2()
4848 {
4849 T_MPHC_MEAS_REPORT prim;
4850 prim->dtx_used = DTX_USED;
4851 prim->meas_valid = MEAS_ARE_VALID;
4852 prim->rxlev_full_acc = CONST_63;
4853 prim->rxlev_full_nbr_meas = CONST_1;
4854 prim->rxlev_sub_acc = CONST_63;
4855 prim->rxlev_sub_nbr_meas = CONST_1;
4856 prim->rxqual_full_acc_errors = CONST_1;
4857 prim->rxqual_full_nbr_bits = CONST_1;
4858 prim->rxqual_sub_acc_errors = CONST_1;
4859 prim->rxqual_sub_nbr_bits = CONST_1;
4860 prim->no_of_ncells_meas = CONST_5;
4861 //prim->ncell_meas.res_list = res_list_102();
4862 int i=0;
4863 prim->ncell_meas.res_list[i].bcch_freq = CONST_1;
4864 prim->ncell_meas.res_list[i].rxlev_acc = CONST_30;
4865 prim->ncell_meas.res_list[i].rxlev_nbr_meas = CONST_1;
4866 i++;
4867
4868 prim->ncell_meas.res_list[i].bcch_freq = CONST_46;
4869 prim->ncell_meas.res_list[i].rxlev_acc = CONST_6;
4870 prim->ncell_meas.res_list[i].rxlev_nbr_meas = CONST_1;
4871 i++;
4872
4873 prim->ncell_meas.res_list[i].bcch_freq = CONST_47;
4874 prim->ncell_meas.res_list[i].rxlev_acc = CONST_53;
4875 prim->ncell_meas.res_list[i].rxlev_nbr_meas = CONST_1;
4876 i++;
4877
4878 prim->ncell_meas.res_list[i].bcch_freq = CONST_124;
4879 prim->ncell_meas.res_list[i].rxlev_acc = CONST_13;
4880 prim->ncell_meas.res_list[i].rxlev_nbr_meas = CONST_1;
4881 i++;
4882
4883 prim->ncell_meas.res_list[i].bcch_freq = CONST_23;
4884 prim->ncell_meas.res_list[i].rxlev_acc = CONST_1;
4885 prim->ncell_meas.res_list[i].rxlev_nbr_meas = CONST_1;
4886 i++;
4887
4888 prim->no_of_ncells_meas = i;
4889
4890 for(;i<BA_LIST_SIZE;i++) {
4891 prim->ncell_meas.res_list[i].bcch_freq ._skip;
4892 prim->ncell_meas.res_list[i].rxlev_acc ._skip;
4893 prim->ncell_meas.res_list[i].rxlev_nbr_meas ._skip;
4894 }
4895
4896 prim->ba_id = CONST_1;
4897 prim->timing_advance = CONST_1;
4898 prim->txpwr_used = CONST_1;
4899 return prim;
4900 }
4901 /********************************************************************* remove ?
4902 T_PRIMITIVE_UNION mphc_meas_report_4()
4903 {
4904 T_MPHC_MEAS_REPORT prim;
4905 prim->dtx_used = DTX_USED;
4906 prim->meas_valid = MEAS_ARE_VALID;
4907 prim->rxlev_full_acc = CONST_63;
4908 prim->rxlev_full_nbr_meas = CONST_1;
4909 prim->rxlev_sub_acc = CONST_63;
4910 prim->rxlev_sub_nbr_meas = CONST_1;
4911 prim->rxqual_full_acc_errors = CONST_1;
4912 prim->rxqual_full_nbr_bits = CONST_1;
4913 prim->rxqual_sub_acc_errors = CONST_1;
4914 prim->rxqual_sub_nbr_bits = CONST_1;
4915 prim->no_of_ncells_meas = CONST_5;
4916 //prim->ncell_meas.res_list = res_list_102();
4917 int i=0;
4918 prim->ncell_meas.res_list[i].bcch_freq = CONST_30;
4919 prim->ncell_meas.res_list[i].rxlev_acc = CONST_30;
4920 prim->ncell_meas.res_list[i].rxlev_nbr_meas = CONST_1;
4921 i++;
4922
4923 prim->ncell_meas.res_list[i].bcch_freq = CONST_46;
4924 prim->ncell_meas.res_list[i].rxlev_acc = CONST_6;
4925 prim->ncell_meas.res_list[i].rxlev_nbr_meas = CONST_1;
4926 i++;
4927
4928 prim->ncell_meas.res_list[i].bcch_freq = CONST_47;
4929 prim->ncell_meas.res_list[i].rxlev_acc = CONST_53;
4930 prim->ncell_meas.res_list[i].rxlev_nbr_meas = CONST_1;
4931 i++;
4932
4933 prim->ncell_meas.res_list[i].bcch_freq = CONST_124;
4934 prim->ncell_meas.res_list[i].rxlev_acc = CONST_13;
4935 prim->ncell_meas.res_list[i].rxlev_nbr_meas = CONST_1;
4936 i++;
4937
4938 prim->ncell_meas.res_list[i].bcch_freq = CONST_23;
4939 prim->ncell_meas.res_list[i].rxlev_acc = CONST_1;
4940 prim->ncell_meas.res_list[i].rxlev_nbr_meas = CONST_1;
4941 i++;
4942
4943 prim->no_of_ncells_meas = i;
4944
4945 for(;i<BA_LIST_SIZE;i++) {
4946 prim->ncell_meas.res_list[i].bcch_freq ._skip;
4947 prim->ncell_meas.res_list[i].rxlev_acc ._skip;
4948 prim->ncell_meas.res_list[i].rxlev_nbr_meas ._skip;
4949 }
4950
4951 prim->ba_id = CONST_1;
4952 prim->timing_advance = CONST_1;
4953 prim->txpwr_used = CONST_1;
4954 return prim;
4955 }
4956 ***************************************************************/
4957 T_PRIMITIVE_UNION mphc_meas_report_3()
4958 {
4959 T_MPHC_MEAS_REPORT prim;
4960 prim->dtx_used = DTX_USED;
4961 prim->meas_valid = MEAS_ARE_VALID;
4962 prim->rxlev_full_acc = CONST_1;
4963 prim->rxlev_full_nbr_meas = CONST_1;
4964 prim->rxlev_sub_acc = CONST_1;
4965 prim->rxlev_sub_nbr_meas = CONST_1;
4966 prim->rxqual_full_acc_errors = CONST_1;
4967 prim->rxqual_full_nbr_bits = CONST_1;
4968 prim->rxqual_sub_acc_errors = CONST_1;
4969 prim->rxqual_sub_nbr_bits = CONST_1;
4970 prim->no_of_ncells_meas = CONST_5;
4971 prim->ncell_meas.res_list = res_list_100();
4972 prim->ba_id = CONST_130;
4973 prim->timing_advance = CONST_1;
4974 prim->txpwr_used = CONST_1;
4975 return prim;
4976 }
4977
4978 T_PRIMITIVE_UNION mphc_meas_report_4()
4979 {
4980 T_MPHC_MEAS_REPORT prim;
4981 prim->dtx_used = DTX_USED;
4982 prim->meas_valid = MEAS_ARE_VALID;
4983 prim->rxlev_full_acc = 25;
4984 prim->rxlev_full_nbr_meas = CONST_1;
4985 prim->rxlev_sub_acc = 25;
4986 prim->rxlev_sub_nbr_meas = CONST_1;
4987 prim->rxqual_full_acc_errors = CONST_1;
4988 prim->rxqual_full_nbr_bits = CONST_1;
4989 prim->rxqual_sub_acc_errors = CONST_1;
4990 prim->rxqual_sub_nbr_bits = CONST_1;
4991 prim->no_of_ncells_meas = 3;
4992 //prim->ncell_meas.res_list = res_list_102();
4993 int i=0;
4994 prim->ncell_meas.res_list[i].bcch_freq = ARFCN_23;
4995 prim->ncell_meas.res_list[i].rxlev_acc = CONST_30;
4996 prim->ncell_meas.res_list[i].rxlev_nbr_meas = CONST_1;
4997 i++;
4998
4999 prim->ncell_meas.res_list[i].bcch_freq = ARFCN_1;
5000 prim->ncell_meas.res_list[i].rxlev_acc = CONST_30;
5001 prim->ncell_meas.res_list[i].rxlev_nbr_meas = CONST_2;
5002 i++;
5003
5004 prim->ncell_meas.res_list[i].bcch_freq = ARFCN_124;
5005 prim->ncell_meas.res_list[i].rxlev_acc = CONST_30;
5006 prim->ncell_meas.res_list[i].rxlev_nbr_meas = CONST_1;
5007 i++;
5008
5009
5010 prim->no_of_ncells_meas = i;
5011
5012 for(;i<BA_LIST_SIZE;i++) {
5013 prim->ncell_meas.res_list[i].bcch_freq = NOT_PRESENT_16BIT;
5014 prim->ncell_meas.res_list[i].rxlev_acc = 0;
5015 prim->ncell_meas.res_list[i].rxlev_nbr_meas = 0;
5016 }
5017
5018 prim->ba_id = BA_ID_3;
5019 prim->timing_advance = CONST_1;
5020 prim->txpwr_used = CONST_1;
5021 return prim;
5022 }
5023
5024 T_PRIMITIVE_UNION mphc_meas_report_4a()
5025 {
5026 T_MPHC_MEAS_REPORT prim;
5027 prim->dtx_used = DTX_USED;
5028 prim->meas_valid = MEAS_ARE_VALID;
5029 prim->rxlev_full_acc = 25;
5030 prim->rxlev_full_nbr_meas = CONST_1;
5031 prim->rxlev_sub_acc = 25;
5032 prim->rxlev_sub_nbr_meas = CONST_1;
5033 prim->rxqual_full_acc_errors = CONST_1;
5034 prim->rxqual_full_nbr_bits = CONST_1;
5035 prim->rxqual_sub_acc_errors = CONST_1;
5036 prim->rxqual_sub_nbr_bits = CONST_1;
5037 prim->no_of_ncells_meas = 3;
5038 //prim->ncell_meas.res_list = res_list_102();
5039 int i=0;
5040
5041 prim->ncell_meas.res_list[i].bcch_freq = ARFCN_1;
5042 prim->ncell_meas.res_list[i].rxlev_acc = CONST_20;
5043 prim->ncell_meas.res_list[i].rxlev_nbr_meas = CONST_1;
5044 i++;
5045
5046 prim->ncell_meas.res_list[i].bcch_freq = ARFCN_14;
5047 prim->ncell_meas.res_list[i].rxlev_acc = CONST_46;
5048 prim->ncell_meas.res_list[i].rxlev_nbr_meas = CONST_1;
5049 i++;
5050
5051 prim->ncell_meas.res_list[i].bcch_freq = ARFCN_124;
5052 prim->ncell_meas.res_list[i].rxlev_acc = CONST_30;
5053 prim->ncell_meas.res_list[i].rxlev_nbr_meas = CONST_1;
5054 i++;
5055
5056
5057 prim->no_of_ncells_meas = i;
5058
5059 for(;i<BA_LIST_SIZE;i++) {
5060 prim->ncell_meas.res_list[i].bcch_freq = NOT_PRESENT_16BIT;
5061 prim->ncell_meas.res_list[i].rxlev_acc = 0;
5062 prim->ncell_meas.res_list[i].rxlev_nbr_meas = 0;
5063 }
5064
5065 prim->ba_id = BA_ID_3;
5066 prim->timing_advance = CONST_1;
5067 prim->txpwr_used = CONST_1;
5068 return prim;
5069 }
5070
5071 T_PRIMITIVE_UNION mphc_meas_report_5()
5072 {
5073 T_MPHC_MEAS_REPORT prim;
5074 prim->dtx_used = DTX_USED;
5075 prim->meas_valid = MEAS_ARE_VALID;
5076 prim->rxlev_full_acc = 25;
5077 prim->rxlev_full_nbr_meas = CONST_1;
5078 prim->rxlev_sub_acc = 25;
5079 prim->rxlev_sub_nbr_meas = CONST_1;
5080 prim->rxqual_full_acc_errors = CONST_1;
5081 prim->rxqual_full_nbr_bits = CONST_1;
5082 prim->rxqual_sub_acc_errors = CONST_1;
5083 prim->rxqual_sub_nbr_bits = CONST_1;
5084 prim->no_of_ncells_meas = 3;
5085 //prim->ncell_meas.res_list = res_list_102();
5086 int i=0;
5087 prim->ncell_meas.res_list[i].bcch_freq = ARFCN_1;
5088 prim->ncell_meas.res_list[i].rxlev_acc = CONST_30;
5089 prim->ncell_meas.res_list[i].rxlev_nbr_meas = CONST_1;
5090 i++;
5091
5092 prim->ncell_meas.res_list[i].bcch_freq = ARFCN_14;
5093 prim->ncell_meas.res_list[i].rxlev_acc = CONST_30;
5094 prim->ncell_meas.res_list[i].rxlev_nbr_meas = CONST_2;
5095 i++;
5096
5097 prim->ncell_meas.res_list[i].bcch_freq = ARFCN_124;
5098 prim->ncell_meas.res_list[i].rxlev_acc = 25;
5099 prim->ncell_meas.res_list[i].rxlev_nbr_meas = CONST_1;
5100 i++;
5101
5102
5103 prim->no_of_ncells_meas = i;
5104
5105 for(;i<BA_LIST_SIZE;i++) {
5106 prim->ncell_meas.res_list[i].bcch_freq = NOT_PRESENT_16BIT;
5107 prim->ncell_meas.res_list[i].rxlev_acc = 0;
5108 prim->ncell_meas.res_list[i].rxlev_nbr_meas = 0;
5109 }
5110
5111 prim->ba_id = BA_ID_3;
5112 prim->timing_advance = CONST_1;
5113 prim->txpwr_used = CONST_1;
5114 return prim;
5115 }
5116
5117 T_PRIMITIVE_UNION mphc_meas_report_6()
5118 {
5119 T_MPHC_MEAS_REPORT prim;
5120 prim->dtx_used = DTX_USED;
5121 prim->meas_valid = MEAS_ARE_VALID;
5122 prim->rxlev_full_acc = 25;
5123 prim->rxlev_full_nbr_meas = CONST_1;
5124 prim->rxlev_sub_acc = 25;
5125 prim->rxlev_sub_nbr_meas = CONST_1;
5126 prim->rxqual_full_acc_errors = CONST_1;
5127 prim->rxqual_full_nbr_bits = CONST_1;
5128 prim->rxqual_sub_acc_errors = CONST_1;
5129 prim->rxqual_sub_nbr_bits = CONST_1;
5130 prim->no_of_ncells_meas = 3;
5131 //prim->ncell_meas.res_list = res_list_102();
5132 int i=0;
5133 prim->ncell_meas.res_list[i].bcch_freq = ARFCN_23;
5134 prim->ncell_meas.res_list[i].rxlev_acc = CONST_30;
5135 prim->ncell_meas.res_list[i].rxlev_nbr_meas = CONST_1;
5136 i++;
5137
5138 prim->ncell_meas.res_list[i].bcch_freq = ARFCN_1;
5139 prim->ncell_meas.res_list[i].rxlev_acc = 60;
5140 prim->ncell_meas.res_list[i].rxlev_nbr_meas = CONST_1;
5141 i++;
5142
5143 prim->ncell_meas.res_list[i].bcch_freq = ARFCN_11;
5144 prim->ncell_meas.res_list[i].rxlev_acc = 50;
5145 prim->ncell_meas.res_list[i].rxlev_nbr_meas = CONST_1;
5146 i++;
5147
5148 prim->ncell_meas.res_list[i].bcch_freq = ARFCN_15;
5149 prim->ncell_meas.res_list[i].rxlev_acc = 40;
5150 prim->ncell_meas.res_list[i].rxlev_nbr_meas = CONST_1;
5151 i++;
5152
5153 prim->ncell_meas.res_list[i].bcch_freq = ARFCN_20;
5154 prim->ncell_meas.res_list[i].rxlev_acc = 30;
5155 prim->ncell_meas.res_list[i].rxlev_nbr_meas = CONST_1;
5156 i++;
5157
5158 prim->ncell_meas.res_list[i].bcch_freq = ARFCN_24;
5159 prim->ncell_meas.res_list[i].rxlev_acc = 20;
5160 prim->ncell_meas.res_list[i].rxlev_nbr_meas = CONST_1;
5161 i++;
5162
5163 prim->ncell_meas.res_list[i].bcch_freq = ARFCN_25;
5164 prim->ncell_meas.res_list[i].rxlev_acc = 15;
5165 prim->ncell_meas.res_list[i].rxlev_nbr_meas = CONST_1;
5166 i++;
5167
5168 prim->ncell_meas.res_list[i].bcch_freq = ARFCN_26;
5169 prim->ncell_meas.res_list[i].rxlev_acc = 10;
5170 prim->ncell_meas.res_list[i].rxlev_nbr_meas = CONST_1;
5171 i++;
5172
5173 prim->no_of_ncells_meas = i;
5174
5175 for(;i<BA_LIST_SIZE;i++) {
5176 prim->ncell_meas.res_list[i].bcch_freq = NOT_PRESENT_16BIT;
5177 prim->ncell_meas.res_list[i].rxlev_acc = 0;
5178 prim->ncell_meas.res_list[i].rxlev_nbr_meas = 0;
5179 }
5180
5181 prim->ba_id = BA_ID_3;
5182 prim->timing_advance = CONST_1;
5183 prim->txpwr_used = CONST_1;
5184 return prim;
5185 }
5186
5187 T_PRIMITIVE_UNION mphc_meas_report_6a()
5188 {
5189 T_MPHC_MEAS_REPORT prim;
5190 prim->dtx_used = DTX_USED;
5191 prim->meas_valid = MEAS_ARE_VALID;
5192 prim->rxlev_full_acc = 25;
5193 prim->rxlev_full_nbr_meas = CONST_1;
5194 prim->rxlev_sub_acc = 25;
5195 prim->rxlev_sub_nbr_meas = CONST_1;
5196 prim->rxqual_full_acc_errors = CONST_1;
5197 prim->rxqual_full_nbr_bits = CONST_1;
5198 prim->rxqual_sub_acc_errors = CONST_1;
5199 prim->rxqual_sub_nbr_bits = CONST_1;
5200 prim->no_of_ncells_meas = 3;
5201 //prim->ncell_meas.res_list = res_list_102();
5202 int i=0;
5203 prim->ncell_meas.res_list[i].bcch_freq = ARFCN_23;
5204 prim->ncell_meas.res_list[i].rxlev_acc = CONST_30;
5205 prim->ncell_meas.res_list[i].rxlev_nbr_meas = CONST_1;
5206 i++;
5207
5208 prim->ncell_meas.res_list[i].bcch_freq = ARFCN_1;
5209 prim->ncell_meas.res_list[i].rxlev_acc = 60;
5210 prim->ncell_meas.res_list[i].rxlev_nbr_meas = CONST_1;
5211 i++;
5212
5213 prim->ncell_meas.res_list[i].bcch_freq = ARFCN_11;
5214 prim->ncell_meas.res_list[i].rxlev_acc = 50;
5215 prim->ncell_meas.res_list[i].rxlev_nbr_meas = CONST_1;
5216 i++;
5217
5218 prim->ncell_meas.res_list[i].bcch_freq = ARFCN_15;
5219 prim->ncell_meas.res_list[i].rxlev_acc = 40;
5220 prim->ncell_meas.res_list[i].rxlev_nbr_meas = CONST_1;
5221 i++;
5222
5223 prim->ncell_meas.res_list[i].bcch_freq = ARFCN_20;
5224 prim->ncell_meas.res_list[i].rxlev_acc = 30;
5225 prim->ncell_meas.res_list[i].rxlev_nbr_meas = CONST_1;
5226 i++;
5227
5228 prim->ncell_meas.res_list[i].bcch_freq = ARFCN_24;
5229 prim->ncell_meas.res_list[i].rxlev_acc = 20;
5230 prim->ncell_meas.res_list[i].rxlev_nbr_meas = CONST_1;
5231 i++;
5232
5233 prim->ncell_meas.res_list[i].bcch_freq = ARFCN_25;
5234 prim->ncell_meas.res_list[i].rxlev_acc = 10;
5235 prim->ncell_meas.res_list[i].rxlev_nbr_meas = CONST_1;
5236 i++;
5237
5238 prim->ncell_meas.res_list[i].bcch_freq = ARFCN_26;
5239 prim->ncell_meas.res_list[i].rxlev_acc = 16;
5240 prim->ncell_meas.res_list[i].rxlev_nbr_meas = CONST_1;
5241 i++;
5242
5243 prim->no_of_ncells_meas = i;
5244
5245 for(;i<BA_LIST_SIZE;i++) {
5246 prim->ncell_meas.res_list[i].bcch_freq = NOT_PRESENT_16BIT;
5247 prim->ncell_meas.res_list[i].rxlev_acc = 0;
5248 prim->ncell_meas.res_list[i].rxlev_nbr_meas = 0;
5249 }
5250
5251 prim->ba_id = BA_ID_3;
5252 prim->timing_advance = CONST_1;
5253 prim->txpwr_used = CONST_1;
5254 return prim;
5255 }
5256
5257 T_PRIMITIVE_UNION mphc_ncell_list_sync_req_6()
5258 {
5259 T_MPHC_NCELL_LIST_SYNC_REQ prim;
5260 prim->eotd = NC_MON;
5261 prim->list_size = NO_NCELLS_6;
5262 int i=0;
5263
5264 prim->ncell_list[i].radio_freq = ARFCN_1;
5265 prim->ncell_list[i].timing_validity = TV_VALID_TIMING_INFO;
5266 prim->ncell_list[i].fn_offset = FN_OFFSET_0;
5267 prim->ncell_list[i].time_alignment = TIME_ALIGNMT_0;
5268 i++;
5269
5270 prim->ncell_list[i].radio_freq = ARFCN_11;
5271 prim->ncell_list[i].timing_validity = TV_VALID_TIMING_INFO;
5272 prim->ncell_list[i].fn_offset = FN_OFFSET_0;
5273 prim->ncell_list[i].time_alignment = TIME_ALIGNMT_0;
5274 i++;
5275
5276 prim->ncell_list[i].radio_freq = ARFCN_15;
5277 prim->ncell_list[i].timing_validity = TV_VALID_TIMING_INFO;
5278 prim->ncell_list[i].fn_offset = FN_OFFSET_0;
5279 prim->ncell_list[i].time_alignment = TIME_ALIGNMT_0;
5280 i++;
5281
5282 prim->ncell_list[i].radio_freq = ARFCN_20;
5283 prim->ncell_list[i].timing_validity = TV_VALID_TIMING_INFO;
5284 prim->ncell_list[i].fn_offset = FN_OFFSET_0;
5285 prim->ncell_list[i].time_alignment = TIME_ALIGNMT_0;
5286 i++;
5287
5288 prim->ncell_list[i].radio_freq = ARFCN_24;
5289 prim->ncell_list[i].timing_validity = TV_VALID_TIMING_INFO;
5290 prim->ncell_list[i].fn_offset = FN_OFFSET_0;
5291 prim->ncell_list[i].time_alignment = TIME_ALIGNMT_0;
5292 i++;
5293
5294 prim->ncell_list[i].radio_freq = ARFCN_25;
5295 prim->ncell_list[i].timing_validity = TV_VALID_TIMING_INFO;
5296 prim->ncell_list[i].fn_offset = FN_OFFSET_0;
5297 prim->ncell_list[i].time_alignment = TIME_ALIGNMT_0;
5298 i++;
5299
5300 prim->list_size = i;
5301
5302 for(;i<MAX_NCELL_EOTD_L1;i++) {
5303 prim->ncell_list[i].radio_freq ._skip;
5304 prim->ncell_list[i].time_alignment._skip;
5305 prim->ncell_list[i].fn_offset ._skip;
5306 prim->ncell_list[i].time_alignment._skip;
5307 }
5308 return prim;
5309 }
5310
5311 T_PRIMITIVE_UNION mphc_ncell_list_sync_req_6b()
5312 {
5313 T_MPHC_NCELL_LIST_SYNC_REQ prim;
5314 prim->eotd = NC_MON;
5315 prim->list_size = NO_NCELLS_6;
5316 int i=0;
5317
5318 prim->ncell_list[i].radio_freq = ARFCN_1;
5319 prim->ncell_list[i].timing_validity = TV_VALID_TIMING_INFO;
5320 prim->ncell_list[i].fn_offset = FN_OFFSET_0;
5321 prim->ncell_list[i].time_alignment = TIME_ALIGNMT_0;
5322 i++;
5323
5324 prim->ncell_list[i].radio_freq = ARFCN_11;
5325 prim->ncell_list[i].timing_validity = TV_VALID_TIMING_INFO;
5326 prim->ncell_list[i].fn_offset = FN_OFFSET_0;
5327 prim->ncell_list[i].time_alignment = TIME_ALIGNMT_0;
5328 i++;
5329
5330 prim->ncell_list[i].radio_freq = ARFCN_15;
5331 prim->ncell_list[i].timing_validity = TV_VALID_TIMING_INFO;
5332 prim->ncell_list[i].fn_offset = FN_OFFSET_0;
5333 prim->ncell_list[i].time_alignment = TIME_ALIGNMT_0;
5334 i++;
5335
5336 prim->ncell_list[i].radio_freq = ARFCN_20;
5337 prim->ncell_list[i].timing_validity = TV_VALID_TIMING_INFO;
5338 prim->ncell_list[i].fn_offset = FN_OFFSET_0;
5339 prim->ncell_list[i].time_alignment = TIME_ALIGNMT_0;
5340 i++;
5341
5342 prim->ncell_list[i].radio_freq = ARFCN_24;
5343 prim->ncell_list[i].timing_validity = TV_VALID_TIMING_INFO;
5344 prim->ncell_list[i].fn_offset = FN_OFFSET_0;
5345 prim->ncell_list[i].time_alignment = TIME_ALIGNMT_0;
5346 i++;
5347
5348 prim->ncell_list[i].radio_freq = ARFCN_26;
5349 prim->ncell_list[i].timing_validity = TV_VALID_TIMING_INFO;
5350 prim->ncell_list[i].fn_offset = FN_OFFSET_0;
5351 prim->ncell_list[i].time_alignment = TIME_ALIGNMT_0;
5352 i++;
5353
5354 prim->list_size = i;
5355
5356 for(;i<MAX_NCELL_EOTD_L1;i++) {
5357 prim->ncell_list[i].radio_freq ._skip;
5358 prim->ncell_list[i].time_alignment._skip;
5359 prim->ncell_list[i].fn_offset ._skip;
5360 prim->ncell_list[i].time_alignment._skip;
5361 }
5362 return prim;
5363 }
5364
5365 T_PRIMITIVE_UNION mphc_ncell_list_sync_req_6a()
5366 {
5367 T_MPHC_NCELL_LIST_SYNC_REQ prim;
5368 prim->eotd = NC_MON;
5369 prim->list_size = 2;
5370 int i=0;
5371
5372 prim->ncell_list[i].radio_freq = ARFCN_20;
5373 prim->ncell_list[i].timing_validity = TV_VALID_TIMING_INFO;
5374 prim->ncell_list[i].fn_offset = FN_OFFSET_0;
5375 prim->ncell_list[i].time_alignment = TIME_ALIGNMT_0;
5376 i++;
5377
5378 prim->ncell_list[i].radio_freq = ARFCN_24;
5379 prim->ncell_list[i].timing_validity = TV_VALID_TIMING_INFO;
5380 prim->ncell_list[i].fn_offset = FN_OFFSET_0;
5381 prim->ncell_list[i].time_alignment = TIME_ALIGNMT_0;
5382 i++;
5383
5384 prim->list_size = i;
5385
5386 for(;i<MAX_NCELL_EOTD_L1;i++) {
5387 prim->ncell_list[i].radio_freq ._skip;
5388 prim->ncell_list[i].time_alignment._skip;
5389 prim->ncell_list[i].fn_offset ._skip;
5390 prim->ncell_list[i].time_alignment._skip;
5391 }
5392 return prim;
5393 }
5394
5395
5396 T_PRIMITIVE_UNION mphc_ncell_list_sync_req_1()
5397 {
5398 T_MPHC_NCELL_LIST_SYNC_REQ prim;
5399 prim->eotd = NC_MON;
5400 prim->list_size = NO_NCELLS_2;
5401 int i=0;
5402
5403 prim->ncell_list[i].radio_freq = ARFCN_1;
5404 prim->ncell_list[i].timing_validity = TV_VALID_TIMING_INFO;
5405 prim->ncell_list[i].fn_offset = FN_OFFSET_224;
5406 prim->ncell_list[i].time_alignment = TIME_ALIGNMT_14;
5407 i++;
5408
5409 prim->ncell_list[i] = ncell_arfcn_14();
5410 i++;
5411
5412 prim->ncell_list[i].radio_freq = ARFCN_124;
5413 prim->ncell_list[i].timing_validity = TV_VALID_TIMING_INFO;
5414 prim->ncell_list[i].fn_offset = FN_OFFSET_114;
5415 prim->ncell_list[i].time_alignment = TIME_ALIGNMT_14;
5416 i++;
5417
5418 //if(i != prim->list_size) ;/*do something! what?*/
5419 /* or do: */
5420 prim->list_size = i;
5421
5422 for(;i<MAX_NCELL_EOTD_L1;i++) {
5423 prim->ncell_list[i].radio_freq ._skip;
5424 prim->ncell_list[i].time_alignment._skip;
5425 prim->ncell_list[i].fn_offset ._skip;
5426 prim->ncell_list[i].time_alignment._skip;
5427 }
5428 return prim;
5429 }
5430 T_PRIMITIVE_UNION mphc_ncell_list_sync_req_1a()
5431 {
5432 T_MPHC_NCELL_LIST_SYNC_REQ prim;
5433 prim->eotd = NC_MON;
5434 prim->list_size = NO_NCELLS_3;
5435 int i=0;
5436
5437 prim->ncell_list[i].radio_freq = ARFCN_1;
5438 prim->ncell_list[i].timing_validity = TV_VALID_TIMING_INFO;
5439 prim->ncell_list[i].fn_offset = FN_OFF_ARFCN_1;
5440 prim->ncell_list[i].time_alignment = TIME_ALIGNMT_1;
5441 i++;
5442
5443 prim->ncell_list[i].radio_freq = ARFCN_14;
5444 prim->ncell_list[i].timing_validity = TV_VALID_TIMING_INFO;
5445 prim->ncell_list[i].fn_offset = FN_OFF_ARFCN_14;
5446 prim->ncell_list[i].time_alignment = TIME_ALIGNMT_14;
5447 i++;
5448
5449 prim->ncell_list[i].radio_freq = ARFCN_124;
5450 prim->ncell_list[i].timing_validity = TV_VALID_TIMING_INFO;
5451 prim->ncell_list[i].fn_offset = FN_OFF_ARFCN_124;
5452 prim->ncell_list[i].time_alignment = TIME_ALIGNMT_124;
5453 i++;
5454
5455 //if(i != prim->list_size) ;/*do something! what?*/
5456 /* or do: */
5457 prim->list_size = i;
5458
5459 for(;i<MAX_NCELL_EOTD_L1;i++) {
5460 prim->ncell_list[i].radio_freq ._skip;
5461 prim->ncell_list[i].time_alignment._skip;
5462 prim->ncell_list[i].fn_offset ._skip;
5463 prim->ncell_list[i].time_alignment._skip;
5464 }
5465 return prim;
5466 //prim->ncell_list = ncell_list_3_eotd_a();
5467 }
5468 T_PRIMITIVE_UNION mphc_ncell_list_sync_req_1b()
5469 {
5470 T_MPHC_NCELL_LIST_SYNC_REQ prim;
5471 prim->eotd = NC_MON;
5472 prim->list_size = NO_NCELLS_2;
5473 int i=0;
5474
5475 prim->ncell_list[i].radio_freq = ARFCN_23;
5476 prim->ncell_list[i].timing_validity = TV_VALID_TIMING_INFO;
5477 prim->ncell_list[i].fn_offset = TDMA_FRAMES_PER_HYPERFRAME - FN_OFF_ARFCN_124 + 1;
5478 prim->ncell_list[i].time_alignment = 5000 - TIME_ALIGNMT_124;
5479 i++;
5480
5481 prim->ncell_list[i].radio_freq = ARFCN_1;
5482 prim->ncell_list[i].timing_validity = TV_VALID_TIMING_INFO;
5483 prim->ncell_list[i].fn_offset = TDMA_FRAMES_PER_HYPERFRAME - FN_OFF_ARFCN_124 + FN_OFF_ARFCN_1 + 1;
5484 prim->ncell_list[i].time_alignment = 5000 - TIME_ALIGNMT_124 + TIME_ALIGNMT_1;
5485 i++;
5486
5487 //if(i != prim->list_size) ;/*do something! what?*/
5488 /* or do: */
5489 prim->list_size = i;
5490
5491 for(;i<MAX_NCELL_EOTD_L1;i++) {
5492 prim->ncell_list[i].radio_freq ._skip;
5493 prim->ncell_list[i].time_alignment._skip;
5494 prim->ncell_list[i].fn_offset ._skip;
5495 prim->ncell_list[i].time_alignment._skip;
5496 }
5497 return prim;
5498 }
5499 T_PRIMITIVE_UNION mphc_ncell_list_sync_req_1c()
5500 {
5501 T_MPHC_NCELL_LIST_SYNC_REQ prim;
5502 prim->eotd = NC_MON;
5503 prim->list_size = 0x01;
5504 int i=0;
5505
5506 prim->ncell_list[i].radio_freq = ARFCN_14;
5507 prim->ncell_list[i].timing_validity = TV_VALID_TIMING_INFO;
5508 prim->ncell_list[i].fn_offset = FN_OFF_ARFCN_14;
5509 prim->ncell_list[i].time_alignment = TIME_ALIGNMT_14;
5510 i++;
5511
5512 prim->ncell_list[i].radio_freq = ARFCN_124;
5513 prim->ncell_list[i].timing_validity = TV_VALID_TIMING_INFO;
5514 prim->ncell_list[i].fn_offset = FN_OFF_ARFCN_124;
5515 prim->ncell_list[i].time_alignment = TIME_ALIGNMT_124;
5516 i++;
5517
5518 prim->list_size = i;
5519
5520 for(;i<MAX_NCELL_EOTD_L1;i++) {
5521 prim->ncell_list[i].radio_freq ._skip;
5522 prim->ncell_list[i].time_alignment._skip;
5523 prim->ncell_list[i].fn_offset ._skip;
5524 prim->ncell_list[i].time_alignment._skip;
5525 }
5526 return prim;
5527 }
5528
5529 T_PRIMITIVE_UNION mphc_ncell_list_sync_req_1d()
5530 {
5531 T_MPHC_NCELL_LIST_SYNC_REQ prim;
5532 prim->eotd = NC_MON;
5533 prim->list_size = NO_NCELLS_2;
5534 int i=0;
5535
5536 prim->ncell_list[i].radio_freq = ARFCN_1;
5537 prim->ncell_list[i].timing_validity = TV_VALID_TIMING_INFO;
5538 prim->ncell_list[i].fn_offset = FN_OFFSET_0;
5539 prim->ncell_list[i].time_alignment = TIME_ALIGNMT_0;
5540 i++;
5541
5542 prim->ncell_list[i].radio_freq = ARFCN_124;
5543 prim->ncell_list[i].timing_validity = TV_VALID_TIMING_INFO;
5544 prim->ncell_list[i].fn_offset = FN_OFFSET_0;
5545 prim->ncell_list[i].time_alignment = TIME_ALIGNMT_0;
5546 i++;
5547
5548 prim->list_size = i;
5549
5550 for(;i<MAX_NCELL_EOTD_L1;i++) {
5551 prim->ncell_list[i].radio_freq ._skip;
5552 prim->ncell_list[i].time_alignment._skip;
5553 prim->ncell_list[i].fn_offset ._skip;
5554 prim->ncell_list[i].time_alignment._skip;
5555 }
5556 return prim;
5557 }
5558
5559 T_PRIMITIVE_UNION mphc_ncell_list_sync_req_1e()
5560 {
5561 T_MPHC_NCELL_LIST_SYNC_REQ prim;
5562 prim->eotd = NC_MON;
5563 prim->list_size = 1;
5564 int i=0;
5565
5566 prim->ncell_list[i].radio_freq = ARFCN_124;
5567 prim->ncell_list[i].timing_validity = TV_VALID_TIMING_INFO;
5568 prim->ncell_list[i].fn_offset = FN_OFFSET_0;
5569 prim->ncell_list[i].time_alignment = TIME_ALIGNMT_0;
5570 i++;
5571
5572 prim->list_size = i;
5573
5574 for(;i<MAX_NCELL_EOTD_L1;i++) {
5575 prim->ncell_list[i].radio_freq ._skip;
5576 prim->ncell_list[i].time_alignment._skip;
5577 prim->ncell_list[i].fn_offset ._skip;
5578 prim->ncell_list[i].time_alignment._skip;
5579 }
5580 return prim;
5581 }
5582
5583 T_PRIMITIVE_UNION mphc_ncell_list_sync_req_1f()
5584 {
5585 T_MPHC_NCELL_LIST_SYNC_REQ prim;
5586 prim->eotd = NC_MON;
5587 prim->list_size = NO_NCELLS_3;
5588 int i=0;
5589
5590 prim->ncell_list[i].radio_freq = ARFCN_1;
5591 prim->ncell_list[i].timing_validity = TV_VALID_TIMING_INFO;
5592 prim->ncell_list[i].fn_offset = FN_OFFSET_0;
5593 prim->ncell_list[i].time_alignment = TIME_ALIGNMT_0;
5594 i++;
5595
5596 prim->ncell_list[i].radio_freq = ARFCN_14;
5597 prim->ncell_list[i].timing_validity = TV_VALID_TIMING_INFO;
5598 prim->ncell_list[i].fn_offset = FN_OFFSET_0;
5599 prim->ncell_list[i].time_alignment = TIME_ALIGNMT_0;
5600 i++;
5601
5602 prim->ncell_list[i].radio_freq = ARFCN_124;
5603 prim->ncell_list[i].timing_validity = TV_VALID_TIMING_INFO;
5604 prim->ncell_list[i].fn_offset = FN_OFFSET_0;
5605 prim->ncell_list[i].time_alignment = TIME_ALIGNMT_0;
5606 i++;
5607
5608 //if(i != prim->list_size) ;/*do something! what?*/
5609 /* or do: */
5610 prim->list_size = i;
5611
5612 for(;i<MAX_NCELL_EOTD_L1;i++) {
5613 prim->ncell_list[i].radio_freq ._skip;
5614 prim->ncell_list[i].time_alignment._skip;
5615 prim->ncell_list[i].fn_offset ._skip;
5616 prim->ncell_list[i].time_alignment._skip;
5617 }
5618 return prim;
5619 //prim->ncell_list = ncell_list_3_eotd_a();
5620 }
5621
5622 T_PRIMITIVE_UNION mphc_ncell_list_sync_req_1h()
5623 {
5624 T_MPHC_NCELL_LIST_SYNC_REQ prim;
5625 prim->eotd = NC_MON;
5626 prim->list_size = NO_NCELLS_3;
5627 int i=0;
5628
5629 prim->ncell_list[i].radio_freq = ARFCN_1;
5630 prim->ncell_list[i].timing_validity = TV_VALID_TIMING_INFO;
5631 prim->ncell_list[i].fn_offset = FN_OFFSET_0;
5632 prim->ncell_list[i].time_alignment = TIME_ALIGNMT_0;
5633 i++;
5634
5635 prim->ncell_list[i].radio_freq = ARFCN_14;
5636 prim->ncell_list[i].timing_validity = TV_VALID_TIMING_INFO;
5637 prim->ncell_list[i].fn_offset = FN_OFFSET_0;
5638 prim->ncell_list[i].time_alignment = TIME_ALIGNMT_0;
5639 i++;
5640
5641 prim->ncell_list[i].radio_freq = ARFCN_124;
5642 prim->ncell_list[i].timing_validity = TV_VALID_TIMING_INFO;
5643 prim->ncell_list[i].fn_offset = FN_OFFSET_0;
5644 prim->ncell_list[i].time_alignment = TIME_ALIGNMT_0;
5645 i++;
5646
5647 //if(i != prim->list_size) ;/*do something! what?*/
5648 /* or do: */
5649 prim->list_size = i;
5650
5651 for(;i<MAX_NCELL_EOTD_L1;i++) {
5652 prim->ncell_list[i].radio_freq ._skip;
5653 prim->ncell_list[i].time_alignment._skip;
5654 prim->ncell_list[i].fn_offset ._skip;
5655 prim->ncell_list[i].time_alignment._skip;
5656 }
5657 return prim;
5658 //prim->ncell_list = ncell_list_3_eotd_a();
5659 }
5660 T_PRIMITIVE_UNION mphc_ncell_list_sync_req_cell32a()
5661 {
5662 T_MPHC_NCELL_LIST_SYNC_REQ prim;
5663 prim->eotd = NC_MON;
5664 prim->list_size = NO_NCELLS_3;
5665 int i=0;
5666
5667 prim->ncell_list[i].radio_freq = ARFCN_32;
5668 prim->ncell_list[i].timing_validity = TV_VALID_TIMING_INFO;
5669 prim->ncell_list[i].fn_offset = FN_OFFSET_32;
5670 prim->ncell_list[i].time_alignment = TIME_ALIGNMT_32;
5671 i++;
5672
5673 //if(i != prim->list_size) ;/*do something! what?*/
5674 /* or do: */
5675 prim->list_size = i;
5676
5677 for(;i<MAX_NCELL_EOTD_L1;i++) {
5678 prim->ncell_list[i].radio_freq ._skip;
5679 prim->ncell_list[i].time_alignment._skip;
5680 prim->ncell_list[i].fn_offset ._skip;
5681 prim->ncell_list[i].time_alignment._skip;
5682 }
5683 return prim;
5684 //prim->ncell_list = ncell_list_3_eotd_a();
5685 }
5686
5687 T_PRIMITIVE_UNION mphc_ncell_list_sync_req_cell32b()
5688 {
5689 T_MPHC_NCELL_LIST_SYNC_REQ prim;
5690 prim->eotd = NC_MON;
5691 prim->list_size = NO_NCELLS_3;
5692 int i=0;
5693
5694 prim->ncell_list[i].radio_freq = ARFCN_124;
5695 prim->ncell_list[i].timing_validity = TV_VALID_TIMING_INFO;
5696 prim->ncell_list[i].fn_offset = FN_OFF_ARFCN_124;
5697 prim->ncell_list[i].time_alignment = TIME_ALIGNMT_124;
5698 i++;
5699
5700 prim->ncell_list[i].radio_freq = ARFCN_32;
5701 prim->ncell_list[i].timing_validity = TV_VALID_TIMING_INFO;
5702 prim->ncell_list[i].fn_offset = FN_OFFSET_32;
5703 prim->ncell_list[i].time_alignment = TIME_ALIGNMT_32;
5704 i++;
5705
5706 //if(i != prim->list_size) ;/*do something! what?*/
5707 /* or do: */
5708 prim->list_size = i;
5709
5710 for(;i<MAX_NCELL_EOTD_L1;i++) {
5711 prim->ncell_list[i].radio_freq ._skip;
5712 prim->ncell_list[i].time_alignment._skip;
5713 prim->ncell_list[i].fn_offset ._skip;
5714 prim->ncell_list[i].time_alignment._skip;
5715 }
5716 return prim;
5717 //prim->ncell_list = ncell_list_3_eotd_a();
5718 }
5719
5720
5721 T_PRIMITIVE_UNION mphc_ncell_list_sync_req_cell32c()
5722 {
5723 T_MPHC_NCELL_LIST_SYNC_REQ prim;
5724 prim->eotd = NC_MON;
5725 prim->list_size = NO_NCELLS_3;
5726 int i=0;
5727
5728 prim->ncell_list[i].radio_freq = ARFCN_124;
5729 prim->ncell_list[i].timing_validity = TV_VALID_TIMING_INFO;
5730 prim->ncell_list[i].fn_offset = FN_OFF_ARFCN_124;
5731 prim->ncell_list[i].time_alignment = TIME_ALIGNMT_124;
5732 i++;
5733
5734 prim->ncell_list[i].radio_freq = ARFCN_25;
5735 prim->ncell_list[i].timing_validity = TV_VALID_TIMING_INFO;
5736 prim->ncell_list[i].fn_offset = FN_OFF_ARFCN_14;
5737 prim->ncell_list[i].time_alignment = TIME_ALIGNMT_14;
5738 i++;
5739
5740 //if(i != prim->list_size) ;/*do something! what?*/
5741 /* or do: */
5742 prim->list_size = i;
5743
5744 for(;i<MAX_NCELL_EOTD_L1;i++) {
5745 prim->ncell_list[i].radio_freq ._skip;
5746 prim->ncell_list[i].time_alignment._skip;
5747 prim->ncell_list[i].fn_offset ._skip;
5748 prim->ncell_list[i].time_alignment._skip;
5749 }
5750 return prim;
5751 //prim->ncell_list = ncell_list_3_eotd_a();
5752 }
5753
5754 T_PRIMITIVE_UNION mphc_ncell_list_sync_req_cell32d()
5755 {
5756 T_MPHC_NCELL_LIST_SYNC_REQ prim;
5757 prim->eotd = NC_MON;
5758 prim->list_size = NO_NCELLS_3;
5759 int i=0;
5760
5761 prim->ncell_list[i].radio_freq = ARFCN_124;
5762 prim->ncell_list[i].timing_validity = TV_VALID_TIMING_INFO;
5763 prim->ncell_list[i].fn_offset = FN_OFF_ARFCN_124;
5764 prim->ncell_list[i].time_alignment = TIME_ALIGNMT_124;
5765 i++;
5766
5767 //if(i != prim->list_size) ;/*do something! what?*/
5768 /* or do: */
5769 prim->list_size = i;
5770
5771 for(;i<MAX_NCELL_EOTD_L1;i++) {
5772 prim->ncell_list[i].radio_freq ._skip;
5773 prim->ncell_list[i].time_alignment._skip;
5774 prim->ncell_list[i].fn_offset ._skip;
5775 prim->ncell_list[i].time_alignment._skip;
5776 }
5777 return prim;
5778 //prim->ncell_list = ncell_list_3_eotd_a();
5779 }
5780
5781 T_PRIMITIVE_UNION mphc_ncell_list_sync_req_2()
5782 {
5783 T_MPHC_NCELL_LIST_SYNC_REQ prim;
5784 prim->eotd = NC_MON;
5785 prim->list_size = NO_NCELLS_6;
5786 prim->ncell_list = ncell_list_6_eotd_idle();
5787 return prim;
5788 }
5789
5790
5791
5792 T_PRIMITIVE_UNION mphc_ncell_list_sync_req_3()
5793 {
5794 T_MPHC_NCELL_LIST_SYNC_REQ prim;
5795 prim->eotd = EOTD_MON;
5796 prim->list_size = NO_NCELLS_6;
5797 prim->ncell_list = ncell_list_6_eotd_idle();
5798 return prim;
5799 }
5800 T_PRIMITIVE_UNION mphc_ncell_list_sync_req_4(CHAR variant)
5801 {
5802 T_MPHC_NCELL_LIST_SYNC_REQ prim;
5803 prim->eotd = EOTD_MON;
5804 if (variant == 'A') prim->list_size = NO_NCELLS_6;
5805 if (variant == 'B') prim->list_size = NO_NCELLS_8;
5806 if (variant == 'C') prim->list_size = NO_NCELLS_6;
5807
5808 if (variant == 'A') {
5809 int i=0;
5810
5811 prim->ncell_list[i] = ncell_arfcn_637();
5812 i++;
5813
5814 prim->ncell_list[i] = ncell_arfcn_25 ();
5815 i++;
5816
5817 prim->ncell_list[i] = ncell_arfcn_14 ();
5818 i++;
5819
5820 prim->ncell_list[i] = ncell_arfcn_512();
5821 i++;
5822
5823 prim->ncell_list[i] = ncell_arfcn_580();
5824 i++;
5825
5826 prim->ncell_list[i] = ncell_arfcn_885();
5827 i++;
5828
5829 for(;i<MAX_NCELL_EOTD_L1;i++) {
5830 prim->ncell_list[i].radio_freq ._skip;
5831 prim->ncell_list[i].time_alignment._skip;
5832 prim->ncell_list[i].fn_offset ._skip;
5833 prim->ncell_list[i].timing_validity._skip;
5834 }
5835 } //prim->ncell_list = ncell_list_6_eotd_dedi();
5836
5837 if (variant == 'B') {
5838 int i=0;
5839
5840 prim->ncell_list[i] = ncell_arfcn_637();
5841 i++;
5842
5843 prim->ncell_list[i] = ncell_arfcn_25 ();
5844 i++;
5845
5846 prim->ncell_list[i] = ncell_arfcn_14 ();
5847 i++;
5848
5849 prim->ncell_list[i] = ncell_arfcn_512();
5850 i++;
5851
5852 prim->ncell_list[i] = ncell_arfcn_580();
5853 i++;
5854
5855 prim->ncell_list[i] = ncell_arfcn_885();
5856 i++;
5857
5858 prim->ncell_list[i].radio_freq = ARFCN_516;
5859 prim->ncell_list[i].time_alignment= TIME_ALIGN_2328;
5860 prim->ncell_list[i].fn_offset = FN_OFFSET_6;
5861 prim->ncell_list[i].timing_validity= TV_VALID_TIMING_INFO;
5862 i++;
5863
5864 prim->ncell_list[i].radio_freq = ARFCN_525;
5865 prim->ncell_list[i].time_alignment= TIME_ALIGN_2328;
5866 prim->ncell_list[i].fn_offset = FN_OFFSET_6;
5867 prim->ncell_list[i].timing_validity= TV_VALID_TIMING_INFO;
5868 i++;
5869
5870 for(;i<MAX_NCELL_EOTD_L1;i++) {
5871 prim->ncell_list[i].radio_freq ._skip;
5872 prim->ncell_list[i].time_alignment._skip;
5873 prim->ncell_list[i].fn_offset ._skip;
5874 prim->ncell_list[i].time_alignment._skip;
5875 }
5876
5877 // prim->ncell_list = ncell_list_8_eotd_dedi();
5878 }
5879 if (variant == 'C') {
5880 int i=0;
5881
5882 prim->ncell_list[i].radio_freq = ARFCN_23;
5883 prim->ncell_list[i].fn_offset = 2715425;
5884 prim->ncell_list[i].time_alignment= 4986;
5885 prim->ncell_list[i].timing_validity= TV_VALID_TIMING_INFO;
5886 i++;
5887
5888 prim->ncell_list[i].radio_freq = ARFCN_637;
5889 prim->ncell_list[i].fn_offset = 2715538;
5890 prim->ncell_list[i].time_alignment= 0;
5891 prim->ncell_list[i].timing_validity= TV_VALID_TIMING_INFO;
5892 i++;
5893
5894 prim->ncell_list[i].radio_freq = ARFCN_25;
5895 prim->ncell_list[i].fn_offset = 796;
5896 prim->ncell_list[i].time_alignment= 0;
5897 prim->ncell_list[i].timing_validity= TV_VALID_TIMING_INFO;
5898 i++;
5899
5900 prim->ncell_list[i].radio_freq = ARFCN_512;
5901 prim->ncell_list[i].fn_offset = 847;
5902 prim->ncell_list[i].time_alignment= 0;
5903 prim->ncell_list[i].timing_validity= TV_VALID_TIMING_INFO;
5904 i++;
5905
5906 prim->ncell_list[i].radio_freq = ARFCN_580;
5907 prim->ncell_list[i].fn_offset = 796;
5908 prim->ncell_list[i].time_alignment= 0;
5909 prim->ncell_list[i].timing_validity= TV_VALID_TIMING_INFO;
5910 i++;
5911
5912 prim->ncell_list[i].radio_freq = ARFCN_885;
5913 prim->ncell_list[i].fn_offset = 796;
5914 prim->ncell_list[i].time_alignment= 0;
5915 prim->ncell_list[i].timing_validity= TV_VALID_TIMING_INFO;
5916 i++;
5917
5918 for(;i<MAX_NCELL_EOTD_L1;i++) {
5919 prim->ncell_list[i].radio_freq ._skip;
5920 prim->ncell_list[i].fn_offset ._skip;
5921 prim->ncell_list[i].time_alignment._skip;
5922 prim->ncell_list[i].timing_validity._skip;
5923 }
5924 //prim->ncell_list = ncell_list_6_eotd_dedi_after_ho();
5925 }
5926 return prim;
5927 }
5928
5929
5930
5931
5932 T_PRIMITIVE_UNION mphc_stop_ncell_sync_req(U16 arfcn)
5933 {
5934 T_MPHC_STOP_NCELL_SYNC_REQ prim;
5935 prim->radio_freq_array_size = STOP_SIZE_1;
5936
5937 int i=0;
5938 prim->radio_freq_array[i] = arfcn;
5939 i++;
5940
5941 for(;i<MAX_NCELL_EOTD_L1;i++) {
5942 prim->radio_freq_array[i] = 0;
5943 }
5944 return prim;
5945 }
5946
5947 T_PRIMITIVE_UNION mphc_stop_ncell_sync_req_all()
5948 {
5949 T_MPHC_STOP_NCELL_SYNC_REQ prim;
5950 prim->radio_freq_array_size = STOP_SIZE_12;
5951 for(int i=0; i<STOP_SIZE_12;i++) {
5952 prim->radio_freq_array[i] = 0;
5953 }
5954 for(;i<MAX_NCELL_EOTD_L1;i++) {
5955 prim->radio_freq_array[i]._require;
5956 }
5957 return prim;
5958 }
5959
5960 T_PRIMITIVE_UNION mphc_stop_ncell_sync_con()
5961 {
5962 T_MPHC_STOP_NCELL_SYNC_CON prim;
5963 prim->param._skip;
5964 return prim;
5965 }
5966
5967 T_PRIMITIVE_UNION mphc_stop_ncell_sync_req_dummy()
5968 {
5969 T_MPHC_STOP_NCELL_SYNC_REQ prim;
5970 prim->radio_freq_array_size._show;
5971 prim->radio_freq_array._show;
5972 return prim;
5973 }
5974
5975 T_PRIMITIVE_UNION mph_ncell_pos_ind_1()
5976 {
5977 T_MPH_NCELL_POS_IND prim;
5978 prim->req_id = REQ_ID_FFFF;
5979 prim->eotd_res = EOTD_SUCC;
5980 prim->ta = TA_NOT_AVAIL;
5981 prim->fn = FN_OFFSET_0;
5982 prim->eotd_sc_res = eotd_sc_res_ok();
5983 prim->eotd_sc_res1 = eotd_sc_res1_ok();
5984 prim->eotd_nc_res = eotd_result_6();
5985 return prim;
5986 }
5987 T_PRIMITIVE_UNION mph_ncell_pos_ind_3()
5988 {
5989 T_MPH_NCELL_POS_IND prim;
5990 prim->req_id = REQ_ID_1;
5991 prim->eotd_res = EOTD_SUCC;
5992 prim->ta._skip;
5993 prim->fn = FN_OFFSET_0;
5994 prim->eotd_sc_res = eotd_sc_res_ok();
5995 prim->eotd_sc_res1 = eotd_sc_res1_ok();
5996 prim->eotd_nc_res = eotd_result_6();
5997 return prim;
5998 }
5999
6000
6001 T_PRIMITIVE_UNION mph_ncell_pos_ind_4()
6002 {
6003 T_MPH_NCELL_POS_IND prim;
6004 prim->req_id = REQ_ID_8;
6005 prim->eotd_res = EOTD_SUCC;
6006 prim->ta._skip;
6007 prim->fn = FN_OFFSET_0;
6008 prim->eotd_sc_res = eotd_sc_res_ok();
6009 prim->eotd_sc_res1 = eotd_sc_res1_ok();
6010 // prim->eotd_nc_res = eotd_result_8();
6011 int i=0;
6012 prim->eotd_nc_res[i] = eotd_nc_res_637();
6013 i++;
6014 prim->eotd_nc_res[i] = eotd_nc_res_25();
6015 i++;
6016 prim->eotd_nc_res[i] = eotd_nc_res_14();
6017 i++;
6018 prim->eotd_nc_res[i] = eotd_nc_res_512();
6019 i++;
6020 prim->eotd_nc_res[i] = eotd_nc_res_580();
6021 i++;
6022 prim->eotd_nc_res[i] = eotd_nc_res_885();
6023 i++;
6024 prim->eotd_nc_res[i].arfcn = ARFCN_516;
6025 prim->eotd_nc_res[i].bsic = BSIC_10;
6026 prim->eotd_nc_res[i].sb_flag = SB_TRUE;
6027 prim->eotd_nc_res[i].d_eotd_nrj = RSSI_61440;
6028 prim->eotd_nc_res[i].eotd_crosscor = EOTD_CROSSCOR_6;
6029 prim->eotd_nc_res[i].time_tag = NOM_POS_1000;
6030 i++;
6031 prim->eotd_nc_res[i].arfcn = ARFCN_525;
6032 prim->eotd_nc_res[i].bsic = BSIC_10;
6033 prim->eotd_nc_res[i].sb_flag = SB_TRUE;
6034 prim->eotd_nc_res[i].d_eotd_nrj = RSSI_61952;
6035 prim->eotd_nc_res[i].eotd_crosscor = EOTD_CROSSCOR_9;
6036 prim->eotd_nc_res[i].time_tag = NOM_POS_2000;
6037 i++;
6038 return prim;
6039 }
6040
6041
6042
6043 T_PRIMITIVE_UNION mphc_stop_rxlev_periodic_con_1()
6044 {
6045 T_MPHC_STOP_RXLEV_PERIODIC_CON prim;
6046 prim->param._skip;
6047 return prim;
6048 }
6049
6050
6051 T_PRIMITIVE_UNION mph_ncell_pos_req_2(CHAR variant)
6052 {
6053 T_MPH_NCELL_POS_REQ prim;
6054 if (variant == 'A') prim->req_id = REQ_ID_1;
6055 if (variant == 'B') prim->req_id = REQ_ID_8;
6056 if (variant == 'A') {
6057 //prim->ncell_eotd = ncell_eotd_7();
6058 int i=0;
6059
6060 prim->ncell_eotd[i] = arfcn_23_eotd();
6061 i++;
6062
6063 prim->ncell_eotd[i] = arfcn_637_eotd();
6064 i++;
6065
6066 prim->ncell_eotd[i] = arfcn_25_eotd();
6067 i++;
6068
6069 prim->ncell_eotd[i] = arfcn_14_eotd();
6070 i++;
6071
6072 prim->ncell_eotd[i] = arfcn_512_eotd();
6073 i++;
6074
6075 prim->ncell_eotd[i] = arfcn_580_eotd();
6076 i++;
6077
6078 prim->ncell_eotd[i] = arfcn_885_eotd();
6079 i++;
6080 /* this is a [1..MAX_NCELL_EOTD_ALR] array */
6081 /* so we don't have to skip the rest */
6082 }
6083 if (variant == 'B') {
6084 // prim->ncell_eotd = ncell_eotd_9();
6085 int i=0;
6086
6087 prim->ncell_eotd[i] = arfcn_23_eotd();
6088 i++;
6089
6090 prim->ncell_eotd[i] = arfcn_637_eotd();
6091 i++;
6092
6093 prim->ncell_eotd[i] = arfcn_25_eotd();
6094 i++;
6095
6096 prim->ncell_eotd[i] = arfcn_14_eotd();
6097 i++;
6098
6099 prim->ncell_eotd[i] = arfcn_512_eotd();
6100 i++;
6101
6102 prim->ncell_eotd[i].arfcn = ARFCN_516;
6103 prim->ncell_eotd[i].bsic = BSIC_10;
6104 prim->ncell_eotd[i].mfrm_offset = MFRM_OFFSET_44;
6105 prim->ncell_eotd[i].otd_type = EXPECTED_OTD;
6106 prim->ncell_eotd[i].exp_otd = OTD_666;
6107 prim->ncell_eotd[i].uncertainty = UNC_MAX_2BIT;
6108 prim->ncell_eotd[i].rough_rtd = OTD_666;
6109 i++;
6110
6111 prim->ncell_eotd[i].arfcn = ARFCN_525;
6112 prim->ncell_eotd[i].bsic = BSIC_10;
6113 prim->ncell_eotd[i].mfrm_offset = MFRM_OFFSET_44;
6114 prim->ncell_eotd[i].otd_type = EXPECTED_OTD;
6115 prim->ncell_eotd[i].exp_otd = OTD_666;
6116 prim->ncell_eotd[i].uncertainty = UNC_MAX_2BIT;
6117 prim->ncell_eotd[i].rough_rtd = OTD_666;
6118 i++;
6119
6120 prim->ncell_eotd[i] = arfcn_580_eotd();
6121 i++;
6122
6123 prim->ncell_eotd[i] = arfcn_885_eotd();
6124 i++;
6125
6126 /* this is a [1..MAX_NCELL_EOTD_ALR] array */
6127 /* so we don't have to skip the rest */
6128 }
6129 return prim;
6130 }
6131 T_PRIMITIVE_UNION mph_neighbourcell_req_3g()
6132 {
6133 T_MPH_NEIGHBOURCELL_REQ prim;
6134 prim->multi_band = MULTI_BAND_0;
6135 prim->arfcn = CHLIST_1_14_124_FFFF;
6136 prim->sync_only = SYNC_LIST;
6137 return prim;
6138 }
6139 const U8 NCELLS_14_BSIC_PBCCH_elements[1] = {
6140 BSIC_1
6141 };
6142 T_ARRAY<U8> NCELLS_14_BSIC_PBCCH(NCELLS_14_BSIC_PBCCH_elements, SKIP_TO_END);
6143
6144 const U8 NCELLS_124_BSIC_PBCCH_elements[1] = {
6145 NOT_PRESENT_8BIT
6146 };
6147 T_ARRAY<U8> NCELLS_124_BSIC_PBCCH(NCELLS_124_BSIC_PBCCH_elements, SKIP_TO_END);
6148
6149 const U8 NCELLS_10_BSIC_PBCCH_elements[1] = {
6150 BSIC_2
6151 };
6152 T_ARRAY<U8> NCELLS_10_BSIC_PBCCH(NCELLS_10_BSIC_PBCCH_elements, SKIP_TO_END);
6153
6154 const U16 CHLIST_14_PBCCH_elements[1] = {
6155 ARFCN_14
6156 };
6157 T_ARRAY<U16> CHLIST_14_PBCCH(CHLIST_14_PBCCH_elements, SKIP_TO_END);
6158
6159 const U16 CHLIST_124_PBCCH_elements[1] = {
6160 ARFCN_124
6161 };
6162 T_ARRAY<U16> CHLIST_124_PBCCH(CHLIST_124_PBCCH_elements, SKIP_TO_END);
6163
6164 const U16 CHLIST_10_PBCCH_elements[1] = {
6165 ARFCN_10
6166 };
6167 T_ARRAY<U16> CHLIST_10_PBCCH(CHLIST_10_PBCCH_elements, SKIP_TO_END);
6168 const U16 CHLIST_14_124_10_PBCCH_elements[4] = {
6169 ARFCN_14,
6170 ARFCN_124,
6171 ARFCN_10,
6172 NOT_PRESENT_16BIT
6173 };
6174 T_ARRAY<U16> CHLIST_14_124_10_PBCCH(CHLIST_14_124_10_PBCCH_elements, SKIP_TO_END);
6175
6176
6177 T_ncells ncells_14_pbcch()
6178 {
6179 T_ncells pstruct;
6180 pstruct->no_of_ncells = 1;
6181 pstruct->arfcn = CHLIST_14_PBCCH;
6182 pstruct->rx_lev._skip;
6183 pstruct->bsic = NCELLS_14_BSIC_PBCCH;
6184 pstruct->time_alignmt._skip;
6185 pstruct->frame_offset._skip;
6186 return pstruct;
6187 }
6188 T_ncells ncells_124_pbcch()
6189 {
6190 T_ncells pstruct;
6191 pstruct->no_of_ncells = 1;
6192 pstruct->arfcn = CHLIST_124_PBCCH;
6193 pstruct->rx_lev._skip;
6194 pstruct->bsic = NCELLS_124_BSIC_PBCCH;
6195 pstruct->time_alignmt._skip;
6196 pstruct->frame_offset._skip;
6197 return pstruct;
6198 }
6199 T_ncells ncells_10_pbcch()
6200 {
6201 T_ncells pstruct;
6202 pstruct->no_of_ncells = 1;
6203 pstruct->arfcn = CHLIST_10_PBCCH;
6204 pstruct->rx_lev._skip;
6205 pstruct->bsic = NCELLS_10_BSIC_PBCCH;
6206 pstruct->time_alignmt._skip;
6207 pstruct->frame_offset._skip;
6208 return pstruct;
6209 }
6210
6211 T_PRIMITIVE_UNION mph_measurement_ind_1g()
6212 {
6213 T_MPH_MEASUREMENT_IND prim;
6214 prim->arfcn._skip;
6215 prim->rx_lev_full._skip;
6216 prim->rx_lev_sub._skip;
6217 prim->rx_qual_full._skip;
6218 prim->rx_qual_sub._skip;
6219 prim->dtx._skip;
6220 prim->otd._skip;
6221 prim->valid._skip;
6222 prim->fn_offset._skip;
6223 prim->ncells = ncells_14_pbcch();
6224 prim->gprs_sync = SYNC_RESULTS;
6225 prim->bcch_rxlev_of_sc._skip;
6226 return prim;
6227 }
6228 T_PRIMITIVE_UNION mph_measurement_ind_2g()
6229 {
6230 T_MPH_MEASUREMENT_IND prim;
6231 prim->arfcn._skip;
6232 prim->rx_lev_full._skip;
6233 prim->rx_lev_sub._skip;
6234 prim->rx_qual_full._skip;
6235 prim->rx_qual_sub._skip;
6236 prim->dtx._skip;
6237 prim->otd._skip;
6238 prim->valid._skip;
6239 prim->fn_offset._skip;
6240 prim->ncells = ncells_124_pbcch();
6241 prim->gprs_sync = SYNC_RESULTS;
6242 prim->bcch_rxlev_of_sc._skip;
6243 return prim;
6244 }
6245 T_PRIMITIVE_UNION mph_neighbourcell_req_4g()
6246 {
6247 T_MPH_NEIGHBOURCELL_REQ prim;
6248 prim->multi_band = MULTI_BAND_0;
6249 prim->arfcn = CHLIST_14_124_10_PBCCH;
6250 prim->sync_only = SYNC_LIST;
6251 return prim;
6252 }
6253
6254 T_PRIMITIVE_UNION mphc_ncell_sync_req_4g()
6255 {
6256 T_MPHC_NCELL_SYNC_REQ prim;
6257 prim->radio_freq = ARFCN_10;
6258 prim->fn_offset._skip;
6259 prim->time_alignment._skip;
6260 prim->timing_validity = TV_INVALID_TIMING_INFO;
6261 return prim;
6262 }
6263 T_PRIMITIVE_UNION mph_measurement_ind_3g()
6264 {
6265 T_MPH_MEASUREMENT_IND prim;
6266 prim->arfcn. _skip;
6267 prim->rx_lev_full. _skip;
6268 prim->rx_lev_sub. _skip;
6269 prim->rx_qual_full._skip;
6270 prim->rx_qual_sub. _skip;
6271 prim->dtx. _skip;
6272 prim->otd. _skip;
6273 prim->valid. _skip;
6274 prim->fn_offset. _skip;
6275 prim->ncells = ncells_10_pbcch();
6276 prim->gprs_sync = SYNC_RESULTS;
6277 prim->bcch_rxlev_of_sc._skip;
6278 return prim;
6279 }
6280 T_PRIMITIVE_UNION mph_measurement_ind_4g()
6281 {
6282 const U16 arfcn_elements[] = {
6283 ARFCN_1
6284 };
6285 T_ARRAY<U16> arfcn(arfcn_elements, SKIP_TO_END);
6286
6287 const U8 bsics_elements[] = {
6288 MPH_BSIC_UNKNOWN
6289 };
6290 T_ARRAY<U8> bsics(bsics_elements, SKIP_TO_END);
6291
6292
6293 T_MPH_MEASUREMENT_IND prim;
6294 prim->arfcn. _skip;
6295 prim->rx_lev_full. _skip;
6296 prim->rx_lev_sub. _skip;
6297 prim->rx_qual_full._skip;
6298 prim->rx_qual_sub. _skip;
6299 prim->dtx. _skip;
6300 prim->otd. _skip;
6301 prim->valid. _skip;
6302 prim->fn_offset. _skip;
6303 prim->ncells.no_of_ncells = 1;
6304 prim->ncells.arfcn = arfcn;
6305 prim->ncells.rx_lev._skip;
6306 prim->ncells.bsic = bsics;
6307 prim->ncells.time_alignmt._skip;
6308 prim->ncells.frame_offset._skip;
6309 prim->gprs_sync = SYNC_RESULTS;
6310 prim->bcch_rxlev_of_sc._skip;
6311 return prim;
6312 }
6313
6314 T_PRIMITIVE_UNION mphc_ncell_list_sync_req_1g()
6315 {
6316 T_MPHC_NCELL_LIST_SYNC_REQ prim;
6317 prim->eotd._skip;
6318 prim->list_size = LIST_SIZE2;
6319 int i=0;
6320
6321 prim->ncell_list[i].radio_freq = ARFCN_14;
6322 prim->ncell_list[i].fn_offset = FN_OFF_ARFCN_14;
6323 prim->ncell_list[i].time_alignment = TIME_ALIGNMT_14;
6324 prim->ncell_list[i].timing_validity = TV_VALID_TIMING_INFO;
6325 i++;
6326
6327 prim->ncell_list[i].radio_freq = ARFCN_10;
6328 prim->ncell_list[i].fn_offset = FN_OFFSET_10;
6329 prim->ncell_list[i].time_alignment = TIME_ALIGNMT_10;
6330 prim->ncell_list[i].timing_validity = TV_VALID_TIMING_INFO;
6331 i++;
6332
6333 //if(i != prim->list_size) ;/*do something! what?*/
6334 /* or do: */
6335 prim->list_size = i;
6336
6337 for(;i<MAX_NCELL_EOTD_L1;i++) {
6338 prim->ncell_list[i].radio_freq ._skip;
6339 prim->ncell_list[i].time_alignment._skip;
6340 prim->ncell_list[i].fn_offset ._skip;
6341 prim->ncell_list[i].time_alignment._skip;
6342 }
6343 return prim;
6344 }
6345
6346 T_PRIMITIVE_UNION mphc_ncell_sync_ind_3g()
6347 {
6348 T_MPHC_NCELL_SYNC_IND prim;
6349 prim->radio_freq = ARFCN_10;
6350 prim->sb_flag = SB_FOUND;
6351 prim->fn_offset = FN_OFFSET_10;
6352 prim->time_alignment = TIME_ALIGNMT_10;
6353 prim->bsic = BSIC_2;
6354 prim->neigh_id. _skip;
6355 prim->attempt._skip;
6356 prim->pm._skip;
6357 prim->toa._skip;
6358 prim->angle._skip;
6359 prim->snr._skip;
6360 prim->eodt_data_valid = EOTD_NOT_PRES;
6361 prim->mode._skip;
6362 prim->d_eotd_first._skip;
6363 prim->d_eotd_max._skip;
6364 prim->d_eotd_nrj._skip;
6365 prim->a_eotd_crosscor._skip;
6366 prim->time_tag._skip;
6367 prim->fn_sb_neigh._skip;
6368 prim->fn_in_sb._skip;
6369 prim->toa_correction._skip;
6370 prim->delta_fn._skip;
6371 prim->delta_qbit._skip;
6372 return prim;
6373 }
6374
6375 T_PRIMITIVE_UNION mph_neighbourcell_req_plmn_search(U16 cell1, U16 cell2)
6376 {
6377 T_MPH_NEIGHBOURCELL_REQ prim;
6378 prim->multi_band = MULTI_BAND_0;
6379 U16 elems[] = { cell1, cell2, NOT_PRESENT_16BIT };
6380 T_ARRAY<U16> a(elems, SKIP_TO_END);
6381 prim->arfcn = a;
6382 prim->sync_only = SYNC_LIST;
6383 return prim;
6384 }
6385
6386 T_PRIMITIVE_UNION mph_measurement_ind_plmn_search(U16 cell1, U8 bsic1, U16 cell2, U8 bsic2)
6387 {
6388 T_MPH_MEASUREMENT_IND prim;
6389 prim->arfcn ._skip;
6390 prim->rx_lev_full ._skip;
6391 prim->rx_lev_sub ._skip;
6392 prim->rx_qual_full ._skip;
6393 prim->rx_qual_sub ._skip;
6394 prim->dtx ._skip;
6395 prim->otd ._skip;
6396 prim->valid ._skip;
6397 prim->fn_offset ._skip;
6398
6399 int i = 0;
6400
6401 if(cell2 != NOT_PRESENT_16BIT) {
6402 prim->ncells.no_of_ncells = i = 2;
6403 prim->ncells.arfcn[1] = cell2;
6404 prim->ncells.bsic[1] = bsic2;
6405 prim->ncells.rx_lev[1] = 0;
6406 prim->ncells.frame_offset[1] = 0;
6407 prim->ncells.time_alignmt[1] = 0;
6408 } else {
6409 prim->ncells.no_of_ncells = i = 1;
6410 }
6411 prim->ncells.arfcn[0] = cell1;
6412 prim->ncells.bsic[0] = bsic1;
6413 prim->ncells.frame_offset[0]= 0;
6414 prim->ncells.rx_lev[0] = 0;
6415 prim->ncells.time_alignmt[0]= 0;
6416
6417 #ifdef FF_EGPRS
6418 int maxnum = MAX_NUM_CELLS_IN_REPORT;
6419 #else // FF_EGPRS
6420 int maxnum = 6;
6421 #endif // FF_EGPRS
6422
6423 for(;i<maxnum;i++)
6424 {
6425 prim->ncells.arfcn[i] =0;//._skip;
6426 prim->ncells.bsic[i] =0;//._skip;
6427 prim->ncells.frame_offset[i] =0;//._skip;
6428 prim->ncells.rx_lev[i] =0;//._skip;
6429 prim->ncells.time_alignmt[i] =0;//._skip;
6430 }
6431 prim->gprs_sync = SYNC_RESULTS;
6432 prim->bcch_rxlev_of_sc._skip;
6433 return prim;
6434 }
6435
6436 #ifdef FF_EGPRS
6437 T_PRIMITIVE_UNION mphc_ncell_list_sync_req_emr()
6438 {
6439 T_MPHC_NCELL_LIST_SYNC_REQ prim;
6440 prim->eotd._show;
6441 prim->list_size._show;
6442 prim->ncell_list._show;
6443 return prim;
6444 }
6445
6446 const U16 CHLIST_BA_BCCH_EMR_FFFF_elements[9] = {
6447 ARFCN_1,
6448 ARFCN_15,
6449 ARFCN_30,
6450 ARFCN_46,
6451 ARFCN_59,
6452 ARFCN_73,
6453 ARFCN_90,
6454 ARFCN_108,
6455 NOT_PRESENT_16BIT
6456 };
6457 T_ARRAY<U16> CHLIST_BA_BCCH_EMR_FFFF(CHLIST_BA_BCCH_EMR_FFFF_elements, SKIP_TO_END);
6458
6459 T_PRIMITIVE_UNION mph_neighbourcell_req_emr_1()
6460 {
6461 T_MPH_NEIGHBOURCELL_REQ prim;
6462 prim->multi_band = MULTI_BAND_0;
6463 prim->arfcn = CHLIST_BA_BCCH_EMR_FFFF;
6464 prim->sync_only._skip;
6465 return prim;
6466 }
6467
6468 const U16 RF_23_EMR_BA_BCCH_elements[9] = {
6469 ARFCN_1,
6470 ARFCN_15,
6471 ARFCN_30,
6472 ARFCN_46,
6473 ARFCN_59,
6474 ARFCN_73,
6475 ARFCN_90,
6476 ARFCN_108,
6477 ARFCN_23
6478 };
6479
6480 T_ARRAY<U16> RF_23_EMR_BA_BCCH(RF_23_EMR_BA_BCCH_elements, SKIP_TO_END);
6481
6482 T_PRIMITIVE_UNION mphc_rxlev_periodic_req_emr_1()
6483 {
6484 T_MPHC_RXLEV_PERIODIC_REQ prim;
6485
6486 prim->chan_list.radio_freq = RF_23_EMR_BA_BCCH;
6487 prim->num_of_chans = CHANNELS_9;
6488 prim->ba_id = BA_ID_1;
6489 prim->next_radio_freq_measured = CHAN_LIST_IDX_0;
6490 return prim;
6491 }
6492
6493 T_PRIMITIVE_UNION mphc_rxlev_periodic_ind_emr_1()
6494 {
6495 T_MPHC_RXLEV_PERIODIC_IND prim;
6496
6497 prim->s_rxlev = RXLEV_56;
6498 prim->ba_id = BA_ID_1;
6499
6500 prim->nbr_of_carriers = 8;
6501 prim->result[0].radio_freq = ARFCN_1;
6502 prim->result[0].rxlev = CONST_10;
6503 prim->result[1].radio_freq = ARFCN_15;
6504 prim->result[1].rxlev = CONST_12;
6505 prim->result[2].radio_freq = ARFCN_30;
6506 prim->result[2].rxlev = CONST_13;
6507 prim->result[3].radio_freq = ARFCN_46;
6508 prim->result[3].rxlev = CONST_20;
6509 prim->result[4].radio_freq = ARFCN_59;
6510 prim->result[4].rxlev = CONST_23;
6511 prim->result[5].radio_freq = ARFCN_73;
6512 prim->result[5].rxlev = CONST_30;
6513 prim->result[6].radio_freq = ARFCN_90;
6514 prim->result[6].rxlev = CONST_46;
6515 prim->result[7].radio_freq = ARFCN_108;
6516 prim->result[7].rxlev = CONST_47;
6517
6518 return prim;
6519 }
6520
6521 T_PRIMITIVE_UNION mph_measurement_ind_emr_1()
6522 {
6523 T_MPH_MEASUREMENT_IND prim;
6524 prim->arfcn = ARFCN_23;
6525 prim->rx_lev_full._show;
6526 prim->rx_lev_sub._show;
6527 prim->rx_qual_full._show;
6528 prim->rx_qual_sub._show;
6529 prim->dtx._show;
6530 prim->otd._show;
6531 prim->valid = VALID_REPORT;
6532 prim->fn_offset._show;
6533 prim->ncells._show;
6534 prim->gprs_sync._show;
6535 prim->bsic_seen._show;
6536 prim->mean_bep._show;
6537 prim->cv_bep._show;
6538 prim->nbr_rcvd_blks._show;
6539 prim->nc_index._show;
6540 prim->rxlev_val._show;
6541 prim->scale_used._show;
6542 prim->bcch_rxlev_of_sc._skip;
6543 return prim;
6544 }
6545
6546
6547 T_PRIMITIVE_UNION mphc_ncell_sync_ind_emr(U16 arfcn, U8 bsic,U8 sb_status)
6548 {
6549 T_MPHC_NCELL_SYNC_IND prim;
6550 prim->radio_freq = arfcn;
6551 prim->sb_flag = sb_status;
6552 prim->fn_offset = FN_OFFSET_10;
6553 prim->time_alignment = TIME_ALIGNMT_10;
6554 prim->bsic = bsic;
6555 prim->neigh_id. _skip;
6556 prim->attempt._skip;
6557 prim->pm._skip;
6558 prim->toa._skip;
6559 prim->angle._skip;
6560 prim->snr._skip;
6561 prim->eodt_data_valid = EOTD_NOT_PRES;
6562 prim->mode._skip;
6563 prim->d_eotd_first._skip;
6564 prim->d_eotd_max._skip;
6565 prim->d_eotd_nrj._skip;
6566 prim->a_eotd_crosscor._skip;
6567 prim->time_tag._skip;
6568 prim->fn_sb_neigh._skip;
6569 prim->fn_in_sb._skip;
6570 prim->toa_correction._skip;
6571 prim->delta_fn._skip;
6572 prim->delta_qbit._skip;
6573 return prim;
6574 }
6575
6576 T_PRIMITIVE_UNION mphc_ncell_bcch_req_emr(U16 arfcn)
6577 {
6578 T_MPHC_NCELL_BCCH_REQ prim;
6579 prim->radio_freq = arfcn;
6580 prim->fn_offset._show;
6581 prim->time_alignment._show;
6582 prim->tsc._show;
6583 prim->bcch_blocks_required._show;
6584 prim->gprs_prio._skip;
6585 return prim;
6586 }
6587
6588 T_PRIMITIVE_UNION mphc_stop_ncell_bcch_req_emr()
6589 {
6590 T_MPHC_STOP_NCELL_BCCH_REQ prim;
6591 prim->radio_freq_array_size._show;
6592 prim->radio_freq_array._show;
6593 return prim;
6594 }
6595
6596 T_ARRAY<T_res_list> res_list_emr_A()
6597 {
6598 T_res_list array[33];
6599
6600 array[0]->bcch_freq = ARFCN_1;
6601 array[0]->rxlev_acc = CONST_30;
6602 array[0]->rxlev_nbr_meas = CONST_1;
6603
6604 array[1]->bcch_freq = ARFCN_15;
6605 array[1]->rxlev_acc = CONST_6;
6606 array[1]->rxlev_nbr_meas = CONST_1;
6607
6608 array[2]->bcch_freq = ARFCN_30;
6609 array[2]->rxlev_acc = CONST_53;
6610 array[2]->rxlev_nbr_meas = CONST_1;
6611
6612 array[3]->bcch_freq = ARFCN_46;
6613 array[3]->rxlev_acc = CONST_13;
6614 array[3]->rxlev_nbr_meas = CONST_1;
6615
6616 array[4]->bcch_freq = ARFCN_59;
6617 array[4]->rxlev_acc = CONST_10;
6618 array[4]->rxlev_nbr_meas = CONST_1;
6619
6620 array[5]->bcch_freq = ARFCN_73;
6621 array[5]->rxlev_acc = CONST_20;
6622 array[5]->rxlev_nbr_meas = CONST_1;
6623
6624 array[6]->bcch_freq = ARFCN_90;
6625 array[6]->rxlev_acc = CONST_47;
6626 array[6]->rxlev_nbr_meas = CONST_1;
6627
6628 array[7]->bcch_freq = ARFCN_108;
6629 array[7]->rxlev_acc = CONST_73;
6630 array[7]->rxlev_nbr_meas = CONST_1;
6631
6632 for(int i=8;i<BA_LIST_SIZE;i++) {
6633 array[i]->bcch_freq ._skip;
6634 array[i]->rxlev_acc ._skip;
6635 array[i]->rxlev_nbr_meas ._skip;
6636 }
6637
6638 return array;
6639 }
6640
6641
6642
6643 T_ARRAY<T_res_list> res_list_emr_B()
6644 {
6645 T_res_list array[33];
6646
6647 array[0]->bcch_freq = ARFCN_30;
6648 array[0]->rxlev_acc = CONST_10;
6649 array[0]->rxlev_nbr_meas = CONST_1;
6650
6651 array[1]->bcch_freq = ARFCN_46;
6652 array[1]->rxlev_acc = CONST_63;
6653 array[1]->rxlev_nbr_meas = CONST_1;
6654
6655 array[2]->bcch_freq = ARFCN_59;
6656 array[2]->rxlev_acc = CONST_13;
6657 array[2]->rxlev_nbr_meas = CONST_1;
6658
6659 array[3]->bcch_freq = ARFCN_73;
6660 array[3]->rxlev_acc = CONST_53;
6661 array[3]->rxlev_nbr_meas = CONST_1;
6662
6663 array[4]->bcch_freq = ARFCN_90;
6664 array[4]->rxlev_acc = CONST_30;
6665 array[4]->rxlev_nbr_meas = CONST_1;
6666
6667 array[5]->bcch_freq = ARFCN_108;
6668 array[5]->rxlev_acc = CONST_73;
6669 array[5]->rxlev_nbr_meas = CONST_1;
6670
6671 array[6]->bcch_freq = ARFCN_512;
6672 array[6]->rxlev_acc = CONST_5;
6673 array[6]->rxlev_nbr_meas = CONST_1;
6674
6675 array[7]->bcch_freq = ARFCN_513;
6676 array[7]->rxlev_acc = CONST_47;
6677 array[7]->rxlev_nbr_meas = CONST_1;
6678
6679 array[8]->bcch_freq = ARFCN_516;
6680 array[8]->rxlev_acc = CONST_12;
6681 array[8]->rxlev_nbr_meas = CONST_1;
6682
6683 array[9]->bcch_freq = ARFCN_525;
6684 array[9]->rxlev_acc = CONST_16;
6685 array[9]->rxlev_nbr_meas = CONST_1;
6686
6687 array[10]->bcch_freq = ARFCN_578;
6688 array[10]->rxlev_acc = CONST_20;
6689 array[10]->rxlev_nbr_meas = CONST_1;
6690
6691 array[11]->bcch_freq = ARFCN_580;
6692 array[11]->rxlev_acc = CONST_63;
6693 array[11]->rxlev_nbr_meas = CONST_1;
6694
6695 array[12]->bcch_freq = ARFCN_581;
6696 array[12]->rxlev_acc = CONST_23;
6697 array[12]->rxlev_nbr_meas = CONST_1;
6698
6699 array[13]->bcch_freq = ARFCN_582;
6700 array[13]->rxlev_acc = CONST_5;
6701 array[13]->rxlev_nbr_meas = CONST_1;
6702
6703 array[14]->bcch_freq = ARFCN_583;
6704 array[14]->rxlev_acc = CONST_8;
6705 array[14]->rxlev_nbr_meas = CONST_1;
6706
6707 array[15]->bcch_freq = ARFCN_584;
6708 array[15]->rxlev_acc = CONST_53;
6709 array[15]->rxlev_nbr_meas = CONST_1;
6710
6711
6712 for(int i=16;i<BA_LIST_SIZE;i++) {
6713 array[i]->bcch_freq ._skip;
6714 array[i]->rxlev_acc ._skip;
6715 array[i]->rxlev_nbr_meas ._skip;
6716 }
6717
6718 return array;
6719 }
6720
6721
6722 T_ARRAY<T_res_list> res_list_emr_C()
6723 {
6724 T_res_list array[33];
6725
6726 array[0]->bcch_freq = ARFCN_30;
6727 array[0]->rxlev_acc = CONST_10;
6728 array[0]->rxlev_nbr_meas = CONST_1;
6729
6730 array[1]->bcch_freq = ARFCN_46;
6731 array[1]->rxlev_acc = CONST_10;
6732 array[1]->rxlev_nbr_meas = CONST_1;
6733
6734 array[2]->bcch_freq = ARFCN_59;
6735 array[2]->rxlev_acc = CONST_13;
6736 array[2]->rxlev_nbr_meas = CONST_1;
6737
6738 array[3]->bcch_freq = ARFCN_73;
6739 array[3]->rxlev_acc = CONST_20;
6740 array[3]->rxlev_nbr_meas = CONST_1;
6741
6742 array[4]->bcch_freq = ARFCN_90;
6743 array[4]->rxlev_acc = CONST_30;
6744 array[4]->rxlev_nbr_meas = CONST_1;
6745
6746 array[5]->bcch_freq = ARFCN_108;
6747 array[5]->rxlev_acc = CONST_73;
6748 array[5]->rxlev_nbr_meas = CONST_1;
6749
6750 array[6]->bcch_freq = ARFCN_512;
6751 array[6]->rxlev_acc = CONST_53;
6752 array[6]->rxlev_nbr_meas = CONST_1;
6753
6754 array[7]->bcch_freq = ARFCN_513;
6755 array[7]->rxlev_acc = CONST_30;
6756 array[7]->rxlev_nbr_meas = CONST_1;
6757
6758 array[8]->bcch_freq = ARFCN_516;
6759 array[8]->rxlev_acc = CONST_63;
6760 array[8]->rxlev_nbr_meas = CONST_1;
6761
6762 array[9]->bcch_freq = ARFCN_525;
6763 array[9]->rxlev_acc = CONST_16;
6764 array[9]->rxlev_nbr_meas = CONST_1;
6765
6766 array[10]->bcch_freq = ARFCN_578;
6767 array[10]->rxlev_acc = CONST_30;
6768 array[10]->rxlev_nbr_meas = CONST_1;
6769
6770 array[11]->bcch_freq = ARFCN_580;
6771 array[11]->rxlev_acc = CONST_20;
6772 array[11]->rxlev_nbr_meas = CONST_1;
6773
6774 array[12]->bcch_freq = ARFCN_581;
6775 array[12]->rxlev_acc = CONST_23;
6776 array[12]->rxlev_nbr_meas = CONST_1;
6777
6778 array[13]->bcch_freq = ARFCN_582;
6779 array[13]->rxlev_acc = CONST_47;
6780 array[13]->rxlev_nbr_meas = CONST_1;
6781
6782 array[14]->bcch_freq = ARFCN_583;
6783 array[14]->rxlev_acc = CONST_53;
6784 array[14]->rxlev_nbr_meas = CONST_1;
6785
6786 array[15]->bcch_freq = ARFCN_584;
6787 array[15]->rxlev_acc = CONST_20;
6788 array[15]->rxlev_nbr_meas = CONST_1;
6789
6790
6791 for(int i=16;i<BA_LIST_SIZE;i++) {
6792 array[i]->bcch_freq ._skip;
6793 array[i]->rxlev_acc ._skip;
6794 array[i]->rxlev_nbr_meas ._skip;
6795 }
6796
6797 return array;
6798 }
6799
6800 T_PRIMITIVE_UNION mphc_meas_report_emr(char variant)
6801 {
6802 T_MPHC_MEAS_REPORT prim;
6803 prim->dtx_used = DTX_USED;
6804 prim->meas_valid = MEAS_ARE_VALID;
6805 prim->rxlev_full_acc = CONST_63;
6806 prim->rxlev_full_nbr_meas = CONST_1;
6807 prim->rxlev_sub_acc = CONST_30;
6808 prim->rxlev_sub_nbr_meas = CONST_1;
6809 prim->rxqual_full_acc_errors = CONST_1;
6810 prim->rxqual_full_nbr_bits = CONST_1;
6811 prim->rxqual_sub_acc_errors = CONST_1;
6812 prim->rxqual_sub_nbr_bits = CONST_1;
6813 if (variant == 'A')
6814 {
6815 prim->no_of_ncells_meas = CONST_8;
6816 prim->ncell_meas.res_list = res_list_emr_A();
6817 prim->mean_bep_block_acc = 16856941;
6818 prim->cv_bep_block_acc = 145;
6819 }
6820 else if (variant == 'B')
6821 {
6822 prim->no_of_ncells_meas = CONST_16;
6823 prim->ncell_meas.res_list = res_list_emr_B();
6824 prim->mean_bep_block_acc = 6710886;
6825 prim->cv_bep_block_acc = 384;
6826 } else if (variant == 'C')
6827 {
6828 prim->no_of_ncells_meas = CONST_16;
6829 prim->ncell_meas.res_list = res_list_emr_C();
6830 prim->mean_bep_block_acc = 168443;
6831 prim->cv_bep_block_acc = 448;
6832 }
6833 prim->ba_id = CONST_1;
6834 prim->timing_advance = CONST_1;
6835 prim->txpwr_used = CONST_1;
6836 prim->bep_block_num = CONST_6;
6837 prim->nbr_rcvd_blocks = CONST_4;
6838 prim->rxlev_val_acc = CONST_73;
6839 prim->rxlev_val_nbr_meas = CONST_1;
6840 return prim;
6841 }
6842
6843 const U16 CHLIST_BA_SACCH_EMR_FFFF_elements[17] = {
6844 ARFCN_30,
6845 ARFCN_46,
6846 ARFCN_59,
6847 ARFCN_73,
6848 ARFCN_90,
6849 ARFCN_108,
6850 ARFCN_512,
6851 ARFCN_513,
6852 ARFCN_516,
6853 ARFCN_525,
6854 ARFCN_578,
6855 ARFCN_580,
6856 ARFCN_581,
6857 ARFCN_582,
6858 ARFCN_583,
6859 ARFCN_584,
6860 NOT_PRESENT_16BIT
6861 };
6862
6863 T_ARRAY<U16> CHLIST_BA_SACCH_EMR_FFFF(CHLIST_BA_SACCH_EMR_FFFF_elements, SKIP_TO_END);
6864
6865 T_PRIMITIVE_UNION mph_neighbourcell_req_emr_2()
6866 {
6867 T_MPH_NEIGHBOURCELL_REQ prim;
6868 prim->multi_band = MULTI_BAND_2;
6869 prim->arfcn = CHLIST_BA_SACCH_EMR_FFFF;
6870 prim->sync_only._skip;
6871 return prim;
6872 }
6873
6874 const U16 RF_23_EMR_BA_SACCH_elements[17] = {
6875 ARFCN_30,
6876 ARFCN_46,
6877 ARFCN_59,
6878 ARFCN_73,
6879 ARFCN_90,
6880 ARFCN_108,
6881 ARFCN_23,
6882 ARFCN_512,
6883 ARFCN_513,
6884 ARFCN_516,
6885 ARFCN_525,
6886 ARFCN_578,
6887 ARFCN_580,
6888 ARFCN_581,
6889 ARFCN_582,
6890 ARFCN_583,
6891 ARFCN_584
6892 };
6893
6894 T_ARRAY<U16> RF_23_EMR_BA_SACCH(RF_23_EMR_BA_SACCH_elements, SKIP_TO_END);
6895
6896 T_PRIMITIVE_UNION mphc_update_ba_list_emr()
6897 {
6898 T_MPHC_UPDATE_BA_LIST prim;
6899 prim->num_of_chans = CHANNELS_17;
6900 prim->chan_list.radio_freq._show; /* = RF_23_EMR_BA_SACCH;*/
6901 prim->pwrc = PWRC_NOT_SET;
6902 prim->dtx_allowed = DTX_NOTALLOWED;
6903 prim->ba_id = BA_ID_2;
6904 return prim;
6905 }
6906 #endif // FF_EGPRS
6907
6908 T_PRIMITIVE_UNION mph_meas_rep_req( U8 meas_cause)
6909 {
6910 T_MPH_MEAS_REP_REQ prim;
6911 prim->cause = meas_cause;
6912 return prim;
6913 }
6914
6915 T_PRIMITIVE_UNION mph_meas_rep_cnf_sc()
6916 {
6917 T_MPH_MEAS_REP_CNF prim;
6918
6919 int count = 0;
6920 prim->meas_rep[count].arfcn = ARFCN_23;
6921 prim->meas_rep[count].bsic = BA_ID_1;
6922 prim->meas_rep[count].rx_lev._show;
6923 count ++;
6924
6925 prim->meas_rep[count].arfcn = 0xffff;
6926 prim->meas_rep[count].bsic = 0xff;
6927 prim->meas_rep[count].rx_lev = 0xff;
6928 count++;
6929
6930
6931 for (;count<7;count++) {
6932 prim->meas_rep[count].arfcn._show;
6933 prim->meas_rep[count].bsic._show;
6934 prim->meas_rep[count].rx_lev._show;
6935 }
6936 return prim;
6937
6938 }
6939
6940 T_PRIMITIVE_UNION mph_meas_rep_cnf_sc_n1()
6941 {
6942 T_MPH_MEAS_REP_CNF prim;
6943
6944 int count = 0;
6945 prim->meas_rep[count].arfcn = ARFCN_23;
6946 prim->meas_rep[count].bsic = BA_ID_1;
6947 prim->meas_rep[count].rx_lev._show;
6948 count ++;
6949
6950 prim->meas_rep[count].arfcn = ARFCN_512;
6951 prim->meas_rep[count].bsic = BSIC_10;
6952 prim->meas_rep[count].rx_lev._show;
6953 count++;
6954
6955
6956 for (;count<7;count++) {
6957 prim->meas_rep[count].arfcn._show;
6958 prim->meas_rep[count].bsic._show;
6959 prim->meas_rep[count].rx_lev._show;
6960 }
6961 return prim;
6962
6963 }
6964
6965
6966 T_PRIMITIVE_UNION mph_meas_rep_cnf_sc_n3()
6967 {
6968 T_MPH_MEAS_REP_CNF prim;
6969
6970 int count = 0;
6971 prim->meas_rep[count].arfcn = ARFCN_23;
6972 prim->meas_rep[count].bsic = BA_ID_1;
6973 prim->meas_rep[count].rx_lev._show;
6974 count ++;
6975
6976 prim->meas_rep[count].arfcn = ARFCN_1;
6977 prim->meas_rep[count].bsic = BSIC_16;
6978 prim->meas_rep[count].rx_lev._show;
6979 count ++;
6980
6981 prim->meas_rep[count].arfcn = ARFCN_14;
6982 prim->meas_rep[count].bsic ._show;
6983 prim->meas_rep[count].rx_lev._show;
6984 count ++;
6985
6986 prim->meas_rep[count].arfcn = ARFCN_124;
6987 prim->meas_rep[count].bsic ._show;
6988 prim->meas_rep[count].rx_lev._show;
6989 count ++;
6990
6991 prim->meas_rep[count].arfcn = 0xffff;
6992 prim->meas_rep[count].bsic = 0xff;
6993 prim->meas_rep[count].rx_lev = 0xff;
6994
6995 count++;
6996
6997
6998 for (;count<7;count++) {
6999 prim->meas_rep[count].arfcn._show;
7000 prim->meas_rep[count].bsic._show;
7001 prim->meas_rep[count].rx_lev._show;
7002 }
7003 return prim;
7004
7005 }
7006