comparison L1/audio_include/l1audio_defty.h @ 5:420ac6391166

L1/audio_include: replacing with the version from tcs211-l1-reconst
author Mychaela Falconia <falcon@freecalypso.org>
date Thu, 09 Jun 2016 01:15:50 +0000
parents 75a11d740a02
children
comparison
equal deleted inserted replaced
4:1a22dd26c8a4 5:420ac6391166
1 /************* Revision Controle System Header ************* 1 /************* Revision Controle System Header *************
2 * GSM Layer 1 software 2 * GSM Layer 1 software
3 * L1AUDIO_DEFTY.H 3 * L1AUDIO_DEFTY.H
4 * 4 *
5 * Filename l1audio_defty.h 5 * Filename l1audio_defty.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 #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) 10 #if (AUDIO_TASK == 1)
17 11
18 #if (KEYBEEP) 12 #if (KEYBEEP)
19 /**************************************************************************/ 13 /***************************************************************************************/
20 /* Keybeep l1a_l1s_com structure... */ 14 /* Keybeep l1a_l1s_com structure... */
21 /**************************************************************************/ 15 /***************************************************************************************/
22 typedef struct 16 typedef struct
23 { 17 {
24 BOOL start; 18 BOOL start;
25 BOOL stop; 19 BOOL stop;
26 } 20 }
32 } 26 }
33 T_KEYBEEP_TASK; 27 T_KEYBEEP_TASK;
34 #endif 28 #endif
35 29
36 #if (TONE) 30 #if (TONE)
37 /**************************************************************************/ 31 /***************************************************************************************/
38 /* Tone l1a_l1s_com structure... */ 32 /* Tone l1a_l1s_com structure... */
39 /**************************************************************************/ 33 /***************************************************************************************/
40 typedef struct 34 typedef struct
41 { 35 {
42 BOOL start; 36 BOOL start;
43 BOOL stop; 37 BOOL stop;
44 } 38 }
50 } 44 }
51 T_TONE_TASK; 45 T_TONE_TASK;
52 #endif 46 #endif
53 47
54 #if (MELODY_E1) 48 #if (MELODY_E1)
55 /**************************************************************************/ 49 /***************************************************************************************/
56 /* Melody l1a_l1s_com structure... */ 50 /* Melody l1a_l1s_com structure... */
57 /**************************************************************************/ 51 /***************************************************************************************/
58 typedef struct 52 typedef struct
59 { 53 {
60 BOOL start; 54 BOOL start;
61 BOOL stop; 55 BOOL stop;
62 } 56 }
80 T_MELODY_COMMAND command; 74 T_MELODY_COMMAND command;
81 T_MELODY_PARAM parameters; 75 T_MELODY_PARAM parameters;
82 } 76 }
83 T_MELODY_TASK; 77 T_MELODY_TASK;
84 78
85 /**************************************************************************/ 79 /***************************************************************************************/
86 /* Melody l1s structure... */ 80 /* Melody l1s structure... */
87 /**************************************************************************/ 81 /***************************************************************************************/
88 82
89 typedef struct 83 typedef struct
90 { 84 {
91 UWORD8 error_id; 85 UWORD8 error_id;
92 UWORD16 buffer_size; 86 UWORD16 buffer_size;
99 } 93 }
100 T_L1S_MELODY_TASK; 94 T_L1S_MELODY_TASK;
101 #endif 95 #endif
102 96
103 #if (VOICE_MEMO) 97 #if (VOICE_MEMO)
104 /**************************************************************************/ 98 /***************************************************************************************/
105 /* Voice memo l1a_l1s_com structure... */ 99 /* Voice memo l1a_l1s_com structure... */
106 /**************************************************************************/ 100 /***************************************************************************************/
107 101
108 typedef struct 102 typedef struct
109 { 103 {
110 BOOL start; 104 BOOL start;
111 BOOL stop; 105 BOOL stop;
159 T_VM_PLAY_TASK play; 153 T_VM_PLAY_TASK play;
160 T_VM_RECORD_TASK record; 154 T_VM_RECORD_TASK record;
161 } 155 }
162 T_VM_TASK; 156 T_VM_TASK;
163 157
164 /**************************************************************************/ 158 /***************************************************************************************/
165 /* Voice memo l1s structure... */ 159 /* Voice memo l1s structure... */
166 /**************************************************************************/ 160 /***************************************************************************************/
167 161
168 typedef struct 162 typedef struct
169 { 163 {
170 API *a_du_x; 164 API *a_du_x;
171 UWORD8 error_id; 165 UWORD8 error_id;
190 T_L1S_VM_RECORD_TASK record; 184 T_L1S_VM_RECORD_TASK record;
191 } 185 }
192 T_L1S_VM_TASK; 186 T_L1S_VM_TASK;
193 187
194 #endif 188 #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) 189 #if (L1_VOICE_MEMO_AMR)
282 /**************************************************************************/ 190 /***************************************************************************************/
283 /* Voice memo amr l1a_l1s_com structure... */ 191 /* Voice memo amr l1a_l1s_com structure... */
284 /**************************************************************************/ 192 /***************************************************************************************/
285 193
286 typedef struct 194 typedef struct
287 { 195 {
288 BOOL start; 196 BOOL start;
289 BOOL pause;
290 BOOL resume;
291 BOOL stop; 197 BOOL stop;
292 } 198 }
293 T_VM_AMR_PLAY_COMMAND; 199 T_VM_AMR_PLAY_COMMAND;
294 200
295 typedef struct 201 typedef struct
321 } 227 }
322 T_VM_AMR_RECORD_PARAM; 228 T_VM_AMR_RECORD_PARAM;
323 229
324 typedef struct 230 typedef struct
325 { 231 {
326 T_VM_AMR_RECORD_COMMAND command; 232 T_VM_AMR_RECORD_COMMAND command;
327 T_VM_AMR_RECORD_PARAM parameters; 233 T_VM_AMR_RECORD_PARAM parameters;
328 } 234 }
329 T_VM_AMR_RECORD_TASK; 235 T_VM_AMR_RECORD_TASK;
330 236
331 typedef struct 237 typedef struct
332 { 238 {
333 T_VM_AMR_PLAY_TASK play; 239 T_VM_AMR_PLAY_TASK play;
334 T_VM_AMR_RECORD_TASK record; 240 T_VM_AMR_RECORD_TASK record;
335 } 241 }
336 T_VM_AMR_TASK; 242 T_VM_AMR_TASK;
337 243
338 /**************************************************************************/ 244 /***************************************************************************************/
339 /* Voice memo l1s structure... */ 245 /* Voice memo l1s structure... */
340 /**************************************************************************/ 246 /***************************************************************************************/
341 247
342 typedef struct 248 typedef struct
343 { 249 {
344 API *a_du_x; 250 API *a_du_x;
345 UWORD8 error_id; 251 UWORD8 error_id;
367 } 273 }
368 T_L1S_VM_AMR_TASK; 274 T_L1S_VM_AMR_TASK;
369 275
370 #endif // L1_VOICE_MEMO_AMR 276 #endif // L1_VOICE_MEMO_AMR
371 #if (SPEECH_RECO) 277 #if (SPEECH_RECO)
372 /**************************************************************************/ 278 /***************************************************************************************/
373 /* Speech recogniton l1a_l1s_com structure... */ 279 /* Speech recogniton l1a_l1s_com structure... */
374 /**************************************************************************/ 280 /***************************************************************************************/
375 281
376 typedef struct 282 typedef struct
377 { 283 {
378 BOOL enroll_start; 284 BOOL enroll_start;
379 BOOL enroll_stop; 285 BOOL enroll_stop;
441 } 347 }
442 T_L1_SRBACK_COM; 348 T_L1_SRBACK_COM;
443 349
444 #endif 350 #endif
445 351
446 #if (L1_AEC == 1) 352 #if (AEC)
447 typedef struct 353 typedef struct
448 { 354 {
449 UWORD16 aec_control; 355 UWORD16 aec_control;
450 #if (L1_NEW_AEC) 356 #if (L1_NEW_AEC)
451 UWORD16 cont_filter; 357 UWORD16 cont_filter;
489 WORD8 visibility_interval; 395 WORD8 visibility_interval;
490 #endif 396 #endif
491 } T_L1S_AEC_TASK; 397 } T_L1S_AEC_TASK;
492 #endif 398 #endif
493 399
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) 400 #if (FIR)
539 typedef struct 401 typedef struct
540 { 402 {
541 BOOL fir_loop; 403 BOOL fir_loop;
542 UWORD8 update_fir; 404 UWORD8 update_fir;
578 T_AUDIO_MODE_PARAM parameters; 440 T_AUDIO_MODE_PARAM parameters;
579 } 441 }
580 T_AUDIO_MODE_TASK; 442 T_AUDIO_MODE_TASK;
581 #endif 443 #endif
582 #if (MELODY_E2) 444 #if (MELODY_E2)
583 /**************************************************************************/ 445 /***************************************************************************************/
584 /* Melody format E2 l1a_l1s_com structure... */ 446 /* Melody format E2 l1a_l1s_com structure... */
585 /**************************************************************************/ 447 /***************************************************************************************/
586 typedef struct 448 typedef struct
587 { 449 {
588 BOOL start; 450 BOOL start;
589 BOOL stop; 451 BOOL stop;
590 } 452 }
609 T_MELODY_E2_COMMAND command; 471 T_MELODY_E2_COMMAND command;
610 T_MELODY_E2_PARAM parameters; 472 T_MELODY_E2_PARAM parameters;
611 } 473 }
612 T_MELODY_E2_TASK; 474 T_MELODY_E2_TASK;
613 475
614 /**************************************************************************/ 476 /***************************************************************************************/
615 /* Melody format E2 l1s structure... */ 477 /* Melody format E2 l1s structure... */
616 /**************************************************************************/ 478 /***************************************************************************************/
617 typedef struct 479 typedef struct
618 { 480 {
619 UWORD8 error_id; 481 UWORD8 error_id;
620 UWORD16 buffer_size; 482 UWORD16 buffer_size;
621 UWORD8 *ptr_buf; 483 UWORD8 *ptr_buf;
637 UWORD8 timebase_mod_60ms; 499 UWORD8 timebase_mod_60ms;
638 BOOL dsp_task; 500 BOOL dsp_task;
639 } 501 }
640 T_L1S_MELODY_E2_COMMON_VAR; 502 T_L1S_MELODY_E2_COMMON_VAR;
641 503
642 /**************************************************************************/ 504 /***************************************************************************************/
643 /* Melody format E2 audio background structure... */ 505 /* Melody format E2 audio background structure... */
644 /**************************************************************************/ 506 /***************************************************************************************/
645 typedef struct 507 typedef struct
646 { 508 {
647 API *API_address; 509 API *API_address;
648 UWORD16 allowed_size; 510 UWORD16 allowed_size;
649 UWORD8 number_of_user[SC_AUDIO_MELODY_E2_MAX_NUMBER_OF_INSTRUMENT]; 511 UWORD8 number_of_user[SC_AUDIO_MELODY_E2_MAX_NUMBER_OF_INSTRUMENT];
650 UWORD8 instrument_id[SC_AUDIO_MELODY_E2_MAX_NUMBER_OF_INSTRUMENT]; 512 UWORD8 instrument_id[SC_AUDIO_MELODY_E2_MAX_NUMBER_OF_INSTRUMENT];
651 UWORD16 instrument_size[SC_AUDIO_MELODY_E2_MAX_NUMBER_OF_INSTRUMENT]; 513 UWORD16 instrument_size[SC_AUDIO_MELODY_E2_MAX_NUMBER_OF_INSTRUMENT];
652 } T_AUDIO_BACK_MELODY_E2; 514 } T_AUDIO_BACK_MELODY_E2;
653 #endif // MELODY_E2 515 #endif // MELODY_E2
654 #if (L1_CPORT == 1) 516 #if (L1_CPORT == 1)
655 /**************************************************************************/ 517 /***************************************************************************************/
656 /* Cport l1a_l1s_com structure... */ 518 /* Cport l1a_l1s_com structure... */
657 /**************************************************************************/ 519 /***************************************************************************************/
658 typedef struct 520 typedef struct
659 { 521 {
660 BOOL start; 522 BOOL start;
661 } 523 }
662 T_CPORT_COMMAND; 524 T_CPORT_COMMAND;
681 T_CPORT_COMMAND command; 543 T_CPORT_COMMAND command;
682 T_CPORT_PARAM parameters; 544 T_CPORT_PARAM parameters;
683 } 545 }
684 T_CPORT_TASK; 546 T_CPORT_TASK;
685 #endif 547 #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 548 #endif // AUDIO_TASK