FreeCalypso > hg > freecalypso-citrine
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; |