FreeCalypso > hg > freecalypso-sw
comparison gsm-fw/L1/include/l1_msgty.h @ 530:25a7fe25864c
gsm-fw/L1/include: switch to LoCosto versions of all header files
author | Michael Spacefalcon <msokolov@ivan.Harhan.ORG> |
---|---|
date | Fri, 01 Aug 2014 16:38:35 +0000 |
parents | afceeeb2cba1 |
children | c87f2e4dc391 |
comparison
equal
deleted
inserted
replaced
529:f72c9db5e2f5 | 530:25a7fe25864c |
---|---|
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 } |
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 | 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 | |
67 typedef struct | 75 typedef struct |
68 { | 76 { |
69 UWORD32 mf51_fn; | 77 UWORD32 mf51_fn; |
70 } | 78 } |
71 T_MPHC_START_CBCH_READING; | 79 T_MPHC_START_CBCH_READING; |
74 { | 82 { |
75 T_RXLEV_MEAS A[8]; | 83 T_RXLEV_MEAS A[8]; |
76 UWORD8 nbr_of_carriers; | 84 UWORD8 nbr_of_carriers; |
77 WORD8 s_rxlev; | 85 WORD8 s_rxlev; |
78 UWORD8 ba_id; | 86 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 | |
79 } | 92 } |
80 T_MPHC_RXLEV_PERIODIC_IND; | 93 T_MPHC_RXLEV_PERIODIC_IND; |
81 | 94 |
82 typedef struct | 95 typedef struct |
83 { | 96 { |
108 UWORD8 bsic; // BSIC. | 121 UWORD8 bsic; // BSIC. |
109 UWORD16 si_bit_map; // System Info. bit map. | 122 UWORD16 si_bit_map; // System Info. bit map. |
110 } | 123 } |
111 T_MPHC_NCELL_BCCH_READ; | 124 T_MPHC_NCELL_BCCH_READ; |
112 | 125 |
113 typedef struct | 126 typedef struct |
114 { | 127 { |
115 UWORD32 fn; | 128 UWORD32 fn; |
116 UWORD8 channel_request; | 129 UWORD8 channel_request; |
117 } | 130 } |
118 T_MPHC_RA_CON; | 131 T_MPHC_RA_CON; |
130 UWORD8 ba_id; | 143 UWORD8 ba_id; |
131 BOOL pwrc; | 144 BOOL pwrc; |
132 } | 145 } |
133 T_MPHC_IMMED_ASSIGN_REQ; | 146 T_MPHC_IMMED_ASSIGN_REQ; |
134 | 147 |
135 typedef struct | 148 typedef struct |
136 { | 149 { |
137 T_CHANNEL_DESCRIPTION channel_desc_1; | 150 T_CHANNEL_DESCRIPTION channel_desc_1; |
138 UWORD8 channel_mode_1; | 151 UWORD8 channel_mode_1; |
139 UWORD8 txpwr; | 152 UWORD8 txpwr; |
140 T_MOBILE_ALLOCATION frequency_list; | 153 T_MOBILE_ALLOCATION frequency_list; |
141 T_STARTING_TIME starting_time; | 154 T_STARTING_TIME starting_time; |
142 T_CHANNEL_DESCRIPTION channel_desc_2; | 155 T_CHANNEL_DESCRIPTION channel_desc_2; |
143 UWORD8 channel_mode_2; | 156 UWORD8 channel_mode_2; |
144 T_MOBILE_ALLOCATION frequency_list_bef_sti; | 157 T_MOBILE_ALLOCATION frequency_list_bef_sti; |
145 T_CHANNEL_DESCRIPTION channel_desc_1_bef_sti; | 158 T_CHANNEL_DESCRIPTION channel_desc_1_bef_sti; |
146 T_CHANNEL_DESCRIPTION channel_desc_2_bef_sti; | 159 T_CHANNEL_DESCRIPTION channel_desc_2_bef_sti; |
147 UWORD8 cipher_mode; | 160 UWORD8 cipher_mode; |
148 UWORD8 a5_algorithm; | 161 UWORD8 a5_algorithm; |
149 T_ENCRYPTION_KEY cipher_key; | 162 T_ENCRYPTION_KEY cipher_key; |
150 BOOL dtx_allowed; | 163 BOOL dtx_allowed; |
151 #if (AMR == 1) | 164 #if (AMR == 1) |
152 T_AMR_CONFIGURATION amr_configuration; | 165 T_AMR_CONFIGURATION amr_configuration; |
153 #endif | 166 #endif |
154 } | 167 } |
155 T_MPHC_CHANNEL_ASSIGN_REQ; | 168 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; | |
156 | 187 |
157 | 188 |
158 typedef struct | 189 typedef struct |
159 { | 190 { |
160 UWORD8 txpwr; | 191 UWORD8 txpwr; |
161 UWORD8 rand; | 192 UWORD8 rand; |
162 UWORD8 channel_request; | 193 UWORD8 channel_request; |
194 #if (L1_FF_MULTIBAND == 0) | |
163 UWORD8 powerclass_band1; | 195 UWORD8 powerclass_band1; |
164 UWORD8 powerclass_band2; | 196 UWORD8 powerclass_band2; |
197 #endif | |
165 | 198 |
166 } | 199 } |
167 T_MPHC_RA_REQ; | 200 T_MPHC_RA_REQ; |
168 | 201 |
169 | 202 |
170 typedef struct | 203 typedef struct |
171 { | 204 { |
172 T_HO_PARAMS handover_command; | 205 T_HO_PARAMS handover_command; |
173 UWORD32 fn_offset; | 206 UWORD32 fn_offset; |
174 UWORD32 time_alignmt; | 207 UWORD32 time_alignmt; |
175 T_ENCRYPTION_KEY cipher_key; | 208 T_ENCRYPTION_KEY cipher_key; |
176 #if (AMR == 1) | 209 #if (AMR == 1) |
177 T_AMR_CONFIGURATION amr_configuration; | 210 T_AMR_CONFIGURATION amr_configuration; |
211 #endif // (AMR == 1) | |
212 #if ((REL99 == 1) && (FF_BHO == 1)) | |
213 BOOL handover_type; | |
178 #endif | 214 #endif |
179 } | 215 } |
180 T_MPHC_ASYNC_HO_REQ; | 216 T_MPHC_ASYNC_HO_REQ; |
181 | 217 |
182 typedef struct | 218 typedef struct |
183 { | 219 { |
184 T_HO_PARAMS handover_command; | 220 T_HO_PARAMS handover_command; |
185 UWORD32 fn_offset; | 221 UWORD32 fn_offset; |
186 UWORD32 time_alignmt; | 222 UWORD32 time_alignmt; |
187 T_ENCRYPTION_KEY cipher_key; | 223 T_ENCRYPTION_KEY cipher_key; |
188 BOOL nci; | 224 BOOL nci; |
189 BOOL timing_advance_valid; | 225 BOOL timing_advance_valid; |
190 UWORD8 timing_advance; | 226 UWORD8 timing_advance; |
191 #if (AMR == 1) | 227 #if (AMR == 1) |
192 T_AMR_CONFIGURATION amr_configuration; | 228 T_AMR_CONFIGURATION amr_configuration; |
229 #endif | |
230 #if ((REL99 == 1) && (FF_BHO == 1)) | |
231 BOOL handover_type; | |
193 #endif | 232 #endif |
194 } | 233 } |
195 T_MPHC_PRE_SYNC_HO_REQ; | 234 T_MPHC_PRE_SYNC_HO_REQ; |
196 | 235 |
197 typedef struct | 236 typedef struct |
198 { | 237 { |
199 T_HO_PARAMS handover_command; | 238 T_HO_PARAMS handover_command; |
200 UWORD32 fn_offset; | 239 UWORD32 fn_offset; |
201 UWORD32 time_alignmt; | 240 UWORD32 time_alignmt; |
202 T_ENCRYPTION_KEY cipher_key; | 241 T_ENCRYPTION_KEY cipher_key; |
203 BOOL nci; | 242 BOOL nci; |
204 UWORD8 real_time_difference; | 243 UWORD8 real_time_difference; |
205 } | 244 #if ((REL99 == 1) && (FF_BHO == 1)) |
245 BOOL handover_type; | |
246 #endif // #if ((REL99 == 1) && (FF_BHO == 1)) | |
247 } | |
206 T_MPHC_PSEUDO_SYNC_HO_REQ; | 248 T_MPHC_PSEUDO_SYNC_HO_REQ; |
207 | 249 |
208 typedef struct | 250 typedef struct |
209 { | 251 { |
210 T_HO_PARAMS handover_command; | 252 T_HO_PARAMS handover_command; |
211 UWORD32 fn_offset; | 253 UWORD32 fn_offset; |
212 UWORD32 time_alignmt; | 254 UWORD32 time_alignmt; |
213 T_ENCRYPTION_KEY cipher_key; | 255 T_ENCRYPTION_KEY cipher_key; |
214 BOOL nci; | 256 BOOL nci; |
215 #if (AMR == 1) | 257 #if (AMR == 1) |
216 T_AMR_CONFIGURATION amr_configuration; | 258 T_AMR_CONFIGURATION amr_configuration; |
259 #endif | |
260 #if ((REL99 == 1) && (FF_BHO == 1)) | |
261 BOOL handover_type; | |
217 #endif | 262 #endif |
218 } | 263 } |
219 T_MPHC_SYNC_HO_REQ; | 264 T_MPHC_SYNC_HO_REQ; |
220 | 265 |
221 typedef struct | 266 typedef struct |
222 { | 267 { |
223 UWORD8 cause; | 268 UWORD8 cause; |
269 #if ((REL99 == 1) && (FF_BHO == 1)) | |
270 UWORD32 fn_offset; | |
271 UWORD32 time_alignment; | |
272 #endif | |
224 } | 273 } |
225 T_MPHC_HANDOVER_FINISHED; | 274 T_MPHC_HANDOVER_FINISHED; |
226 | 275 |
227 typedef struct | 276 typedef struct |
228 { | 277 { |
229 BOOL dtx_used; | 278 BOOL dtx_used; |
230 BOOL meas_valid; | 279 BOOL meas_valid; |
231 WORD16 rxlev_full_acc; | 280 WORD16 rxlev_full_acc; |
232 UWORD8 rxlev_full_nbr_meas; | 281 UWORD8 rxlev_full_nbr_meas; |
239 UWORD8 no_of_ncell_meas; | 288 UWORD8 no_of_ncell_meas; |
240 T5_NCELL_MEAS ncell_meas; | 289 T5_NCELL_MEAS ncell_meas; |
241 UWORD8 ba_id; | 290 UWORD8 ba_id; |
242 UWORD8 timing_advance; | 291 UWORD8 timing_advance; |
243 UWORD8 txpwr_used; | 292 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 | |
244 | 304 |
245 // RESERVED: for trace/debug only | 305 // RESERVED: for trace/debug only |
246 UWORD8 facch_dl_count; | 306 UWORD8 facch_dl_count; |
247 UWORD8 facch_ul_count; | 307 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 | |
248 } | 312 } |
249 T_MPHC_MEAS_REPORT; | 313 T_MPHC_MEAS_REPORT; |
250 | 314 |
251 typedef T_NEW_BA_LIST T_MPHC_UPDATE_BA_LIST; | 315 typedef T_NEW_BA_LIST T_MPHC_UPDATE_BA_LIST; |
252 | 316 |
253 | 317 |
254 typedef struct | 318 typedef struct |
255 { | 319 { |
256 UWORD8 bs_pa_mfrms; | 320 UWORD8 bs_pa_mfrms; |
257 UWORD8 bs_ag_blks_res; | 321 UWORD8 bs_ag_blks_res; |
258 BOOL bcch_combined; | 322 BOOL bcch_combined; |
259 UWORD8 ccch_group; | 323 UWORD8 ccch_group; |
275 | 339 |
276 typedef T_FULL_LIST_MEAS T_MPHC_RXLEV_REQ; | 340 typedef T_FULL_LIST_MEAS T_MPHC_RXLEV_REQ; |
277 typedef T_FULL_LIST_MEAS T_L1C_VALID_MEAS_INFO; | 341 typedef T_FULL_LIST_MEAS T_L1C_VALID_MEAS_INFO; |
278 typedef T_MPHC_RXLEV_PERIODIC_IND T_L1C_RXLEV_PERIODIC_DONE; | 342 typedef T_MPHC_RXLEV_PERIODIC_IND T_L1C_RXLEV_PERIODIC_DONE; |
279 | 343 |
280 | 344 #if (L1_FF_MULTIBAND == 0) |
281 | 345 |
282 typedef struct | 346 typedef struct |
283 { | 347 { |
284 UWORD8 radio_band_config; // frequency band configuration: E-GSM, DCS, GSM/DCS, PCS | 348 UWORD8 radio_band_config; // frequency band configuration: E-GSM, DCS, GSM/DCS, PCS |
285 } | 349 } |
286 T_MPHC_INIT_L1_REQ; | 350 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 | |
287 | 361 |
288 /****************************************************************/ | 362 /****************************************************************/ |
289 /* Structure definition for Test <-> L1A messages */ | 363 /* Structure definition for Test <-> L1A messages */ |
290 /****************************************************************/ | 364 /****************************************************************/ |
291 | 365 |
292 typedef struct | 366 typedef struct |
293 { | 367 { |
294 UWORD16 dsp_code_version; | 368 UWORD16 dsp_code_version; |
295 UWORD16 dsp_checksum; | 369 UWORD16 dsp_checksum; |
296 UWORD16 dsp_patch_version; | 370 UWORD16 dsp_patch_version; |
297 UWORD16 mcu_tcs_program_release; | 371 UWORD16 mcu_tcs_program_release; |
298 UWORD16 mcu_tcs_official; | 372 UWORD16 mcu_tcs_official; |
299 UWORD16 mcu_tcs_internal; | 373 UWORD16 mcu_tcs_internal; |
575 UWORD32 snr; | 649 UWORD32 snr; |
576 UWORD16 radio_freq; | 650 UWORD16 radio_freq; |
577 } | 651 } |
578 T_L1C_FB_INFO; | 652 T_L1C_FB_INFO; |
579 | 653 |
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 | |
580 typedef struct | 670 typedef struct |
581 { | 671 { |
582 WORD8 radio_freq_array_size; | 672 WORD8 radio_freq_array_size; |
583 #if (L1_12NEIGH ==1) | 673 #if (L1_12NEIGH ==1) |
584 UWORD16 radio_freq_array[NBR_NEIGHBOURS]; | 674 UWORD16 radio_freq_array[NBR_NEIGHBOURS]; |
642 UWORD8 std; | 732 UWORD8 std; |
643 UWORD8 swap_iq_band1; | 733 UWORD8 swap_iq_band1; |
644 UWORD8 swap_iq_band2; | 734 UWORD8 swap_iq_band2; |
645 UWORD8 pwr_mngt; | 735 UWORD8 pwr_mngt; |
646 UWORD8 tx_pwr_code; | 736 UWORD8 tx_pwr_code; |
737 #if IDS | |
738 UWORD8 ids_enable; | |
739 #endif | |
740 T_FACCH_TEST_PARAMS facch_test; | |
647 UWORD16 dwnld; | 741 UWORD16 dwnld; |
648 UWORD8 pwr_mngt_mode_authorized; | 742 UWORD8 pwr_mngt_mode_authorized; |
649 UWORD32 pwr_mngt_clocks; | 743 UWORD32 pwr_mngt_clocks; |
650 } | 744 } |
651 T_MMI_L1_CONFIG; | 745 T_MMI_L1_CONFIG; |