FreeCalypso > hg > freecalypso-citrine
comparison L1/audio_include/l1audio_defty.h @ 0:75a11d740a02
initial import of gsm-fw from freecalypso-sw rev 1033:5ab737ac3ad7
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Thu, 09 Jun 2016 00:02:41 +0000 |
parents | |
children | 420ac6391166 |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:75a11d740a02 |
---|---|
1 /************* Revision Controle System Header ************* | |
2 * GSM Layer 1 software | |
3 * L1AUDIO_DEFTY.H | |
4 * | |
5 * Filename l1audio_defty.h | |
6 * Copyright 2003 (C) Texas Instruments | |
7 * | |
8 ************* Revision Controle System Header *************/ | |
9 | |
10 #include "../../include/config.h" | |
11 #include "../include/l1_confg.h" | |
12 #include "l1audio_msgty.h" | |
13 #include "../audio_cust0/l1audio_cust.h" | |
14 #include "l1audio_const.h" | |
15 #include "l1audio_btapi.h" | |
16 #if (AUDIO_TASK == 1) | |
17 | |
18 #if (KEYBEEP) | |
19 /**************************************************************************/ | |
20 /* Keybeep l1a_l1s_com structure... */ | |
21 /**************************************************************************/ | |
22 typedef struct | |
23 { | |
24 BOOL start; | |
25 BOOL stop; | |
26 } | |
27 T_KEYBEEP_COMMAND; | |
28 | |
29 typedef struct | |
30 { | |
31 T_KEYBEEP_COMMAND command; | |
32 } | |
33 T_KEYBEEP_TASK; | |
34 #endif | |
35 | |
36 #if (TONE) | |
37 /**************************************************************************/ | |
38 /* Tone l1a_l1s_com structure... */ | |
39 /**************************************************************************/ | |
40 typedef struct | |
41 { | |
42 BOOL start; | |
43 BOOL stop; | |
44 } | |
45 T_TONE_COMMAND; | |
46 | |
47 typedef struct | |
48 { | |
49 T_TONE_COMMAND command; | |
50 } | |
51 T_TONE_TASK; | |
52 #endif | |
53 | |
54 #if (MELODY_E1) | |
55 /**************************************************************************/ | |
56 /* Melody l1a_l1s_com structure... */ | |
57 /**************************************************************************/ | |
58 typedef struct | |
59 { | |
60 BOOL start; | |
61 BOOL stop; | |
62 } | |
63 T_MELODY_COMMAND; | |
64 | |
65 typedef struct | |
66 { | |
67 UWORD8 session_id; | |
68 UWORD8 error_id; | |
69 UWORD16 buffer_size; | |
70 UWORD16 *ptr_buf; | |
71 BOOL loopback; | |
72 UWORD16 oscillator_used_bitmap; | |
73 UWORD16 oscillator_melody_bitmap; | |
74 UWORD8 melody_to_oscillator[SC_NUMBER_OSCILLATOR]; | |
75 } | |
76 T_MELODY_PARAM; | |
77 | |
78 typedef struct | |
79 { | |
80 T_MELODY_COMMAND command; | |
81 T_MELODY_PARAM parameters; | |
82 } | |
83 T_MELODY_TASK; | |
84 | |
85 /**************************************************************************/ | |
86 /* Melody l1s structure... */ | |
87 /**************************************************************************/ | |
88 | |
89 typedef struct | |
90 { | |
91 UWORD8 error_id; | |
92 UWORD16 buffer_size; | |
93 UWORD16 *ptr_buf; | |
94 UWORD16 melody_header; | |
95 API *(oscillator[SC_NUMBER_OSCILLATOR]); | |
96 UWORD16 counter; | |
97 UWORD16 oscillator_used_in_desc; | |
98 UWORD16 oscillator_started; | |
99 } | |
100 T_L1S_MELODY_TASK; | |
101 #endif | |
102 | |
103 #if (VOICE_MEMO) | |
104 /**************************************************************************/ | |
105 /* Voice memo l1a_l1s_com structure... */ | |
106 /**************************************************************************/ | |
107 | |
108 typedef struct | |
109 { | |
110 BOOL start; | |
111 BOOL stop; | |
112 } | |
113 T_VM_PLAY_COMMAND; | |
114 | |
115 typedef struct | |
116 { | |
117 UWORD8 session_id; | |
118 } | |
119 T_VM_PLAY_PARAM; | |
120 | |
121 typedef struct | |
122 { | |
123 T_VM_PLAY_COMMAND command; | |
124 T_VM_PLAY_PARAM parameters; | |
125 } | |
126 T_VM_PLAY_TASK; | |
127 | |
128 typedef struct | |
129 { | |
130 BOOL start; | |
131 BOOL stop; | |
132 } | |
133 T_VM_RECORD_COMMAND; | |
134 | |
135 typedef struct | |
136 { | |
137 UWORD8 session_id; | |
138 UWORD32 maximum_size; | |
139 BOOL dtx; | |
140 } | |
141 T_VM_RECORD_PARAM; | |
142 | |
143 typedef struct | |
144 { | |
145 BOOL start; | |
146 } | |
147 T_VM_RECORD_TONE_UL; | |
148 | |
149 typedef struct | |
150 { | |
151 T_VM_RECORD_COMMAND command; | |
152 T_VM_RECORD_PARAM parameters; | |
153 T_VM_RECORD_TONE_UL tone_ul; | |
154 } | |
155 T_VM_RECORD_TASK; | |
156 | |
157 typedef struct | |
158 { | |
159 T_VM_PLAY_TASK play; | |
160 T_VM_RECORD_TASK record; | |
161 } | |
162 T_VM_TASK; | |
163 | |
164 /**************************************************************************/ | |
165 /* Voice memo l1s structure... */ | |
166 /**************************************************************************/ | |
167 | |
168 typedef struct | |
169 { | |
170 API *a_du_x; | |
171 UWORD8 error_id; | |
172 UWORD16 buffer_size; | |
173 UWORD16 *ptr_buf; | |
174 UWORD32 recorded_size; | |
175 } | |
176 T_L1S_VM_RECORD_TASK; | |
177 | |
178 typedef struct | |
179 { | |
180 API *a_du_x; | |
181 UWORD8 error_id; | |
182 UWORD16 buffer_size; | |
183 UWORD16 *ptr_buf; | |
184 } | |
185 T_L1S_VM_PLAY_TASK; | |
186 | |
187 typedef struct | |
188 { | |
189 T_L1S_VM_PLAY_TASK play; | |
190 T_L1S_VM_RECORD_TASK record; | |
191 } | |
192 T_L1S_VM_TASK; | |
193 | |
194 #endif | |
195 | |
196 #if (L1_PCM_EXTRACTION) | |
197 /**************************************************************************/ | |
198 /* PCM extraction l1a_l1s_com structure... */ | |
199 /**************************************************************************/ | |
200 | |
201 typedef struct | |
202 { | |
203 BOOL start; | |
204 BOOL stop; | |
205 } | |
206 T_PCM_DOWNLOAD_COMMAND; | |
207 | |
208 typedef struct | |
209 { | |
210 UWORD8 session_id; | |
211 UWORD32 maximum_size; | |
212 } | |
213 T_PCM_DOWNLOAD_PARAM; | |
214 | |
215 typedef struct | |
216 { | |
217 T_PCM_DOWNLOAD_COMMAND command; | |
218 T_PCM_DOWNLOAD_PARAM parameters; | |
219 } | |
220 T_PCM_DOWNLOAD_TASK; | |
221 | |
222 typedef struct | |
223 { | |
224 BOOL start; | |
225 BOOL stop; | |
226 } | |
227 T_PCM_UPLOAD_COMMAND; | |
228 | |
229 typedef struct | |
230 { | |
231 UWORD8 session_id; | |
232 UWORD32 maximum_size; | |
233 } | |
234 T_PCM_UPLOAD_PARAM; | |
235 | |
236 typedef struct | |
237 { | |
238 T_PCM_UPLOAD_COMMAND command; | |
239 T_PCM_UPLOAD_PARAM parameters; | |
240 } | |
241 T_PCM_UPLOAD_TASK; | |
242 | |
243 typedef struct | |
244 { | |
245 T_PCM_DOWNLOAD_TASK download; | |
246 T_PCM_UPLOAD_TASK upload; | |
247 } | |
248 T_PCM_TASK; | |
249 | |
250 /**************************************************************************/ | |
251 /* PCM l1s structure... */ | |
252 /**************************************************************************/ | |
253 | |
254 typedef struct | |
255 { | |
256 UWORD8 error_id; | |
257 UWORD16 buffer_size; | |
258 UWORD16 *ptr_buf; | |
259 UWORD32 uploaded_size; | |
260 } | |
261 T_L1S_PCM_UPLOAD_TASK; | |
262 | |
263 typedef struct | |
264 { | |
265 UWORD8 error_id; | |
266 UWORD16 buffer_size; | |
267 UWORD16 *ptr_buf; | |
268 UWORD32 downloaded_size; | |
269 } | |
270 T_L1S_PCM_DOWNLOAD_TASK; | |
271 | |
272 typedef struct | |
273 { | |
274 T_L1S_PCM_DOWNLOAD_TASK download; | |
275 T_L1S_PCM_UPLOAD_TASK upload; | |
276 } | |
277 T_L1S_PCM_TASK; | |
278 | |
279 #endif /* L1_PCM_EXTRACTION */ | |
280 | |
281 #if (L1_VOICE_MEMO_AMR) | |
282 /**************************************************************************/ | |
283 /* Voice memo amr l1a_l1s_com structure... */ | |
284 /**************************************************************************/ | |
285 | |
286 typedef struct | |
287 { | |
288 BOOL start; | |
289 BOOL pause; | |
290 BOOL resume; | |
291 BOOL stop; | |
292 } | |
293 T_VM_AMR_PLAY_COMMAND; | |
294 | |
295 typedef struct | |
296 { | |
297 UWORD8 session_id; | |
298 } | |
299 T_VM_AMR_PLAY_PARAM; | |
300 | |
301 typedef struct | |
302 { | |
303 T_VM_AMR_PLAY_COMMAND command; | |
304 T_VM_AMR_PLAY_PARAM parameters; | |
305 } | |
306 T_VM_AMR_PLAY_TASK; | |
307 | |
308 typedef struct | |
309 { | |
310 BOOL start; | |
311 BOOL stop; | |
312 } | |
313 T_VM_AMR_RECORD_COMMAND; | |
314 | |
315 typedef struct | |
316 { | |
317 UWORD8 session_id; | |
318 UWORD32 maximum_size; | |
319 UWORD8 amr_vocoder; | |
320 BOOL dtx; | |
321 } | |
322 T_VM_AMR_RECORD_PARAM; | |
323 | |
324 typedef struct | |
325 { | |
326 T_VM_AMR_RECORD_COMMAND command; | |
327 T_VM_AMR_RECORD_PARAM parameters; | |
328 } | |
329 T_VM_AMR_RECORD_TASK; | |
330 | |
331 typedef struct | |
332 { | |
333 T_VM_AMR_PLAY_TASK play; | |
334 T_VM_AMR_RECORD_TASK record; | |
335 } | |
336 T_VM_AMR_TASK; | |
337 | |
338 /**************************************************************************/ | |
339 /* Voice memo l1s structure... */ | |
340 /**************************************************************************/ | |
341 | |
342 typedef struct | |
343 { | |
344 API *a_du_x; | |
345 UWORD8 error_id; | |
346 UWORD16 buffer_size; | |
347 UWORD8 *ptr_buf; | |
348 UWORD32 recorded_size; | |
349 } | |
350 T_L1S_VM_AMR_RECORD_TASK; | |
351 | |
352 typedef struct | |
353 { | |
354 API *a_du_x; | |
355 UWORD8 error_id; | |
356 UWORD16 buffer_size; | |
357 UWORD8 *ptr_buf; | |
358 UWORD8 previous_type; | |
359 UWORD8 transition_header; | |
360 } | |
361 T_L1S_VM_AMR_PLAY_TASK; | |
362 | |
363 typedef struct | |
364 { | |
365 T_L1S_VM_AMR_PLAY_TASK play; | |
366 T_L1S_VM_AMR_RECORD_TASK record; | |
367 } | |
368 T_L1S_VM_AMR_TASK; | |
369 | |
370 #endif // L1_VOICE_MEMO_AMR | |
371 #if (SPEECH_RECO) | |
372 /**************************************************************************/ | |
373 /* Speech recogniton l1a_l1s_com structure... */ | |
374 /**************************************************************************/ | |
375 | |
376 typedef struct | |
377 { | |
378 BOOL enroll_start; | |
379 BOOL enroll_stop; | |
380 BOOL update_start; | |
381 BOOL update_stop; | |
382 BOOL reco_start; | |
383 BOOL reco_stop; | |
384 BOOL processing_start; | |
385 BOOL processing_stop; | |
386 BOOL speech_start; | |
387 BOOL speech_stop; | |
388 } | |
389 T_SR_COMMAND; | |
390 | |
391 typedef struct | |
392 { | |
393 UWORD8 database_id; | |
394 UWORD8 word_index; | |
395 API *model_address; | |
396 UWORD16 *model_temp_address; | |
397 BOOL speech; | |
398 UWORD16 *speech_address; | |
399 UWORD16 *start_address; | |
400 UWORD16 *stop_address; | |
401 BOOL CTO_algorithm; | |
402 UWORD8 index_counter; | |
403 UWORD8 vocabulary_size; | |
404 UWORD8 word_to_check; | |
405 UWORD16 best_word_index; | |
406 UWORD32 best_word_score; | |
407 UWORD16 second_best_word_index; | |
408 UWORD32 second_best_word_score; | |
409 UWORD16 third_best_word_index; | |
410 UWORD32 third_best_word_score; | |
411 UWORD16 fourth_best_word_index; | |
412 UWORD32 fourth_best_word_score; | |
413 UWORD16 d_sr_db_level; | |
414 UWORD16 d_sr_db_noise; | |
415 UWORD16 d_sr_model_size; | |
416 } | |
417 T_SR_PARAM; | |
418 | |
419 typedef struct | |
420 { | |
421 T_SR_COMMAND command; | |
422 T_SR_PARAM parameters; | |
423 } | |
424 T_SR_TASK; | |
425 | |
426 typedef struct | |
427 { | |
428 UWORD16 time_out; | |
429 UWORD8 error; | |
430 UWORD16 *speech_pointer; | |
431 UWORD16 *end_pointer; | |
432 API *a_du_x; | |
433 UWORD16 speech_old_status; | |
434 BOOL first_pass; | |
435 } | |
436 T_L1S_SR_TASK; | |
437 | |
438 typedef struct | |
439 { | |
440 BOOL emergency_stop; | |
441 } | |
442 T_L1_SRBACK_COM; | |
443 | |
444 #endif | |
445 | |
446 #if (L1_AEC == 1) | |
447 typedef struct | |
448 { | |
449 UWORD16 aec_control; | |
450 #if (L1_NEW_AEC) | |
451 UWORD16 cont_filter; | |
452 UWORD16 granularity_att; | |
453 UWORD16 coef_smooth; | |
454 UWORD16 es_level_max; | |
455 UWORD16 fact_vad; | |
456 UWORD16 thrs_abs; | |
457 UWORD16 fact_asd_fil; | |
458 UWORD16 fact_asd_mut; | |
459 #endif | |
460 } | |
461 T_AEC_PARAM; | |
462 | |
463 typedef struct | |
464 { | |
465 BOOL start; | |
466 } | |
467 T_AEC_COMMAND; | |
468 | |
469 typedef struct | |
470 { | |
471 T_AEC_COMMAND command; | |
472 T_AEC_PARAM parameters; | |
473 } | |
474 T_AEC_TASK; | |
475 | |
476 typedef struct | |
477 { | |
478 UWORD16 aec_control; | |
479 #if (L1_NEW_AEC) | |
480 BOOL aec_visibility; | |
481 UWORD16 cont_filter; | |
482 UWORD16 granularity_att; | |
483 UWORD16 coef_smooth; | |
484 UWORD16 es_level_max; | |
485 UWORD16 fact_vad; | |
486 UWORD16 thrs_abs; | |
487 UWORD16 fact_asd_fil; | |
488 UWORD16 fact_asd_mut; | |
489 WORD8 visibility_interval; | |
490 #endif | |
491 } T_L1S_AEC_TASK; | |
492 #endif | |
493 | |
494 #if(L1_AEC == 2) | |
495 | |
496 typedef struct | |
497 { | |
498 BOOL start; | |
499 } | |
500 T_AEC_COMMAND; | |
501 | |
502 | |
503 typedef struct | |
504 { | |
505 WORD16 aec_mode; | |
506 WORD16 mu; | |
507 UWORD16 cont_filter; | |
508 WORD16 scale_input_ul; | |
509 WORD16 scale_input_dl; | |
510 WORD16 div_dmax; | |
511 UWORD16 div_swap_good; | |
512 UWORD16 div_swap_bad; | |
513 WORD16 block_init; | |
514 UWORD16 fact_vad; | |
515 UWORD16 fact_asd_fil; | |
516 UWORD16 fact_asd_mut; | |
517 UWORD16 thrs_abs; | |
518 UWORD16 es_level_max; | |
519 UWORD16 granularity_att; | |
520 UWORD16 coef_smooth; | |
521 // UWORD16 block_size; | |
522 } | |
523 T_AEC_PARAMS; | |
524 | |
525 | |
526 typedef struct | |
527 { | |
528 T_AEC_COMMAND command; | |
529 T_AEC_CONTROL aec_control; | |
530 T_AEC_PARAMS parameters; | |
531 } | |
532 T_AEC_TASK; | |
533 | |
534 | |
535 #endif | |
536 | |
537 | |
538 #if (FIR) | |
539 typedef struct | |
540 { | |
541 BOOL fir_loop; | |
542 UWORD8 update_fir; | |
543 UWORD16 *fir_ul_coefficient; | |
544 UWORD16 *fir_dl_coefficient; | |
545 } | |
546 T_FIR_PARAM; | |
547 | |
548 typedef struct | |
549 { | |
550 BOOL start; | |
551 } | |
552 T_FIR_COMMAND; | |
553 | |
554 typedef struct | |
555 { | |
556 T_FIR_COMMAND command; | |
557 T_FIR_PARAM parameters; | |
558 } | |
559 T_FIR_TASK; | |
560 #endif | |
561 | |
562 #if (AUDIO_MODE) | |
563 typedef struct | |
564 { | |
565 UWORD16 audio_mode; | |
566 } | |
567 T_AUDIO_MODE_PARAM; | |
568 | |
569 typedef struct | |
570 { | |
571 BOOL start; | |
572 } | |
573 T_AUDIO_MODE_COMMAND; | |
574 | |
575 typedef struct | |
576 { | |
577 T_AUDIO_MODE_COMMAND command; | |
578 T_AUDIO_MODE_PARAM parameters; | |
579 } | |
580 T_AUDIO_MODE_TASK; | |
581 #endif | |
582 #if (MELODY_E2) | |
583 /**************************************************************************/ | |
584 /* Melody format E2 l1a_l1s_com structure... */ | |
585 /**************************************************************************/ | |
586 typedef struct | |
587 { | |
588 BOOL start; | |
589 BOOL stop; | |
590 } | |
591 T_MELODY_E2_COMMAND; | |
592 | |
593 typedef struct | |
594 { | |
595 UWORD8 session_id; | |
596 UWORD8 error_id; | |
597 UWORD16 buffer_size; | |
598 UWORD8 *ptr_buf; | |
599 BOOL loopback; | |
600 UWORD8 header_size; | |
601 BOOL emergency_stop; | |
602 UWORD8 number_of_instrument; | |
603 UWORD8 waves_table_id[SC_AUDIO_MELODY_E2_MAX_NUMBER_OF_INSTRUMENT]; | |
604 } | |
605 T_MELODY_E2_PARAM; | |
606 | |
607 typedef struct | |
608 { | |
609 T_MELODY_E2_COMMAND command; | |
610 T_MELODY_E2_PARAM parameters; | |
611 } | |
612 T_MELODY_E2_TASK; | |
613 | |
614 /**************************************************************************/ | |
615 /* Melody format E2 l1s structure... */ | |
616 /**************************************************************************/ | |
617 typedef struct | |
618 { | |
619 UWORD8 error_id; | |
620 UWORD16 buffer_size; | |
621 UWORD8 *ptr_buf; | |
622 UWORD32 counter; | |
623 UWORD32 note_start_20ms; | |
624 UWORD16 oscillator_start; | |
625 UWORD16 oscillator_active; | |
626 UWORD16 delta_time; | |
627 BOOL extension_flag; | |
628 BOOL end_of_file; | |
629 } | |
630 T_L1S_MELODY_E2_TASK; | |
631 | |
632 typedef struct | |
633 { | |
634 UWORD32 timebase; | |
635 UWORD16 global_osc_active; | |
636 UWORD16 global_osc_to_start; | |
637 UWORD8 timebase_mod_60ms; | |
638 BOOL dsp_task; | |
639 } | |
640 T_L1S_MELODY_E2_COMMON_VAR; | |
641 | |
642 /**************************************************************************/ | |
643 /* Melody format E2 audio background structure... */ | |
644 /**************************************************************************/ | |
645 typedef struct | |
646 { | |
647 API *API_address; | |
648 UWORD16 allowed_size; | |
649 UWORD8 number_of_user[SC_AUDIO_MELODY_E2_MAX_NUMBER_OF_INSTRUMENT]; | |
650 UWORD8 instrument_id[SC_AUDIO_MELODY_E2_MAX_NUMBER_OF_INSTRUMENT]; | |
651 UWORD16 instrument_size[SC_AUDIO_MELODY_E2_MAX_NUMBER_OF_INSTRUMENT]; | |
652 } T_AUDIO_BACK_MELODY_E2; | |
653 #endif // MELODY_E2 | |
654 #if (L1_CPORT == 1) | |
655 /**************************************************************************/ | |
656 /* Cport l1a_l1s_com structure... */ | |
657 /**************************************************************************/ | |
658 typedef struct | |
659 { | |
660 BOOL start; | |
661 } | |
662 T_CPORT_COMMAND; | |
663 | |
664 typedef struct | |
665 { | |
666 UWORD16 configuration; | |
667 UWORD16 ctrl; | |
668 UWORD8 cpcfr1; | |
669 UWORD8 cpcfr2; | |
670 UWORD8 cpcfr3; | |
671 UWORD8 cpcfr4; | |
672 UWORD8 cptctl; | |
673 UWORD8 cpttaddr; | |
674 UWORD16 cptdat; | |
675 UWORD16 cptvs; | |
676 } | |
677 T_CPORT_PARAM; | |
678 | |
679 typedef struct | |
680 { | |
681 T_CPORT_COMMAND command; | |
682 T_CPORT_PARAM parameters; | |
683 } | |
684 T_CPORT_TASK; | |
685 #endif | |
686 | |
687 #if (L1_EXTERNAL_AUDIO_VOICE_ONOFF == 1 || L1_EXT_MCU_AUDIO_VOICE_ONOFF == 1) | |
688 typedef struct | |
689 { | |
690 BOOL start; | |
691 } | |
692 T_AUDIO_ONOFF_COMMAND; | |
693 | |
694 typedef struct | |
695 { | |
696 #if (L1_EXTERNAL_AUDIO_VOICE_ONOFF == 1) | |
697 UWORD8 onoff_value; /* This value is used to indicate the required state from the MMI interface */ | |
698 #endif | |
699 #if (L1_EXT_MCU_AUDIO_VOICE_ONOFF == 1) | |
700 UWORD8 vul_onoff_value;/* This value is used to indicate the required state from the MMI interface */ | |
701 UWORD8 vdl_onoff_value;/* This value is used to indicate the required state from the MMI interface */ | |
702 | |
703 #endif | |
704 } | |
705 T_AUDIO_ONOFF_PARAM; | |
706 | |
707 typedef struct | |
708 { | |
709 T_AUDIO_ONOFF_COMMAND command; | |
710 T_AUDIO_ONOFF_PARAM parameters; | |
711 } | |
712 T_AUDIO_ONOFF_TASK; | |
713 #endif | |
714 | |
715 #if (L1_EXT_MCU_AUDIO_VOICE_ONOFF == 1) | |
716 #define L1_AUDIO_VOICE_UL_OFF 0 | |
717 #define L1_AUDIO_VOICE_UL_ON 1 | |
718 #define L1_AUDIO_VOICE_UL_NO_ACTION 2 | |
719 | |
720 #define L1_AUDIO_VOICE_DL_OFF 0 | |
721 #define L1_AUDIO_VOICE_DL_ON 1 | |
722 #define L1_AUDIO_VOICE_DL_NO_ACTION 2 | |
723 #endif | |
724 | |
725 #if (L1_STEREOPATH == 1) | |
726 /**************************************************************************/ | |
727 /* Stereopath l1a_l1s_com structure... */ | |
728 /**************************************************************************/ | |
729 typedef struct | |
730 { | |
731 BOOL start; | |
732 BOOL stop; | |
733 } | |
734 T_STEREOPATH_DRV_COMMAND; | |
735 | |
736 typedef struct | |
737 { | |
738 #if (CODE_VERSION == NOT_SIMULATION) | |
739 UWORD8 sampling_frequency; | |
740 UWORD8 DMA_allocation; | |
741 void (*DMA_int_callback_fct) (UWORD16); | |
742 UWORD8 DMA_channel_number; | |
743 UWORD8 data_type; | |
744 UWORD8 source_port; | |
745 WORD8 *source_buffer_address; | |
746 UWORD16 element_number; | |
747 UWORD16 frame_number; | |
748 UWORD8 mono_stereo; | |
749 UWORD8 feature_identifier; | |
750 #else | |
751 UWORD8 dummy; | |
752 #endif | |
753 } | |
754 T_STEREOPATH_DRV_PARAM; | |
755 | |
756 typedef struct | |
757 { | |
758 T_STEREOPATH_DRV_COMMAND command; | |
759 T_STEREOPATH_DRV_PARAM parameters; | |
760 } | |
761 T_STEREOPATH_DRV_TASK; | |
762 | |
763 #endif | |
764 | |
765 #if (L1_EXT_AUDIO_MGT == 1) | |
766 typedef struct | |
767 { | |
768 UWORD8 session_id; | |
769 } | |
770 T_L1S_EXT_AUDIO_MGT_VAR; | |
771 #endif | |
772 | |
773 #if (L1_ANR == 1) | |
774 /**************************************************************************/ | |
775 /* ANR l1a_l1s_com structure... */ | |
776 /**************************************************************************/ | |
777 typedef struct | |
778 { | |
779 BOOL update; | |
780 } | |
781 T_ANR_COMMAND; | |
782 | |
783 typedef struct | |
784 { | |
785 BOOL anr_enable; | |
786 WORD16 min_gain; | |
787 WORD8 div_factor_shift; | |
788 UWORD8 ns_level; | |
789 } | |
790 T_ANR_PARAM; | |
791 | |
792 typedef struct | |
793 { | |
794 T_ANR_COMMAND command; | |
795 T_ANR_PARAM parameters; | |
796 } | |
797 T_ANR_TASK; | |
798 #endif | |
799 | |
800 #if (L1_ANR == 2) | |
801 /**************************************************************************/ | |
802 /* ANR 2.13 l1a_l1s_com structure... */ | |
803 /**************************************************************************/ | |
804 typedef struct | |
805 { | |
806 BOOL update; | |
807 } | |
808 T_AQI_ANR_COMMAND; | |
809 | |
810 typedef struct | |
811 { | |
812 T_ANR_CONTROL anr_ul_control; | |
813 WORD16 control; | |
814 WORD16 ns_level; | |
815 WORD16 tone_ene_th; | |
816 WORD16 tone_cnt_th; | |
817 } | |
818 T_AQI_ANR_PARAM; | |
819 | |
820 typedef struct | |
821 { | |
822 T_AQI_ANR_COMMAND command; | |
823 T_AQI_ANR_PARAM parameters; | |
824 } | |
825 T_AQI_ANR_TASK; | |
826 #endif | |
827 | |
828 #if (L1_IIR == 1) | |
829 /**************************************************************************/ | |
830 /* IIR l1a_l1s_com structure... */ | |
831 /**************************************************************************/ | |
832 typedef struct | |
833 { | |
834 BOOL update; | |
835 } | |
836 T_IIR_COMMAND; | |
837 | |
838 typedef struct | |
839 { | |
840 BOOL iir_enable; | |
841 UWORD8 nb_iir_blocks; | |
842 WORD16 *iir_coefs; | |
843 UWORD8 nb_fir_coefs; | |
844 WORD16 *fir_coefs; | |
845 WORD8 input_scaling; | |
846 WORD8 fir_scaling; | |
847 WORD8 input_gain_scaling; | |
848 WORD8 output_gain_scaling; | |
849 UWORD16 output_gain; | |
850 WORD16 feedback; | |
851 } | |
852 T_IIR_PARAM; | |
853 | |
854 typedef struct | |
855 { | |
856 T_IIR_COMMAND command; | |
857 T_IIR_PARAM parameters; | |
858 } | |
859 T_IIR_TASK; | |
860 #endif | |
861 | |
862 #if (L1_WCM == 1) | |
863 /**************************************************************************/ | |
864 /* WCM 1.x l1a_l1s_com structure... */ | |
865 /**************************************************************************/ | |
866 typedef struct | |
867 { | |
868 BOOL update; | |
869 } | |
870 T_AQI_WCM_COMMAND; | |
871 | |
872 typedef struct | |
873 { | |
874 T_AQI_WCM_COMMAND command; | |
875 T_AQI_WCM_PARAM *parameters; | |
876 } | |
877 T_AQI_WCM_TASK; | |
878 #endif | |
879 | |
880 #if (L1_IIR == 2) | |
881 /**************************************************************************/ | |
882 /* IIR 4.x l1a_l1s_com structure... */ | |
883 /**************************************************************************/ | |
884 typedef struct | |
885 { | |
886 BOOL update; | |
887 } | |
888 T_AQI_IIR_COMMAND; | |
889 | |
890 typedef struct | |
891 { | |
892 T_AQI_IIR_COMMAND command; | |
893 T_AQI_IIR_PARAM *parameters; | |
894 } | |
895 T_AQI_IIR_TASK; | |
896 #endif | |
897 | |
898 | |
899 #if (L1_AGC_UL == 1 || L1_AGC_DL == 1) | |
900 typedef struct | |
901 { | |
902 BOOL update; | |
903 } | |
904 T_AQI_AGC_COMMAND; | |
905 #endif | |
906 | |
907 #if (L1_AGC_UL == 1) | |
908 /**************************************************************************/ | |
909 /* AGC UL l1a_l1s_com structure... */ | |
910 /**************************************************************************/ | |
911 | |
912 typedef struct | |
913 { | |
914 T_AGC_CONTROL agc_ul_control; | |
915 UWORD16 control; | |
916 UWORD16 frame_size; | |
917 WORD16 targeted_level; | |
918 WORD16 signal_up; | |
919 WORD16 signal_down; | |
920 WORD16 max_scale; | |
921 WORD16 gain_smooth_alpha; | |
922 WORD16 gain_smooth_alpha_fast; | |
923 WORD16 gain_smooth_beta; | |
924 WORD16 gain_smooth_beta_fast; | |
925 WORD16 gain_intp_flag; | |
926 } | |
927 T_AQI_AGC_UL_PARAM; | |
928 | |
929 typedef struct | |
930 { | |
931 T_AQI_AGC_COMMAND command; | |
932 T_AQI_AGC_UL_PARAM parameters; | |
933 } | |
934 T_AQI_AGC_UL_TASK; | |
935 #endif | |
936 | |
937 #if (L1_AGC_DL == 1) | |
938 /**************************************************************************/ | |
939 /* AGC DL l1a_l1s_com structure... */ | |
940 /**************************************************************************/ | |
941 | |
942 typedef struct | |
943 { | |
944 T_AGC_CONTROL agc_dl_control; | |
945 UWORD16 control; | |
946 UWORD16 frame_size; | |
947 WORD16 targeted_level; | |
948 WORD16 signal_up; | |
949 WORD16 signal_down; | |
950 WORD16 max_scale; | |
951 WORD16 gain_smooth_alpha; | |
952 WORD16 gain_smooth_alpha_fast; | |
953 WORD16 gain_smooth_beta; | |
954 WORD16 gain_smooth_beta_fast; | |
955 WORD16 gain_intp_flag; | |
956 } | |
957 T_AQI_AGC_DL_PARAM; | |
958 | |
959 typedef struct | |
960 { | |
961 T_AQI_AGC_COMMAND command; | |
962 T_AQI_AGC_DL_PARAM parameters; | |
963 } | |
964 T_AQI_AGC_DL_TASK; | |
965 #endif | |
966 | |
967 #if (L1_DRC == 1) | |
968 /**************************************************************************/ | |
969 /* DRC 1.x l1a_l1s_com structure... */ | |
970 /**************************************************************************/ | |
971 typedef struct | |
972 { | |
973 BOOL update; | |
974 } | |
975 T_AQI_DRC_COMMAND; | |
976 | |
977 typedef struct | |
978 { | |
979 T_AQI_DRC_COMMAND command; | |
980 T_AQI_DRC_PARAM *parameters; | |
981 } | |
982 T_AQI_DRC_TASK; | |
983 | |
984 | |
985 /**************************************************************************/ | |
986 /* MP3 MCU-DSP API */ | |
987 /**************************************************************************/ | |
988 typedef struct | |
989 { | |
990 API_SIGNED d_drc_speech_mode_samp_f; | |
991 API_SIGNED d_drc_num_subbands; | |
992 API_SIGNED d_drc_frame_len; | |
993 API_SIGNED d_drc_expansion_knee_fb_bs; | |
994 API_SIGNED d_drc_expansion_knee_md_hg; | |
995 API_SIGNED d_drc_expansion_ratio_fb_bs; | |
996 API_SIGNED d_drc_expansion_ratio_md_hg; | |
997 API_SIGNED d_drc_max_amplification_fb_bs; | |
998 API_SIGNED d_drc_max_amplification_md_hg; | |
999 API_SIGNED d_drc_compression_knee_fb_bs; | |
1000 API_SIGNED d_drc_compression_knee_md_hg; | |
1001 API_SIGNED d_drc_compression_ratio_fb_bs; | |
1002 API_SIGNED d_drc_compression_ratio_md_hg; | |
1003 API_SIGNED d_drc_energy_limiting_th_fb_bs; | |
1004 API_SIGNED d_drc_energy_limiting_th_md_hg; | |
1005 API_SIGNED d_drc_limiter_threshold_fb; | |
1006 API_SIGNED d_drc_limiter_threshold_bs; | |
1007 API_SIGNED d_drc_limiter_threshold_md; | |
1008 API_SIGNED d_drc_limiter_threshold_hg; | |
1009 API_SIGNED d_drc_limiter_hangover_spect_preserve; | |
1010 API_SIGNED d_drc_limiter_release_fb_bs; | |
1011 API_SIGNED d_drc_limiter_release_md_hg; | |
1012 API_SIGNED d_drc_gain_track_fb_bs; | |
1013 API_SIGNED d_drc_gain_track_md_hg; | |
1014 API_SIGNED a_drc_low_pass_filter[17]; | |
1015 API_SIGNED a_drc_mid_band_filter[17]; | |
1016 } T_DRC_MCU_DSP; | |
1017 #endif | |
1018 | |
1019 #if (L1_LIMITER == 1) | |
1020 /**************************************************************************/ | |
1021 /* LIMITER l1a_l1s_com structure... */ | |
1022 /**************************************************************************/ | |
1023 typedef struct | |
1024 { | |
1025 BOOL update; | |
1026 BOOL partial_update; | |
1027 } | |
1028 T_LIMITER_COMMAND; | |
1029 | |
1030 typedef struct | |
1031 { | |
1032 BOOL limiter_enable; | |
1033 UWORD16 block_size; | |
1034 UWORD16 slope_update_period; | |
1035 UWORD16 nb_fir_coefs; | |
1036 WORD16 *filter_coefs; | |
1037 WORD16 thr_low_0; | |
1038 WORD16 thr_low_slope; | |
1039 WORD16 thr_high_0; | |
1040 WORD16 thr_high_slope; | |
1041 WORD16 gain_fall; | |
1042 WORD16 gain_rise; | |
1043 } | |
1044 T_LIMITER_PARAM; | |
1045 | |
1046 typedef struct | |
1047 { | |
1048 T_LIMITER_COMMAND command; | |
1049 T_LIMITER_PARAM parameters; | |
1050 } | |
1051 T_LIMITER_TASK; | |
1052 #endif | |
1053 | |
1054 #if (L1_ES == 1) | |
1055 /**************************************************************************/ | |
1056 /* ES l1a_l1s_com structure... */ | |
1057 /**************************************************************************/ | |
1058 typedef struct | |
1059 { | |
1060 BOOL update; | |
1061 } | |
1062 T_ES_COMMAND; | |
1063 | |
1064 typedef struct | |
1065 { | |
1066 UWORD8 es_mode; /* ES general configuration */ | |
1067 WORD16 es_gain_dl; | |
1068 WORD16 es_gain_ul_1; | |
1069 WORD16 es_gain_ul_2; | |
1070 WORD16 tcl_fe_ls_thr; /* TCL reference threshold in FE mode for loud signal */ | |
1071 WORD16 tcl_dt_ls_thr; /* TCL reference threshold in DT mode for loud signal */ | |
1072 WORD16 tcl_fe_ns_thr; /* TCL reference threshold in FE mode for nominal signal */ | |
1073 WORD16 tcl_dt_ns_thr; /* TCL reference threshold in DT mode for nominal signal */ | |
1074 WORD16 tcl_ne_thr; /* TCL reference threshold in NE mode */ | |
1075 WORD16 ref_ls_pwr; /* reference power for loud signals in DL */ | |
1076 WORD16 switching_time; /* switching time (idx) */ | |
1077 WORD16 switching_time_dt; /* switching time (idx) in DT mode */ | |
1078 WORD16 hang_time; /* hangover time (idx) */ | |
1079 WORD16 gain_lin_dl_vect[4]; /* downlink linear gain per state */ | |
1080 WORD16 gain_lin_ul_vect[4]; /* uplink linear gain per state */ | |
1081 } | |
1082 T_ES_CONFIG; | |
1083 | |
1084 typedef struct | |
1085 { | |
1086 UWORD8 es_enable; | |
1087 UWORD8 es_behavior; | |
1088 T_ES_CONFIG es_config; | |
1089 } | |
1090 T_ES_PARAM; | |
1091 | |
1092 typedef struct | |
1093 { | |
1094 T_ES_COMMAND command; | |
1095 T_ES_PARAM parameters; | |
1096 } | |
1097 T_ES_TASK; | |
1098 #endif | |
1099 | |
1100 typedef struct | |
1101 { | |
1102 BOOL start; | |
1103 } | |
1104 T_AUDIOIT_COMMAND; | |
1105 | |
1106 typedef struct | |
1107 { | |
1108 T_AUDIOIT_COMMAND command; | |
1109 } | |
1110 T_AUDIOIT_TASK; | |
1111 | |
1112 // Triton Audio ON/OFF Changes | |
1113 #if (L1_AUDIO_MCU_ONOFF == 1) | |
1114 typedef enum | |
1115 { | |
1116 L1_AUDIO_NO_ACTION = 0, | |
1117 L1_AUDIO_TURN_ON = 1, | |
1118 L1_AUDIO_TURN_OFF = 2 | |
1119 } | |
1120 T_L1_AUDIO_ACTION; | |
1121 | |
1122 typedef enum | |
1123 { | |
1124 L1_INVALID = 0xFF, | |
1125 L1_AUDIO_UL_OFF = 0, | |
1126 L1_AUDIO_UL_SWITCHON_STARTED = 1, | |
1127 L1_AUDIO_UL_ON = 2, | |
1128 L1_AUDIO_UL_SWITCHOFF_STARTED = 3 | |
1129 } | |
1130 T_L1_AUDIO_UL_STATE; | |
1131 | |
1132 typedef enum | |
1133 { | |
1134 L1_DL_INVALID = 0xFF, | |
1135 L1_AUDIO_DL_OFF = 0, | |
1136 L1_AUDIO_DL_SWITCHON_STARTED = 1, | |
1137 L1_AUDIO_DL_ON = 2, | |
1138 L1_AUDIO_DL_SWITCHOFF_STARTED = 3 | |
1139 } | |
1140 T_L1_AUDIO_DL_STATE; | |
1141 | |
1142 typedef enum | |
1143 { | |
1144 L1_AUDIO_DL_PATH = 0, | |
1145 L1_AUDIO_UL_PATH = 1 | |
1146 } | |
1147 T_L1_AUDIO_PATH; | |
1148 | |
1149 | |
1150 typedef struct | |
1151 { | |
1152 UWORD8 l1_audio_switch_on_ul_request; | |
1153 UWORD8 l1_audio_switch_on_dl_request; | |
1154 | |
1155 UWORD8 l1_audio_ul_on2off_hold_time; | |
1156 UWORD8 l1_audio_dl_on2off_hold_time; | |
1157 | |
1158 T_L1_AUDIO_ACTION l1_audio_ul_action; | |
1159 T_L1_AUDIO_ACTION l1_audio_dl_action; | |
1160 | |
1161 | |
1162 BOOL l1_audio_ul_switched_on; | |
1163 BOOL l1_audio_dl_switched_on; | |
1164 | |
1165 BOOL l1_audio_ul_switched_off; | |
1166 BOOL l1_audio_dl_switched_off; | |
1167 | |
1168 } | |
1169 T_L1S_AUDIO_ONOFF_MANAGER; | |
1170 | |
1171 #endif // L1_AUDIO_MCU_ONOFF | |
1172 | |
1173 #if(L1_MIDI_BUFFER == 1) | |
1174 typedef struct | |
1175 { | |
1176 UWORD8 a_midi_buffer_size; | |
1177 #if (DRP_FW_BUILD != 1) | |
1178 #if ((OP_L1_STANDALONE == 0) && (PSP_STANDALONE == 0)) | |
1179 UINT16 audio_play_buffer[AUDIO_EXT_MIDI_BUFFER_SIZE*2]; | |
1180 #endif | |
1181 #endif | |
1182 }T_MIDI_DMA_PARAM; | |
1183 #endif | |
1184 | |
1185 #if(L1_BT_AUDIO ==1) | |
1186 typedef struct | |
1187 { | |
1188 BOOL connected_status; | |
1189 BOOL pcm_data_ready; | |
1190 UWORD8 pcm_data_pending; | |
1191 UWORD8 pcm_data_end; | |
1192 UWORD8 pcm_data_failed; | |
1193 L1AudioPcmConfig pcmconfig; | |
1194 L1AudioPcmBlock pcmblock; | |
1195 L1AudioConfigureCallback audio_configure_callback; | |
1196 L1AudioPcmCallback audio_pcmblock_callback; | |
1197 } T_L1_BT_AUDIO; | |
1198 #endif | |
1199 | |
1200 | |
1201 #endif // AUDIO_TASK |