comparison L1/include/l1_msgty.h @ 3:f93dab57b032

L1/include: TCS211-based version restored
author Mychaela Falconia <falcon@freecalypso.org>
date Thu, 09 Jun 2016 00:45:00 +0000
parents 75a11d740a02
children
comparison
equal deleted inserted replaced
2:7c13c26f1aa4 3:f93dab57b032
1 /************* Revision Controle System Header ************* 1 /************* Revision Controle System Header *************
2 * GSM Layer 1 software 2 * GSM Layer 1 software
3 * L1_MSGTY.H 3 * L1_MSGTY.H
4 * 4 *
5 * Filename l1_msgty.h 5 * Filename l1_msgty.h
6 * Copyright 2003 (C) Texas Instruments 6 * Copyright 2003 (C) Texas Instruments
7 * 7 *
8 ************* Revision Controle System Header *************/ 8 ************* Revision Controle System Header *************/
9 9
10 10
11 11
25 /* Structure definition for L1S <-> DATA ADAPTOR data blocks */ 25 /* Structure definition for L1S <-> DATA ADAPTOR data blocks */
26 /* TCH/9.6 -> 30 bytes */ 26 /* TCH/9.6 -> 30 bytes */
27 /* TCH/4.8 -> 15 bytes */ 27 /* TCH/4.8 -> 15 bytes */
28 /* TCH/2.4 -> 9 bytes */ 28 /* TCH/2.4 -> 9 bytes */
29 /****************************************************************/ 29 /****************************************************************/
30 typedef struct 30 typedef struct
31 { 31 {
32 UWORD8 A[30]; 32 UWORD8 A[30];
33 } 33 }
34 T_DATA_FRAME; 34 T_DATA_FRAME;
35 35
36 /****************************************************************/ 36 /****************************************************************/
37 /* Structure definition for L1A <-> MMI messages */ 37 /* Structure definition for L1A <-> MMI messages */
38 /****************************************************************/ 38 /****************************************************************/
39 39
40 typedef struct 40 typedef struct
41 { 41 {
42 UWORD8 tx_flag; 42 UWORD8 tx_flag;
43 UWORD8 traffic_period; 43 UWORD8 traffic_period;
44 UWORD8 idle_period; 44 UWORD8 idle_period;
45 } 45 }
61 { 61 {
62 UWORD8 num_of_clock_cfg; // Dynamic clock configuration index 62 UWORD8 num_of_clock_cfg; // Dynamic clock configuration index
63 } 63 }
64 T_TST_HW_CONFIG_REQ; 64 T_TST_HW_CONFIG_REQ;
65 #endif // OP_L1_STANDALONE 65 #endif // OP_L1_STANDALONE
66
67 /* Message used for software dynamic configuration */
68 typedef struct
69 {
70 UWORD8 ids_enable; // activation of IDS module
71 T_FACCH_TEST_PARAMS facch_test;
72 }
73 T_TST_SW_CONFIG_REQ;
74 66
75 typedef struct 67 typedef struct
76 { 68 {
77 UWORD32 mf51_fn; 69 UWORD32 mf51_fn;
78 } 70 }
82 { 74 {
83 T_RXLEV_MEAS A[8]; 75 T_RXLEV_MEAS A[8];
84 UWORD8 nbr_of_carriers; 76 UWORD8 nbr_of_carriers;
85 WORD8 s_rxlev; 77 WORD8 s_rxlev;
86 UWORD8 ba_id; 78 UWORD8 ba_id;
87 //added for Enhanced RSSI
88 UWORD16 qual_acc_idle; // accumulated rxqual meas. on different channels in Idle mode.= error bits
89 UWORD32 qual_nbr_meas_idle; // accumulated rxqual meas. on different channels in Idle mode.= total number of bits decoded
90
91
92 } 79 }
93 T_MPHC_RXLEV_PERIODIC_IND; 80 T_MPHC_RXLEV_PERIODIC_IND;
94 81
95 typedef struct 82 typedef struct
96 { 83 {
121 UWORD8 bsic; // BSIC. 108 UWORD8 bsic; // BSIC.
122 UWORD16 si_bit_map; // System Info. bit map. 109 UWORD16 si_bit_map; // System Info. bit map.
123 } 110 }
124 T_MPHC_NCELL_BCCH_READ; 111 T_MPHC_NCELL_BCCH_READ;
125 112
126 typedef struct 113 typedef struct
127 { 114 {
128 UWORD32 fn; 115 UWORD32 fn;
129 UWORD8 channel_request; 116 UWORD8 channel_request;
130 } 117 }
131 T_MPHC_RA_CON; 118 T_MPHC_RA_CON;
143 UWORD8 ba_id; 130 UWORD8 ba_id;
144 BOOL pwrc; 131 BOOL pwrc;
145 } 132 }
146 T_MPHC_IMMED_ASSIGN_REQ; 133 T_MPHC_IMMED_ASSIGN_REQ;
147 134
148 typedef struct 135 typedef struct
149 { 136 {
150 T_CHANNEL_DESCRIPTION channel_desc_1; 137 T_CHANNEL_DESCRIPTION channel_desc_1;
151 UWORD8 channel_mode_1; 138 UWORD8 channel_mode_1;
152 UWORD8 txpwr; 139 UWORD8 txpwr;
153 T_MOBILE_ALLOCATION frequency_list; 140 T_MOBILE_ALLOCATION frequency_list;
154 T_STARTING_TIME starting_time; 141 T_STARTING_TIME starting_time;
155 T_CHANNEL_DESCRIPTION channel_desc_2; 142 T_CHANNEL_DESCRIPTION channel_desc_2;
156 UWORD8 channel_mode_2; 143 UWORD8 channel_mode_2;
157 T_MOBILE_ALLOCATION frequency_list_bef_sti; 144 T_MOBILE_ALLOCATION frequency_list_bef_sti;
158 T_CHANNEL_DESCRIPTION channel_desc_1_bef_sti; 145 T_CHANNEL_DESCRIPTION channel_desc_1_bef_sti;
159 T_CHANNEL_DESCRIPTION channel_desc_2_bef_sti; 146 T_CHANNEL_DESCRIPTION channel_desc_2_bef_sti;
160 UWORD8 cipher_mode; 147 UWORD8 cipher_mode;
161 UWORD8 a5_algorithm; 148 UWORD8 a5_algorithm;
162 T_ENCRYPTION_KEY cipher_key; 149 T_ENCRYPTION_KEY cipher_key;
163 BOOL dtx_allowed; 150 BOOL dtx_allowed;
164 #if (AMR == 1) 151 #if (AMR == 1)
165 T_AMR_CONFIGURATION amr_configuration; 152 T_AMR_CONFIGURATION amr_configuration;
166 #endif 153 #endif
167 } 154 }
168 T_MPHC_CHANNEL_ASSIGN_REQ; 155 T_MPHC_CHANNEL_ASSIGN_REQ;
169
170
171 typedef struct
172 {
173 UWORD8 cipher_mode;
174 UWORD8 a5_algorithm;
175 T_ENCRYPTION_KEY new_ciph_param;
176 }
177 T_MPHC_SET_CIPHERING_REQ;
178
179
180 typedef struct
181 {
182 T_CHANNEL_DESCRIPTION channel_desc;
183 T_MOBILE_ALLOCATION frequency_list;
184 T_STARTING_TIME starting_time;
185 }
186 T_MPHC_CHANGE_FREQUENCY;
187 156
188 157
189 typedef struct 158 typedef struct
190 { 159 {
191 UWORD8 txpwr; 160 UWORD8 txpwr;
192 UWORD8 rand; 161 UWORD8 rand;
193 UWORD8 channel_request; 162 UWORD8 channel_request;
194 #if (L1_FF_MULTIBAND == 0)
195 UWORD8 powerclass_band1; 163 UWORD8 powerclass_band1;
196 UWORD8 powerclass_band2; 164 UWORD8 powerclass_band2;
197 #endif
198 165
199 } 166 }
200 T_MPHC_RA_REQ; 167 T_MPHC_RA_REQ;
201 168
202 169
203 typedef struct 170 typedef struct
204 { 171 {
205 T_HO_PARAMS handover_command; 172 T_HO_PARAMS handover_command;
206 UWORD32 fn_offset; 173 UWORD32 fn_offset;
207 UWORD32 time_alignmt; 174 UWORD32 time_alignmt;
208 T_ENCRYPTION_KEY cipher_key; 175 T_ENCRYPTION_KEY cipher_key;
209 #if (AMR == 1) 176 #if (AMR == 1)
210 T_AMR_CONFIGURATION amr_configuration; 177 T_AMR_CONFIGURATION amr_configuration;
211 #endif // (AMR == 1)
212 #if ((REL99 == 1) && (FF_BHO == 1))
213 BOOL handover_type;
214 #endif 178 #endif
215 } 179 }
216 T_MPHC_ASYNC_HO_REQ; 180 T_MPHC_ASYNC_HO_REQ;
217 181
218 typedef struct 182 typedef struct
219 { 183 {
220 T_HO_PARAMS handover_command; 184 T_HO_PARAMS handover_command;
221 UWORD32 fn_offset; 185 UWORD32 fn_offset;
222 UWORD32 time_alignmt; 186 UWORD32 time_alignmt;
223 T_ENCRYPTION_KEY cipher_key; 187 T_ENCRYPTION_KEY cipher_key;
224 BOOL nci; 188 BOOL nci;
225 BOOL timing_advance_valid; 189 BOOL timing_advance_valid;
226 UWORD8 timing_advance; 190 UWORD8 timing_advance;
227 #if (AMR == 1) 191 #if (AMR == 1)
228 T_AMR_CONFIGURATION amr_configuration; 192 T_AMR_CONFIGURATION amr_configuration;
229 #endif 193 #endif
230 #if ((REL99 == 1) && (FF_BHO == 1)) 194 }
231 BOOL handover_type; 195 T_MPHC_PRE_SYNC_HO_REQ;
196
197 typedef struct
198 {
199 T_HO_PARAMS handover_command;
200 UWORD32 fn_offset;
201 UWORD32 time_alignmt;
202 T_ENCRYPTION_KEY cipher_key;
203 BOOL nci;
204 UWORD8 real_time_difference;
205 }
206 T_MPHC_PSEUDO_SYNC_HO_REQ;
207
208 typedef struct
209 {
210 T_HO_PARAMS handover_command;
211 UWORD32 fn_offset;
212 UWORD32 time_alignmt;
213 T_ENCRYPTION_KEY cipher_key;
214 BOOL nci;
215 #if (AMR == 1)
216 T_AMR_CONFIGURATION amr_configuration;
232 #endif 217 #endif
233 } 218 }
234 T_MPHC_PRE_SYNC_HO_REQ;
235
236 typedef struct
237 {
238 T_HO_PARAMS handover_command;
239 UWORD32 fn_offset;
240 UWORD32 time_alignmt;
241 T_ENCRYPTION_KEY cipher_key;
242 BOOL nci;
243 UWORD8 real_time_difference;
244 #if ((REL99 == 1) && (FF_BHO == 1))
245 BOOL handover_type;
246 #endif // #if ((REL99 == 1) && (FF_BHO == 1))
247 }
248 T_MPHC_PSEUDO_SYNC_HO_REQ;
249
250 typedef struct
251 {
252 T_HO_PARAMS handover_command;
253 UWORD32 fn_offset;
254 UWORD32 time_alignmt;
255 T_ENCRYPTION_KEY cipher_key;
256 BOOL nci;
257 #if (AMR == 1)
258 T_AMR_CONFIGURATION amr_configuration;
259 #endif
260 #if ((REL99 == 1) && (FF_BHO == 1))
261 BOOL handover_type;
262 #endif
263 }
264 T_MPHC_SYNC_HO_REQ; 219 T_MPHC_SYNC_HO_REQ;
265 220
266 typedef struct 221 typedef struct
267 { 222 {
268 UWORD8 cause; 223 UWORD8 cause;
269 #if ((REL99 == 1) && (FF_BHO == 1))
270 UWORD32 fn_offset;
271 UWORD32 time_alignment;
272 #endif
273 } 224 }
274 T_MPHC_HANDOVER_FINISHED; 225 T_MPHC_HANDOVER_FINISHED;
275 226
276 typedef struct 227 typedef struct
277 { 228 {
278 BOOL dtx_used; 229 BOOL dtx_used;
279 BOOL meas_valid; 230 BOOL meas_valid;
280 WORD16 rxlev_full_acc; 231 WORD16 rxlev_full_acc;
281 UWORD8 rxlev_full_nbr_meas; 232 UWORD8 rxlev_full_nbr_meas;
288 UWORD8 no_of_ncell_meas; 239 UWORD8 no_of_ncell_meas;
289 T5_NCELL_MEAS ncell_meas; 240 T5_NCELL_MEAS ncell_meas;
290 UWORD8 ba_id; 241 UWORD8 ba_id;
291 UWORD8 timing_advance; 242 UWORD8 timing_advance;
292 UWORD8 txpwr_used; 243 UWORD8 txpwr_used;
293 #if (REL99 == 1)
294 #if FF_EMR
295 WORD16 rxlev_val_acc;
296 UWORD8 rxlev_val_nbr_meas;
297 UWORD32 mean_bep_block_acc;
298 UWORD16 cv_bep_block_acc;
299 UWORD8 mean_bep_block_num;
300 UWORD8 cv_bep_block_num;
301 UWORD8 nbr_rcvd_blocks;
302 #endif
303 #endif
304 244
305 // RESERVED: for trace/debug only 245 // RESERVED: for trace/debug only
306 UWORD8 facch_dl_count; 246 UWORD8 facch_dl_count;
307 UWORD8 facch_ul_count; 247 UWORD8 facch_ul_count;
308 #if (FF_REPEATED_DL_FACCH == 1)
309 UWORD8 facch_dl_combined_good_count; /* No of good decoded blocks after combining */
310 UWORD8 facch_dl_repetition_block_count; /* Total of Dl block count */
311 #endif
312 } 248 }
313 T_MPHC_MEAS_REPORT; 249 T_MPHC_MEAS_REPORT;
314 250
315 typedef T_NEW_BA_LIST T_MPHC_UPDATE_BA_LIST; 251 typedef T_NEW_BA_LIST T_MPHC_UPDATE_BA_LIST;
316 252
317 253
318 typedef struct 254 typedef struct
319 { 255 {
320 UWORD8 bs_pa_mfrms; 256 UWORD8 bs_pa_mfrms;
321 UWORD8 bs_ag_blks_res; 257 UWORD8 bs_ag_blks_res;
322 BOOL bcch_combined; 258 BOOL bcch_combined;
323 UWORD8 ccch_group; 259 UWORD8 ccch_group;
339 275
340 typedef T_FULL_LIST_MEAS T_MPHC_RXLEV_REQ; 276 typedef T_FULL_LIST_MEAS T_MPHC_RXLEV_REQ;
341 typedef T_FULL_LIST_MEAS T_L1C_VALID_MEAS_INFO; 277 typedef T_FULL_LIST_MEAS T_L1C_VALID_MEAS_INFO;
342 typedef T_MPHC_RXLEV_PERIODIC_IND T_L1C_RXLEV_PERIODIC_DONE; 278 typedef T_MPHC_RXLEV_PERIODIC_IND T_L1C_RXLEV_PERIODIC_DONE;
343 279
344 #if (L1_FF_MULTIBAND == 0) 280
345 281
346 typedef struct 282 typedef struct
347 { 283 {
348 UWORD8 radio_band_config; // frequency band configuration: E-GSM, DCS, GSM/DCS, PCS 284 UWORD8 radio_band_config; // frequency band configuration: E-GSM, DCS, GSM/DCS, PCS
349 } 285 }
350 T_MPHC_INIT_L1_REQ; 286 T_MPHC_INIT_L1_REQ;
351
352 #else // For Multiband the Init request is just a dummy and init confirm contains info
353
354 typedef struct
355 {
356 T_L1_MULTIBAND_POWER_CLASS multiband_power_class[NB_MAX_GSM_BANDS];
357 }
358 T_MPHC_INIT_L1_CON;
359
360 #endif // L1_FF_MULTIBAND == 0
361 287
362 /****************************************************************/ 288 /****************************************************************/
363 /* Structure definition for Test <-> L1A messages */ 289 /* Structure definition for Test <-> L1A messages */
364 /****************************************************************/ 290 /****************************************************************/
365 291
366 typedef struct 292 typedef struct
367 { 293 {
368 UWORD16 dsp_code_version; 294 UWORD16 dsp_code_version;
369 UWORD16 dsp_checksum; 295 UWORD16 dsp_checksum;
370 UWORD16 dsp_patch_version; 296 UWORD16 dsp_patch_version;
371 UWORD16 mcu_tcs_program_release; 297 UWORD16 mcu_tcs_program_release;
372 UWORD16 mcu_tcs_official; 298 UWORD16 mcu_tcs_official;
373 UWORD16 mcu_tcs_internal; 299 UWORD16 mcu_tcs_internal;
649 UWORD32 snr; 575 UWORD32 snr;
650 UWORD16 radio_freq; 576 UWORD16 radio_freq;
651 } 577 }
652 T_L1C_FB_INFO; 578 T_L1C_FB_INFO;
653 579
654 #if ((REL99 == 1) && (FF_BHO == 1))
655 typedef struct
656 {
657 BOOL fb_flag;
658 BOOL sb_flag;
659 UWORD8 bsic;
660 UWORD32 fn_offset;
661 UWORD32 time_alignmt;
662 UWORD32 pm;
663 UWORD32 toa;
664 UWORD32 angle;
665 UWORD32 snr;
666 }
667 T_L1C_FBSB_INFO;
668 #endif
669
670 typedef struct 580 typedef struct
671 { 581 {
672 WORD8 radio_freq_array_size; 582 WORD8 radio_freq_array_size;
673 #if (L1_12NEIGH ==1) 583 #if (L1_12NEIGH ==1)
674 UWORD16 radio_freq_array[NBR_NEIGHBOURS]; 584 UWORD16 radio_freq_array[NBR_NEIGHBOURS];
732 UWORD8 std; 642 UWORD8 std;
733 UWORD8 swap_iq_band1; 643 UWORD8 swap_iq_band1;
734 UWORD8 swap_iq_band2; 644 UWORD8 swap_iq_band2;
735 UWORD8 pwr_mngt; 645 UWORD8 pwr_mngt;
736 UWORD8 tx_pwr_code; 646 UWORD8 tx_pwr_code;
737 #if IDS
738 UWORD8 ids_enable;
739 #endif
740 T_FACCH_TEST_PARAMS facch_test;
741 UWORD16 dwnld; 647 UWORD16 dwnld;
742 UWORD8 pwr_mngt_mode_authorized; 648 UWORD8 pwr_mngt_mode_authorized;
743 UWORD32 pwr_mngt_clocks; 649 UWORD32 pwr_mngt_clocks;
744 } 650 }
745 T_MMI_L1_CONFIG; 651 T_MMI_L1_CONFIG;