FreeCalypso > hg > fc-selenite
comparison src/cs/layer1/p_include/l1p_deft.h @ 0:b6a5e36de839
src/cs: initial import from Magnetite
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Sun, 15 Jul 2018 04:39:26 +0000 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:b6a5e36de839 |
---|---|
1 /************* Revision Controle System Header ************* | |
2 * GSM Layer 1 software | |
3 * L1P_DEFTY.H | |
4 * | |
5 * Filename l1p_deft.h | |
6 * Copyright 2003 (C) Texas Instruments | |
7 * | |
8 ************* Revision Controle System Header *************/ | |
9 | |
10 typedef struct | |
11 { | |
12 WORD32 rand; | |
13 UWORD16 channel_request_data; | |
14 UWORD8 bs_prach_blks; | |
15 UWORD8 prach_alloc; | |
16 UWORD32 fn_to_report; | |
17 } | |
18 T_PRACH_INFO; | |
19 | |
20 typedef union | |
21 { | |
22 UWORD16 prach_data[12]; | |
23 UWORD8 cs1_data[24]; | |
24 } | |
25 T_CHAN_REQ_DATA; | |
26 | |
27 typedef struct | |
28 { | |
29 UWORD8 pol_resp_type; | |
30 T_CHAN_REQ_DATA chan_req; | |
31 UWORD32 fn; | |
32 UWORD8 timing_advance; | |
33 UWORD32 fn_to_report; | |
34 } | |
35 T_POLL_INFO; | |
36 | |
37 | |
38 typedef struct | |
39 { | |
40 UWORD8 data_array[23]; | |
41 UWORD8 tn; | |
42 UWORD8 dl_tn_to_restore; | |
43 UWORD8 activity; | |
44 } | |
45 T_SINGLE_BLOCK; | |
46 | |
47 | |
48 typedef struct | |
49 { | |
50 UWORD32 SignalCode; | |
51 UWORD8 assignment_id; | |
52 UWORD8 synchro_tn; | |
53 UWORD8 allocated_tbf; | |
54 UWORD8 dl_tbf_synchro_timeslot; | |
55 UWORD8 ul_tbf_synchro_timeslot; | |
56 UWORD8 transfer_synchro_timeslot; | |
57 | |
58 UWORD8 assignment_command; | |
59 UWORD8 multislot_class; | |
60 T_PACKET_TA packet_ta; | |
61 T_DL_POWER_CTL dl_pwr_ctl; | |
62 UWORD8 tsc; | |
63 T_PACKET_FREQ_PARAM freq_param; | |
64 UWORD8 mac_mode; | |
65 T_TBF_STI tbf_sti; | |
66 | |
67 T_UL_RESSOURCE_ALLOC *ul_tbf_alloc; | |
68 T_DL_RESSOURCE_ALLOC dl_tbf_alloc; | |
69 | |
70 BOOL interf_meas_enable; | |
71 UWORD8 ts_override; | |
72 BOOL pc_meas_chan; | |
73 } | |
74 T_TRANSFER_SET; | |
75 | |
76 | |
77 typedef struct | |
78 { | |
79 UWORD8 ta_update_cmd; | |
80 UWORD8 assignment_id; | |
81 UWORD16 radio_freq; | |
82 UWORD8 activity; | |
83 BOOL request_dl; | |
84 T_PACKET_TA packet_ta; | |
85 } | |
86 T_PTCCH_PARAM; | |
87 | |
88 typedef struct | |
89 { | |
90 UWORD8 tbf_release_cmd; | |
91 UWORD8 released_tbf; | |
92 } | |
93 T_TBF_RELEASE_PARAM; | |
94 | |
95 typedef struct | |
96 { | |
97 UWORD8 pdch_release_cmd; | |
98 UWORD8 timeslot_available; | |
99 UWORD8 assignment_id; | |
100 } | |
101 T_PDCH_RELEASE_PARAM; | |
102 | |
103 typedef struct | |
104 { | |
105 UWORD8 assignment_id; | |
106 UWORD8 txpwr[8]; | |
107 BOOL crc_error; | |
108 WORD8 bcch_level; | |
109 UWORD16 radio_freq_tbl[4]; | |
110 WORD8 burst_level[4]; | |
111 } | |
112 T_DL_PWR_CTRL; | |
113 | |
114 typedef struct | |
115 { | |
116 UWORD8 psi_param_update_cmd; | |
117 UWORD8 Scell_pb; | |
118 UWORD8 access_burst_type; | |
119 } | |
120 T_PSI_PARAM_UPDATE; | |
121 | |
122 typedef struct | |
123 { | |
124 BOOL semaphore; | |
125 | |
126 T_TRANSFER_SET *aset; | |
127 T_TRANSFER_SET *fset[2]; | |
128 T_TRANSFER_SET set[3]; | |
129 | |
130 T_UL_RESSOURCE_ALLOC ul_tbf_alloc[3]; | |
131 | |
132 T_SINGLE_BLOCK single_block; | |
133 | |
134 T_PTCCH_PARAM ptcch; | |
135 T_TBF_RELEASE_PARAM tbf_release_param; | |
136 T_PDCH_RELEASE_PARAM pdch_release_param; | |
137 T_MPHP_REPEAT_UL_FIXED_ALLOC_REQ repeat_alloc; | |
138 T_PSI_PARAM_UPDATE psi_param; | |
139 | |
140 T_DL_PWR_CTRL dl_pwr_ctrl; | |
141 } | |
142 T_TRANSFER_PARAM; | |
143 | |
144 /***************************************************************************************/ | |
145 /* L1S packet global variable structure... */ | |
146 /***************************************************************************************/ | |
147 | |
148 typedef struct | |
149 { | |
150 BOOL new_set; | |
151 UWORD8 assignment_id; | |
152 UWORD8 allocated_tbf; | |
153 UWORD8 dl_tfi; | |
154 UWORD8 ul_tfi; | |
155 T_DL_POWER_CTL dl_pwr_ctl; | |
156 BOOL pc_meas_chan; | |
157 UWORD16 radio_freq_for_lna; | |
158 } T_READ_PARAM; | |
159 | |
160 typedef struct | |
161 { | |
162 UWORD8 ILmin_beacon; | |
163 UWORD8 ILmin_others[8]; | |
164 | |
165 // No power control AGC algorithm variables | |
166 UWORD32 fn_select; | |
167 BOOL phase; | |
168 | |
169 // Downlink power control mode B variables | |
170 UWORD8 last_PR_good; | |
171 | |
172 // TBF Parameters used during the PDTCH read phase | |
173 T_READ_PARAM read_param; | |
174 | |
175 // Flag used to know if the pc_meas_chan measurement has been controlled | |
176 BOOL pc_meas_chan_ctrl; | |
177 } | |
178 T_L1PS_GLOBAL; | |
179 | |
180 /***********************************************************/ | |
181 /* L1PA global variable structure... */ | |
182 /***********************************************************/ | |
183 typedef struct | |
184 { | |
185 // State for L1A state machines... | |
186 //----------------------------------------- | |
187 UWORD8 state[NBR_L1PA_PROCESSES]; | |
188 | |
189 // Measurement tasks management... | |
190 //----------------------------------------- | |
191 UWORD32 l1pa_en_meas[NBR_L1PA_PROCESSES]; | |
192 } | |
193 T_L1PA_GLOBAL; | |
194 | |
195 | |
196 /*************************************************************/ | |
197 /* Packet Idle mode tasks information... */ | |
198 /*************************************************************/ | |
199 /* must be filled according to Packet Idle parameters... */ | |
200 /* ... */ | |
201 /*************************************************************/ | |
202 // Packet Idle Parameter description | |
203 typedef struct | |
204 { | |
205 UWORD16 radio_freq; | |
206 UWORD16 radio_freq_d; | |
207 UWORD16 radio_freq_dd; | |
208 } | |
209 T_P_IDLE_PARAM; | |
210 | |
211 // Packet Paging description | |
212 typedef struct | |
213 { | |
214 // -------- Packet Paging description -------------- | |
215 UWORD8 bs_pag_blks_res; // BS_PAG_BLKS_RES parameter (cf. S921 specification) | |
216 UWORD8 bs_pbcch_blks; // BS_PBCCH_BLKS parameter (cf. S921 specification) | |
217 T_PACKET_CHANNEL_DESC packet_chn_desc; // Packet Channel Description: arfcn/Hopping description + TN + TSC | |
218 T_MOBILE_ALLOCATION frequency_list; // Mobile allocation description | |
219 UWORD8 nb_ppch_per_mf52;// Number of Packet PCCH per MF52 | |
220 UWORD16 first_pg_grp; // First Paging Group index | |
221 UWORD16 pg_blks_avail; // Number of Paging blocks available per MF52 | |
222 UWORD16 pg_offset; // (IMSI mo 1000) div (KC*N) (Note N = 1 for PCCCH) | |
223 UWORD16 split_pg_value; // Min(pg_blks_avail, split_pg_cycle) | |
224 | |
225 //-- | |
226 BOOL epg_computation; // Packet Paging STATE used in Extended Paging scheduling | |
227 UWORD16 pnp_period; // Paging Period = (52*64)/split_pg_value | |
228 WORD16 time_to_pnp; // Time to next PPCH block position. | |
229 } | |
230 T_PCCCH_PARAM; | |
231 | |
232 typedef struct | |
233 { | |
234 BOOL change_synchro; | |
235 BOOL control_offset; | |
236 BOOL read_all_psi; | |
237 | |
238 UWORD8 nbr_psi; | |
239 UWORD8 bs_pbcch_blks; | |
240 UWORD8 psi1_repeat_period; | |
241 UWORD8 relative_position_array[20]; // Array for Relative position | |
242 UWORD16 offset_array[20]; // Array of offset computed from relative position | |
243 T_PACKET_CHANNEL_DESC packet_chn_desc; // Packet Channel Description: arfcn/Hopping description + TN + TSC | |
244 T_MOBILE_ALLOCATION frequency_list; // Mobile allocation description | |
245 UWORD8 rel_pos_to_report; // Relative Position of the PBCCH block read and to | |
246 // to report to L3. | |
247 UWORD16 pbcch_period; // PBCCH period = MFL52 * psi1_repaet_period; | |
248 UWORD8 tn_pbcch; // Time slot number relative for DSP point of view. | |
249 } | |
250 T_PBCCHS_PARAM; | |
251 | |
252 typedef struct | |
253 { | |
254 BOOL change_synchro; | |
255 | |
256 UWORD8 pb; | |
257 UWORD8 bs_pbcch_blks; | |
258 UWORD8 psi1_repeat_period; | |
259 UWORD8 relative_position; // for Relative position | |
260 UWORD16 offset; // offset computed from relative position | |
261 T_PACKET_CHANNEL_DESC packet_chn_desc; // Packet Channel Description: arfcn/Hopping description + TN + TSC | |
262 T_MOBILE_ALLOCATION frequency_list; // Mobile allocation description | |
263 UWORD16 pbcch_period; // PBCCH period = MFL52 * psi1_repaet_period; | |
264 UWORD16 bcch_carrier; // beacon of the neighbor cell (used by the DSP) | |
265 WORD32 fn_offset; | |
266 WORD32 time_alignmt; | |
267 } | |
268 T_PBCCHN_PARAM; | |
269 | |
270 typedef struct | |
271 { | |
272 BOOL dsp_r_page_switch_req; // If true, the dsp_r_page must be toggled in the interference measurement read | |
273 UWORD8 multislot_class; // Mobile multislot class | |
274 UWORD8 meas_bitmap; // Timeslots on which the interference measurements are done | |
275 UWORD8 position; // Position on which measurements must be done (search or ptcch frame) | |
276 UWORD8 idle_tn_rx; // Timeslot bitmap in packet idle with PCCCH on the frame before | |
277 UWORD8 idle_tn_no_rx; // Timeslot bitmap in packet idle without PCCCH on the frame before | |
278 UWORD16 radio_freq; // Radio freq. processed by l1s_hopping_algo() | |
279 T_PACKET_FREQ_PARAM packet_intm_freq_param; // Frequency parameters | |
280 } | |
281 T_ITMEAS_PARAM; | |
282 | |
283 typedef struct | |
284 { | |
285 UWORD32 fn; // Absolute FN reported during the last measurement session | |
286 UWORD8 rxlev[8]; // Buffer used to save the parameters reported to L3 | |
287 UWORD8 meas_bitmap; // Interf meas bitmap. | |
288 UWORD8 id; // Id. | |
289 } T_L1A_INT_MEAS_PARAM; | |
290 | |
291 typedef struct | |
292 { | |
293 UWORD8 lna; // Input level result | |
294 UWORD8 il; // LNA parameter | |
295 } | |
296 T_IL_LNA; | |
297 | |
298 typedef struct | |
299 { | |
300 UWORD8 next_to_ctrl; // Carrier for next power measurement result. | |
301 UWORD8 next_to_read; // Next carrier to measure. | |
302 | |
303 UWORD8 pnp_ctrl; // Specify to l1s_meas_manager() that a PPCH burst has been ctrl. | |
304 | |
305 UWORD8 ms_ctrl; | |
306 UWORD8 ms_ctrl_d; | |
307 UWORD8 ms_ctrl_dd; | |
308 | |
309 T_IL_LNA used_il_lna[NB_MEAS_MAX_GPRS]; | |
310 T_IL_LNA used_il_lna_d[NB_MEAS_MAX_GPRS]; | |
311 T_IL_LNA used_il_lna_dd[NB_MEAS_MAX_GPRS]; | |
312 } | |
313 T_CR_FREQ_LIST; | |
314 | |
315 typedef struct | |
316 { | |
317 UWORD8 nb_carrier; | |
318 UWORD16 freq_list[32+1]; | |
319 UWORD8 list_id; | |
320 } T_CRES_LIST_PARAM; | |
321 | |
322 typedef struct | |
323 { | |
324 T_CRES_LIST_PARAM *alist; | |
325 T_CRES_LIST_PARAM *flist; | |
326 T_CRES_LIST_PARAM list[2]; | |
327 } T_CRES_FREQ_LIST; | |
328 | |
329 typedef struct | |
330 { | |
331 UWORD8 tcr_next_to_ctrl; | |
332 UWORD8 tcr_next_to_read; | |
333 UWORD8 last_stored_tcr_to_read; | |
334 | |
335 UWORD8 ms_ctrl; | |
336 UWORD8 ms_ctrl_d; | |
337 UWORD8 ms_ctrl_dd; | |
338 | |
339 BOOL first_pass_flag; | |
340 | |
341 T_IL_LNA used_il_lna; | |
342 T_IL_LNA used_il_lna_d; | |
343 T_IL_LNA used_il_lna_dd; | |
344 | |
345 BOOL new_list_present; | |
346 | |
347 WORD8 beacon_meas; | |
348 | |
349 WORD8 fn_report; | |
350 UWORD8 cres_meas_report; | |
351 | |
352 } T_TCR_LIST_SET; | |
353 | |
354 /***************************************************************************************/ | |
355 /* L1A <-> L1S communication structure dedicated to packet mode */ | |
356 /***************************************************************************************/ | |
357 typedef struct | |
358 { | |
359 // Packet Idle Parameters | |
360 | |
361 // PCCCH parameters | |
362 T_PCCCH_PARAM pccch; | |
363 | |
364 //-- | |
365 T_P_IDLE_PARAM p_idle_param; // Packet Idle Parameters description | |
366 | |
367 // Packet Access Parameters | |
368 T_PRACH_INFO pra_info; | |
369 | |
370 // Packet Access Parameters | |
371 T_POLL_INFO poll_info; | |
372 | |
373 // Packet Transfer Parameters | |
374 T_TRANSFER_PARAM transfer; | |
375 | |
376 // Serving Cell PBCCH parameters | |
377 T_PBCCHS_PARAM pbcchs; | |
378 | |
379 // Neigbour Cell PBCCH parameters | |
380 T_PBCCHN_PARAM pbcchn; | |
381 | |
382 // Interference measurement parameters | |
383 T_ITMEAS_PARAM itmeas; | |
384 | |
385 // Measurement tasks management... | |
386 //----------------------------------------- | |
387 UWORD32 meas_param; // Synchro semaphore bit register for packet measurement tasks. | |
388 UWORD32 l1ps_en_meas; // Enable packet Meas task bit register. | |
389 | |
390 // Access burst type | |
391 //------------------ | |
392 UWORD8 access_burst_type; | |
393 | |
394 // Frequency list Parameters used in Cell Reselection measurements | |
395 // --------------------------------------------------------------- | |
396 T_CR_FREQ_LIST cr_freq_list; | |
397 | |
398 // Parameters used in Packet Transfer Neighbour measurement task | |
399 // ------------------------------------------------------------- | |
400 T_TCR_LIST_SET tcr_freq_list; | |
401 | |
402 // Cell Reselection list, used both in Packet Idle and Packet Transfer | |
403 // ------------------------------------------------------------------- | |
404 T_CRES_FREQ_LIST cres_freq_list; | |
405 | |
406 } T_L1PA_L1PS_COM; | |
407 | |
408 | |
409 /***************************************************************************************/ | |
410 /* API (MCU <-> DSP) communication structures */ | |
411 /***************************************************************************************/ | |
412 | |
413 typedef struct | |
414 { | |
415 // GPRS Extension............... | |
416 API d_task_d_gprs; // (map?) Task, burst per burst (part of header) | |
417 API d_task_u_gprs; // (map?) Task, burst per burst (part of header) | |
418 API d_task_pm_gprs; // (map?) Task, burst per burst (part of header) | |
419 API d_burst_nb_gprs; // (map?) burst identifier. (part of header) | |
420 API a_ctrl_abb_gprs[8]; // (map?) Analog baseband control, burst per burst. | |
421 API a_ctrl_power_gprs[8]; // (map?) Power control value, burst per burst. | |
422 } | |
423 T_DB_MCU_TO_DSP_GPRS; | |
424 | |
425 typedef struct | |
426 { | |
427 // GPRS Extension............... | |
428 API d_task_d_gprs; // (map?) Task, burst per burst (part of header) | |
429 API d_task_u_gprs; // (map?) Task, burst per burst (part of header) | |
430 API d_task_pm_gprs; // (map?) Task, burst per burst (part of header) | |
431 API d_burst_nb_gprs; // (map?) burst identifier. (part of header) | |
432 | |
433 API a_burst_toa_gprs[8]; // (map?) Time of arrival, burst per burst | |
434 API a_burst_pm_gprs[8]; // (map?) Receive Power Level, burst per burst | |
435 API a_burst_angle_gprs[8];// (map?) Angle deviation, burst per burst | |
436 API a_burst_snr_gprs[8]; // (map?) Signal to noise ratio, burst per burst | |
437 } | |
438 T_DB_DSP_TO_MCU_GPRS; | |
439 | |
440 #if (DSP == 34) || (DSP == 35) || (DSP == 36) | |
441 typedef struct | |
442 { | |
443 // GEA module | |
444 API d_gea_mode; | |
445 API a_gea_kc[4]; | |
446 | |
447 API d_hole1_ndb_gprs[8]; | |
448 API d_a5mode_ovly; | |
449 | |
450 API d_sched_mode_gprs; | |
451 | |
452 API d_hole2_ndb_gprs[5]; | |
453 | |
454 API d_usf_updated_gprs; | |
455 API d_win_start_gprs; | |
456 API d_usf_vote_enable; | |
457 API d_bbctrl_gprs; | |
458 | |
459 API d_hole3_ndb_gprs[2]; | |
460 | |
461 // (map?) BTS physical timeslot mapping. | |
462 API a_ctrl_ched_gprs[8]; // (map?) Ched configuration, burst per burst | |
463 API a_ul_buffer_gprs[8]; // (map?) UL burst / UL buffer mapping, burst per burst. (part of header) | |
464 API a_usf_gprs[8]; | |
465 API a_interf_meas_gprs[8]; | |
466 | |
467 API a_ptcchu_gprs[4]; | |
468 | |
469 API a_dd_md_gprs[16]; | |
470 | |
471 API a_du_gprs[4][29]; | |
472 API a_pu_gprs[4][15]; | |
473 | |
474 API d_rlcmac_rx_no_gprs; | |
475 | |
476 API a_dd_gprs[8][31]; | |
477 | |
478 API a_ramp_gprs[8][16]; | |
479 | |
480 } | |
481 T_NDB_MCU_DSP_GPRS; | |
482 | |
483 #elif (DSP == 33) | |
484 typedef struct | |
485 { | |
486 // GEA module | |
487 API d_gea_mode; | |
488 API a_gea_kc[4]; | |
489 | |
490 API d_hole1_ndb_gprs[8]; | |
491 API d_a5mode_ovly; | |
492 | |
493 API d_sched_mode_gprs; | |
494 | |
495 API d_hole2_ndb_gprs[5]; | |
496 | |
497 API d_usf_updated_gprs; | |
498 API d_win_start_gprs; | |
499 API d_usf_vote_enable; | |
500 API d_bbctrl_gprs; | |
501 | |
502 API d_hole3_ndb_gprs[2]; | |
503 | |
504 // (map?) BTS physical timeslot mapping. | |
505 API a_ctrl_ched_gprs[8]; // (map?) Ched configuration, burst per burst | |
506 API a_ul_buffer_gprs[8]; // (map?) UL burst / UL buffer mapping, burst per burst. (part of header) | |
507 API a_usf_gprs[8]; | |
508 API a_interf_meas_gprs[8]; | |
509 | |
510 API a_ptcchu_gprs[4]; | |
511 | |
512 API a_dd_md_gprs[16]; | |
513 | |
514 API a_du_gprs[4][29]; | |
515 API a_pu_gprs[4][15]; | |
516 | |
517 API d_rlcmac_rx_no_gprs; | |
518 | |
519 API a_dd_gprs[8][31]; | |
520 | |
521 API a_ramp_gprs[8][16]; | |
522 | |
523 } | |
524 T_NDB_MCU_DSP_GPRS; | |
525 | |
526 #else | |
527 | |
528 typedef struct | |
529 { | |
530 // GPRS Extension............... | |
531 API a_ramp_gprs[8][16]; | |
532 | |
533 #if (CODE_VERSION != SIMULATION) | |
534 API a_hole1_gprs[22]; // hole for a_du_1 and d_a5_mode | |
535 #endif | |
536 | |
537 API d_ptcchu_ctrl_abb_gprs; | |
538 API d_ptcchu_ctrl_power_gprs; | |
539 API d_ptcchd_burst_nb_gprs; | |
540 | |
541 #if (CODE_VERSION != SIMULATION) | |
542 API a_hole2_gprs[184]; | |
543 #endif | |
544 | |
545 API d_usf_updated_gprs; | |
546 API d_win_start_gprs; // (map?) BTS physical timeslot mapping. | |
547 API a_ctrl_ched_gprs[8]; // (map?) Ched configuration, burst per burst | |
548 API a_ul_buffer_gprs[8]; // (map?) UL burst / UL buffer mapping, burst per burst. (part of header) | |
549 API a_usf_gprs[8]; | |
550 API a_interf_meas_gprs[8]; | |
551 | |
552 API d_background_enable; | |
553 API d_background_abort; | |
554 API d_background_state; | |
555 API d_max_background; | |
556 API a_background_tasks[16]; | |
557 API a_back_task_io[10]; | |
558 | |
559 #if (CODE_VERSION != SIMULATION) | |
560 API a_hole3_gprs[19]; | |
561 #endif | |
562 API d_gea_mode; | |
563 | |
564 API a_gea_kc[4]; | |
565 | |
566 API d_sched_mode_gprs; | |
567 | |
568 #if (CODE_VERSION != SIMULATION) | |
569 API a_hole4_gprs[384]; | |
570 #endif | |
571 | |
572 API a_du_gprs[4][29]; | |
573 API d_rlcmac_rx_no_gprs; | |
574 API a_dd_gprs[4][31]; | |
575 API a_pu_gprs[4][15]; | |
576 | |
577 #if (CODE_VERSION != SIMULATION) | |
578 API a_hole5_gprs[112]; | |
579 #endif | |
580 | |
581 API a_ptcchu_gprs[4]; | |
582 API a_dd_md_gprs[16]; | |
583 } | |
584 T_NDB_MCU_DSP_GPRS; | |
585 #endif | |
586 | |
587 #if (DSP == 34) || (DSP == 35) || (DSP == 36) | |
588 typedef struct | |
589 { | |
590 // GPRS Extension............... | |
591 API_SIGNED d_overlay_rlcmac_cfg_gprs; | |
592 API_SIGNED d_mac_threshold; | |
593 API_SIGNED d_sd_threshold; | |
594 API_SIGNED d_nb_max_iteration; | |
595 } | |
596 T_PARAM_MCU_DSP_GPRS; | |
597 #elif (DSP == 33) | |
598 typedef struct | |
599 { | |
600 // GPRS Extension............... | |
601 API_SIGNED d_overlay_rlcmac_cfg_gprs; | |
602 API_SIGNED d_mac_threshold; | |
603 API_SIGNED d_sd_threshold; | |
604 API_SIGNED d_nb_max_iteration; | |
605 } | |
606 T_PARAM_MCU_DSP_GPRS; | |
607 #else | |
608 typedef struct | |
609 { | |
610 // GPRS Extension............... | |
611 API_SIGNED d_overlay_rlcmac_cfg_gprs; | |
612 API_SIGNED d_lat_mcu_bridge; | |
613 API_SIGNED d_lat_pll2div; | |
614 API_SIGNED d_lat_mcu_hom2sam; | |
615 API_SIGNED d_gprs_install_address; | |
616 API_SIGNED d_mac_threshold; | |
617 API_SIGNED d_sd_threshold; | |
618 API_SIGNED d_nb_max_iteration; | |
619 } | |
620 T_PARAM_MCU_DSP_GPRS; | |
621 #endif | |
622 | |
623 /***************************************************************************************/ | |
624 /* L1PS -> DSP communication structure... */ | |
625 /***************************************************************************************/ | |
626 typedef struct | |
627 { | |
628 T_DB_DSP_TO_MCU_GPRS *pdsp_db_r_ptr; // MCU<->DSP comm. read page (Double Buffered comm. memory). | |
629 T_DB_MCU_TO_DSP_GPRS *pdsp_db_w_ptr; // MCU<->DSP comm. write page (Double Buffered comm. memory). | |
630 T_NDB_MCU_DSP_GPRS *pdsp_ndb_ptr; // MCU<->DSP comm. read/write (Non Double Buffered comm. memory). | |
631 T_PARAM_MCU_DSP_GPRS *pdsp_param_ptr; // MCU<->DSP comm. read/write (Param comm. memory). | |
632 } | |
633 T_L1PS_DSP_COM; | |
634 | |
635 /***************************************************************************************/ | |
636 /* L1PS -> MAC-S communication structure... */ | |
637 /***************************************************************************************/ | |
638 | |
639 typedef struct | |
640 { | |
641 UWORD8 nb; // Number of error found | |
642 UWORD8 id[10]; // Error ID | |
643 } | |
644 T_MACS_STATUS; | |
645 | |
646 typedef struct | |
647 { | |
648 BOOL new_set; // Set to 1 if allocation parameters have changed, reset by MAC-S | |
649 UWORD8 rx_allocation; // Downlink resources relative to Layer 1 frames | |
650 UWORD8 tx_nb_allocation; // Uplink resources used to transmit normal bursts relative to Layer 1 frames | |
651 UWORD8 tx_prach_allocation; // Uplink resources used to transmit PRACH bursts relative to Layer 1 frames | |
652 UWORD8 pwr_allocation; // Measurement gap relative to Layer 1 frames | |
653 BOOL fix_alloc_exhaust_flag; // Set to 1 if the fixed allocation has just exhausted | |
654 BOOL rlc_downlink_call; | |
655 T_MACS_STATUS macs_status; | |
656 } | |
657 T_L1PS_MACS_COM; | |
658 | |
659 | |
660 |