comparison gsm-fw/L1/audio_include/l1audio_msgty.h @ 603:d638de8cc6b8

gsm-fw/L1/audio_*/*.h: replacing Leonardo headers with LoCosto versions
author Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
date Thu, 28 Aug 2014 18:40:12 +0000
parents 57ad8f4d5cb5
children 45bf440cc677
comparison
equal deleted inserted replaced
602:5f93a9a8f9a0 603:d638de8cc6b8
1 /************* Revision Controle System Header ************* 1 /************* Revision Controle System Header *************
2 * GSM Layer 1 software 2 * GSM Layer 1 software
3 * L1AUDIO_MSGTY.H 3 * L1AUDIO_MSGTY.H
4 * 4 *
5 * Filename l1audio_msgty.h 5 * Filename l1audio_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 #ifndef _L1AUDIO_MSGTY_H
10 #define _L1AUDIO_MSGTY_H
11
12 #include "l1sw.cfg"
9 13
10 #if (AUDIO_TASK == 1) 14 #if (AUDIO_TASK == 1)
11 15
12 #if (OP_RIV_AUDIO == 1) 16 #if (OP_RIV_AUDIO == 1)
13 #include "rv_general.h" 17 #include "rv_general.h"
343 UWORD16 *model_RAM_address_output; 347 UWORD16 *model_RAM_address_output;
344 } 348 }
345 T_L1_SRBACK_TEMP_SAVE_DATA_REQ; 349 T_L1_SRBACK_TEMP_SAVE_DATA_REQ;
346 #endif 350 #endif
347 351
348 #if (AEC) 352 #if (L1_AEC == 1)
349 typedef struct 353 typedef struct
350 { 354 {
351 #if (defined _WINDOWS && (OP_RIV_AUDIO == 1)) 355 #if (defined _WINDOWS && (OP_RIV_AUDIO == 1))
352 T_RV_HDR header; 356 T_RV_HDR header;
353 #endif 357 #endif
374 } 378 }
375 T_L1_AEC_IND; 379 T_L1_AEC_IND;
376 #endif 380 #endif
377 #endif 381 #endif
378 382
383 #if (L1_AEC == 2)
384
385 typedef enum
386 {
387 L1_AQI_AEC_STOP = 0,
388 L1_AQI_AEC_START = 1,
389 L1_AQI_AEC_UPDATE = 2
390 }
391 T_AEC_CONTROL;
392
393
394 typedef struct
395 {
396 WORD16 aec_mode;
397 WORD16 mu;
398 UWORD16 cont_filter;
399 WORD16 scale_input_ul;
400 WORD16 scale_input_dl;
401 WORD16 div_dmax;
402 UWORD16 div_swap_good;
403 UWORD16 div_swap_bad;
404 WORD16 block_init;
405 UWORD16 fact_vad;
406 UWORD16 fact_asd_fil;
407 UWORD16 fact_asd_mut;
408 UWORD16 thrs_abs;
409 UWORD16 es_level_max;
410 UWORD16 granularity_att;
411 UWORD16 coef_smooth;
412 // UWORD16 block_size;
413 }
414 T_MMI_AQI_AEC_PARAMS;
415
416
417
418 typedef struct
419 {
420 #if (defined _WINDOWS && (OP_RIV_AUDIO == 1))
421 T_RV_HDR header;
422 #endif
423 T_AEC_CONTROL aec_control;
424 T_MMI_AQI_AEC_PARAMS aec_parameters;
425 }
426 T_MMI_AQI_AEC_REQ;
427
428
429 typedef enum
430 {
431 L1_AQI_AEC_NO_ACTION = -1,
432 L1_AQI_AEC_STOPPED = 0,
433 L1_AQI_AEC_STARTED = 1,
434 L1_AQI_AEC_UPDATED = 2
435 }
436 T_AEC_ACTION;
437
438 typedef struct
439 {
440 #if (defined _WINDOWS && (OP_RIV_AUDIO == 1))
441 T_RV_HDR header;
442 #endif
443
444 T_AEC_ACTION aec_action;
445 }
446 T_MMI_AQI_AEC_CON;
447
448 typedef struct
449 {
450 #if (defined _WINDOWS && (OP_RIV_AUDIO == 1))
451 T_RV_HDR header;
452 #endif
453
454 T_AEC_ACTION aec_action;
455 }
456 T_L1_AQI_AEC_CON;
457
458 #endif// L1_AEC ==2
459
460
379 #if (FIR) 461 #if (FIR)
380 typedef struct 462 typedef struct
381 { 463 {
382 #if (defined _WINDOWS && (OP_RIV_AUDIO == 1)) 464 #if (defined _WINDOWS && (OP_RIV_AUDIO == 1))
383 T_RV_HDR header; 465 T_RV_HDR header;
487 T_MMI_CPORT_CONFIGURE_CON; 569 T_MMI_CPORT_CONFIGURE_CON;
488 #else 570 #else
489 typedef T_L1_CPORT_CONFIGURE_CON T_MMI_CPORT_CONFIGURE_CON; 571 typedef T_L1_CPORT_CONFIGURE_CON T_MMI_CPORT_CONFIGURE_CON;
490 #endif 572 #endif
491 #endif 573 #endif
574
575 #if (L1_EXTERNAL_AUDIO_VOICE_ONOFF == 1)
576 typedef struct
577 {
578 #if (defined _WINDOWS && (OP_RIV_AUDIO == 1))
579 T_RV_HDR header;
580 #endif
581 UWORD8 onoff_value;
582 }
583 T_MMI_AUDIO_ONOFF_REQ;
584 #endif
585
586 #if (L1_EXT_MCU_AUDIO_VOICE_ONOFF == 1)
587 typedef struct
588 {
589 #if (defined _WINDOWS && (OP_RIV_AUDIO == 1))
590 T_RV_HDR header;
591 #endif
592 UWORD8 vul_onoff_value;
593 UWORD8 vdl_onoff_value;
594 }
595 T_MMI_AUDIO_ONOFF_REQ;
596 #endif
597
598 #if (L1_EXT_AUDIO_MGT == 1)
599 typedef struct
600 {
601 UWORD8 sampling_frequency;
602 UWORD8 DMA_channel_number;
603 UWORD8 data_type;
604 UWORD8 element_number;
605 UWORD16 frame_number;
606 WORD8* source_buffer_address;
607 UWORD8 mono_stereo;
608 UWORD8 session_id;
609 }
610 T_MMI_EXT_AUDIO_MGT_START_REQ;
611 #endif
612
613 #if (L1_ANR == 1)
614 typedef struct
615 {
616 #if (OP_RIV_AUDIO == 1)
617 T_RV_HDR header;
618 #endif
619 BOOL anr_enable;
620 WORD16 min_gain;
621 WORD8 div_factor_shift;
622 UWORD8 ns_level;
623 }
624 T_MMI_ANR_REQ;
625 #endif
626
627 #if (L1_ANR == 2)
628 typedef enum
629 {
630 ANR_STOP = 0,
631 ANR_START = 1,
632 ANR_UPDATE = 2
633 }
634 T_ANR_CONTROL;
635
636 typedef struct
637 {
638 WORD16 control;
639 WORD16 ns_level;
640 WORD16 tone_ene_th;
641 WORD16 tone_cnt_th;
642 }
643 T_MMI_AQI_ANR_PARAMS;
644
645 typedef struct
646 {
647 #if (OP_RIV_AUDIO == 1)
648 T_RV_HDR header;
649 #endif
650 T_ANR_CONTROL anr_ul_control;
651 T_MMI_AQI_ANR_PARAMS parameters;
652 }
653 T_MMI_AQI_ANR_REQ;
654
655 typedef enum
656 {
657 ANR_NO_ACTION = -1,
658 ANR_STOPPED = 0,
659 ANR_STARTED = 1,
660 ANR_UPDATED = 2
661 }
662 T_ANR_ACTION;
663
664 typedef struct
665 {
666 #if (OP_RIV_AUDIO == 1)
667 T_RV_HDR header;
668 #endif
669 T_ANR_ACTION anr_ul_action;
670 }
671 T_MMI_AQI_ANR_CON;
672
673 typedef struct
674 {
675 #if (OP_RIV_AUDIO == 1)
676 T_RV_HDR header;
677 #endif
678 T_ANR_ACTION anr_ul_action;
679 }
680 T_L1_AQI_ANR_CON;
681
682 #endif
683
684 #if (L1_IIR == 1)
685 typedef struct
686 {
687 #if (OP_RIV_AUDIO == 1)
688 T_RV_HDR header;
689 #endif
690 BOOL iir_enable;
691 UWORD8 nb_iir_blocks;
692 WORD16 *iir_coefs;
693 UWORD8 nb_fir_coefs;
694 WORD16 *fir_coefs;
695 WORD8 input_scaling;
696 WORD8 fir_scaling;
697 WORD8 input_gain_scaling;
698 WORD8 output_gain_scaling;
699 UWORD16 output_gain;
700 WORD16 feedback;
701 }
702 T_MMI_IIR_REQ;
703 #endif
704
705 #if (L1_WCM == 1)
706
707 typedef enum
708 {
709 WCM_STOP = 0,
710 WCM_START = 1,
711 WCM_UPDATE = 2
712 }
713 T_WCM_CONTROL;
714
715 typedef struct
716 {
717 WORD16 mode;
718 WORD16 frame_size;
719 WORD16 num_sub_frames;
720 WORD16 ratio;
721 WORD16 threshold;
722 WORD16 gain[16];
723 }
724 T_MMI_AQI_WCM_PARAMS;
725
726 typedef struct
727 {
728 #if (OP_RIV_AUDIO == 1)
729 T_RV_HDR header;
730 #endif
731 T_WCM_CONTROL wcm_control;
732 T_MMI_AQI_WCM_PARAMS parameters;
733 }
734 T_MMI_AQI_WCM_REQ;
735
736 typedef T_MMI_AQI_WCM_REQ T_AQI_WCM_PARAM;
737
738 typedef enum
739 {
740 WCM_NO_ACTION = -1,
741 WCM_STOPPED = 0,
742 WCM_STARTED = 1,
743 WCM_UPDATED = 2
744 }
745 T_WCM_ACTION;
746
747 typedef struct
748 {
749 #if (OP_RIV_AUDIO == 1)
750 T_RV_HDR header;
751 #endif
752 T_WCM_ACTION wcm_action;
753 }
754 T_MMI_AQI_WCM_CON;
755
756 typedef struct
757 {
758 #if (OP_RIV_AUDIO == 1)
759 T_RV_HDR header;
760 #endif
761 T_WCM_ACTION wcm_action;
762 }
763 T_L1_AQI_WCM_CON;
764
765 #endif
766
767
768 #if (L1_AGC_UL == 1 || L1_AGC_DL == 1)
769
770 typedef enum
771 {
772 AGC_STOP = 0,
773 AGC_START = 1,
774 AGC_UPDATE = 2
775 }
776 T_AGC_CONTROL;
777
778 typedef struct
779 {
780 UWORD16 control;
781 UWORD16 frame_size;
782 WORD16 targeted_level;
783 WORD16 signal_up;
784 WORD16 signal_down;
785 WORD16 max_scale;
786 WORD16 gain_smooth_alpha;
787 WORD16 gain_smooth_alpha_fast;
788 WORD16 gain_smooth_beta;
789 WORD16 gain_smooth_beta_fast;
790 WORD16 gain_intp_flag;
791 }
792 T_MMI_AQI_AGC_PARAMS;
793
794 typedef enum
795 {
796 AGC_NO_ACTION = -1,
797 AGC_STOPPED = 0,
798 AGC_STARTED = 1,
799 AGC_UPDATED = 2
800 }
801 T_AGC_ACTION;
802
803 #endif
804
805 #if (L1_AGC_UL == 1)
806
807 typedef struct
808 {
809 #if (OP_RIV_AUDIO == 1)
810 T_RV_HDR header;
811 #endif
812 T_AGC_CONTROL agc_ul_control;
813 T_MMI_AQI_AGC_PARAMS parameters;
814 }
815 T_MMI_AQI_AGC_UL_REQ ;
816
817 typedef struct
818 {
819 #if (OP_RIV_AUDIO == 1)
820 T_RV_HDR header;
821 #endif
822 T_AGC_ACTION agc_ul_action;
823 }
824 T_MMI_AQI_AGC_UL_CON;
825
826 typedef struct
827 {
828 #if (OP_RIV_AUDIO == 1)
829 T_RV_HDR header;
830 #endif
831 T_AGC_ACTION agc_ul_action;
832 }
833 T_L1_AQI_AGC_UL_CON;
834
835 #endif
836
837
838 #if (L1_AGC_DL == 1)
839
840 typedef struct
841 {
842 #if (OP_RIV_AUDIO == 1)
843 T_RV_HDR header;
844 #endif
845 T_AGC_CONTROL agc_dl_control;
846 T_MMI_AQI_AGC_PARAMS parameters;
847 }
848 T_MMI_AQI_AGC_DL_REQ ;
849
850 typedef struct
851 {
852 #if (OP_RIV_AUDIO == 1)
853 T_RV_HDR header;
854 #endif
855 T_AGC_ACTION agc_dl_action;
856 }
857 T_MMI_AQI_AGC_DL_CON;
858
859 typedef struct
860 {
861 #if (OP_RIV_AUDIO == 1)
862 T_RV_HDR header;
863 #endif
864 T_AGC_ACTION agc_dl_action;
865 }
866 T_L1_AQI_AGC_DL_CON;
867
868 #endif
869
870
871 #if (L1_IIR == 2)
872
873 typedef enum
874 {
875 IIR_STOP = 0,
876 IIR_START = 1,
877 IIR_UPDATE = 2
878 }
879 T_IIR_CONTROL;
880
881
882 typedef struct
883 {
884 UWORD16 fir_enable;
885 UWORD16 fir_length;
886 WORD16 fir_shift;
887 WORD16 fir_taps[40];
888 }
889 T_MMI_AQI_IIR_FIR_PARAMS;
890
891 typedef struct
892 {
893 WORD16 sos_fact;
894 WORD16 sos_fact_form;
895 WORD16 sos_den[2];
896 WORD16 sos_num[3];
897 WORD16 sos_num_form;
898 }
899 T_MMI_AQI_IIR_SINGLE_SOS_PARAMS;
900
901 typedef struct
902 {
903
904 UWORD16 sos_enable;
905 UWORD16 sos_number;
906 T_MMI_AQI_IIR_SINGLE_SOS_PARAMS sos_filter[6];
907 }
908 T_MMI_AQI_IIR_SOS_PARAMS;
909
910 typedef struct
911 {
912 UWORD16 control;
913 UWORD16 frame_size;
914 UWORD16 fir_swap;
915 T_MMI_AQI_IIR_FIR_PARAMS fir_filter;
916 T_MMI_AQI_IIR_SOS_PARAMS sos_filter;
917 WORD16 gain;
918 }
919 T_MMI_AQI_IIR_PARAMS;
920
921 typedef struct
922 {
923 #if (OP_RIV_AUDIO == 1)
924 T_RV_HDR header;
925 #endif
926 T_IIR_CONTROL iir_dl_control;
927 T_MMI_AQI_IIR_PARAMS parameters;
928 }
929 T_MMI_AQI_IIR_DL_REQ;
930
931 typedef T_MMI_AQI_IIR_DL_REQ T_AQI_IIR_PARAM;
932
933 typedef enum
934 {
935 IIR_NO_ACTION = -1,
936 IIR_STOPPED = 0,
937 IIR_STARTED = 1,
938 IIR_UPDATED = 2
939 }
940 T_IIR_ACTION;
941
942 typedef struct
943 {
944 #if (OP_RIV_AUDIO == 1)
945 T_RV_HDR header;
946 #endif
947 T_IIR_ACTION iir_dl_action;
948 }
949 T_MMI_AQI_IIR_DL_CON;
950
951 typedef struct
952 {
953 #if (OP_RIV_AUDIO == 1)
954 T_RV_HDR header;
955 #endif
956 T_IIR_ACTION iir_dl_action;
957 }
958 T_L1_AQI_IIR_DL_CON;
959
960 #endif
961
962
963 #if (L1_DRC == 1)
964
965 typedef enum
966 {
967 DRC_STOP = 0,
968 DRC_START = 1,
969 DRC_UPDATE = 2
970 }
971 T_DRC_CONTROL;
972
973 typedef struct
974 {
975 WORD16 speech_mode_samp_f;
976 WORD16 num_subbands;
977 WORD16 frame_len;
978 WORD16 expansion_knee_fb_bs;
979 WORD16 expansion_knee_md_hg;
980 WORD16 expansion_ratio_fb_bs;
981 WORD16 expansion_ratio_md_hg;
982 WORD16 max_amplification_fb_bs;
983 WORD16 max_amplification_md_hg;
984 WORD16 compression_knee_fb_bs;
985 WORD16 compression_knee_md_hg;
986 WORD16 compression_ratio_fb_bs;
987 WORD16 compression_ratio_md_hg;
988 WORD16 energy_limiting_th_fb_bs;
989 WORD16 energy_limiting_th_md_hg;
990 WORD16 limiter_threshold_fb;
991 WORD16 limiter_threshold_bs;
992 WORD16 limiter_threshold_md;
993 WORD16 limiter_threshold_hg;
994 WORD16 limiter_hangover_spect_preserve;
995 WORD16 limiter_release_fb_bs;
996 WORD16 limiter_release_md_hg;
997 WORD16 gain_track_fb_bs;
998 WORD16 gain_track_md_hg;
999 WORD16 low_pass_filter[17];
1000 WORD16 mid_band_filter[17];
1001 }
1002 T_MMI_AQI_DRC_PARAMS;
1003
1004 typedef struct
1005 {
1006 #if (OP_RIV_AUDIO == 1)
1007 T_RV_HDR header;
1008 #endif
1009 T_DRC_CONTROL drc_dl_control;
1010 T_MMI_AQI_DRC_PARAMS parameters;
1011 }
1012 T_MMI_AQI_DRC_REQ;
1013
1014 typedef T_MMI_AQI_DRC_REQ T_AQI_DRC_PARAM;
1015
1016 typedef enum
1017 {
1018 DRC_NO_ACTION = -1,
1019 DRC_STOPPED = 0,
1020 DRC_STARTED = 1,
1021 DRC_UPDATED = 2
1022 }
1023 T_DRC_ACTION;
1024
1025 typedef struct
1026 {
1027 #if (OP_RIV_AUDIO == 1)
1028 T_RV_HDR header;
1029 #endif
1030 T_DRC_ACTION drc_dl_action;
1031 }
1032 T_MMI_AQI_DRC_CON;
1033
1034 typedef struct
1035 {
1036 #if (OP_RIV_AUDIO == 1)
1037 T_RV_HDR header;
1038 #endif
1039 T_DRC_ACTION drc_dl_action;
1040 }
1041 T_L1_AQI_DRC_CON;
1042
1043 #endif //L1_DRC
1044
1045
1046 #if (L1_LIMITER == 1)
1047 typedef struct
1048 {
1049 #if (OP_RIV_AUDIO == 1)
1050 T_RV_HDR header;
1051 #endif
1052 BOOL limiter_enable;
1053 UWORD16 block_size;
1054 UWORD16 slope_update_period;
1055 UWORD16 nb_fir_coefs;
1056 WORD16 *filter_coefs;
1057 WORD16 thr_low_0;
1058 WORD16 thr_low_slope;
1059 WORD16 thr_high_0;
1060 WORD16 thr_high_slope;
1061 WORD16 gain_fall;
1062 WORD16 gain_rise;
1063 }
1064 T_MMI_LIMITER_REQ;
1065 #endif
1066
1067 #if (L1_ES == 1)
1068 typedef struct
1069 {
1070 #if (OP_RIV_AUDIO == 1)
1071 T_RV_HDR header;
1072 #endif
1073 BOOL es_enable;
1074 UWORD8 es_behavior;
1075 UWORD8 es_mode;
1076 WORD16 es_gain_dl;
1077 WORD16 es_gain_ul_1;
1078 WORD16 es_gain_ul_2;
1079 WORD16 tcl_fe_ls_thr;
1080 WORD16 tcl_dt_ls_thr;
1081 WORD16 tcl_fe_ns_thr;
1082 WORD16 tcl_dt_ns_thr;
1083 WORD16 tcl_ne_thr;
1084 WORD16 ref_ls_pwr;
1085 WORD16 switching_time;
1086 WORD16 switching_time_dt;
1087 WORD16 hang_time;
1088 WORD16 gain_lin_dl_vect[4];
1089 WORD16 gain_lin_ul_vect[4];
1090 }
1091 T_MMI_ES_REQ;
1092 #endif
1093
1094 #if (L1_VOCODER_IF_CHANGE == 1)
1095 typedef struct
1096 {
1097 BOOL vocoder_state; // TRUE if enable request, FALSE if disable request
1098 } T_MMI_TCH_VOCODER_CFG_REQ;
1099 #endif // L1_VOCODER_IF_CHANGE == 1
1100
1101 #if (L1_PCM_EXTRACTION)
1102 typedef struct
1103 {
1104 #if (defined _WINDOWS && (OP_RIV_AUDIO == 1))
1105 T_RV_HDR header;
1106 #endif
1107 UWORD8 session_id;
1108 UWORD8 download_ul_gain;
1109 UWORD8 download_dl_gain;
1110 UWORD32 maximum_size;
1111 } T_MMI_PCM_DOWNLOAD_START_REQ;
1112
1113 typedef struct
1114 {
1115 #if (defined _WINDOWS && (OP_RIV_AUDIO == 1))
1116 T_RV_HDR header;
1117 #endif
1118 UWORD8 session_id;
1119 UWORD8 upload_ul_gain;
1120 UWORD8 upload_dl_gain;
1121 UWORD32 maximum_size;
1122 } T_MMI_PCM_UPLOAD_START_REQ;
1123
1124 typedef struct
1125 {
1126 #if (defined _WINDOWS && (OP_RIV_AUDIO == 1))
1127 T_RV_HDR header;
1128 #endif
1129 UWORD32 maximum_size;
1130 } T_MMI_PCM_DOWNLOAD_STOP_REQ;
1131
1132 typedef struct
1133 {
1134 UWORD32 uploaded_size;
1135 } T_L1_PCM_UPLOAD_STOP_CON;
1136
1137 #if (OP_RIV_AUDIO == 1)
1138 typedef struct
1139 {
1140 T_RV_HDR header;
1141 UWORD32 uploaded_size;
1142 }
1143 T_MMI_PCM_UPLOAD_STOP_CON;
1144 #else
1145 typedef T_L1_PCM_UPLOAD_STOP_CON T_MMI_PCM_UPLOAD_STOP_CON;
1146 #endif
1147
1148 #endif /* L1_PCM_EXTRACTION */
1149
492 #endif // AUDIO_TASK 1150 #endif // AUDIO_TASK
1151
1152 typedef struct
1153 {
1154 UWORD8 outen1;
1155 UWORD8 outen2;
1156 UWORD8 outen3;
1157 UWORD8 classD;
1158 } T_MMI_OUTEN_CFG_REQ;
1159
1160 typedef struct
1161 {
1162 #if (OP_RIV_AUDIO == 1)
1163 T_RV_HDR header;
1164 #endif
1165 UWORD8 outen1;
1166 UWORD8 outen2;
1167 UWORD8 outen3;
1168 UWORD8 classD;
1169 } T_MMI_OUTEN_CFG_READ_CON;
1170
1171
1172 #endif // _L1AUDIO_MSGTY_H