blob: 3d171b37ca8a1fa24eba64211bad9ca902e5d269 [file] [log] [blame]
/***********************************************************************
* Copyright (C) 2001, ZTE Corporation.
*
* File Name: aud_nv.h
* File Mark:
* Description: Provide audio NV function prototype declaration and type declaration. The audio NV type declaration is moved from eep.h.
* Others:
* Version: v0.5
* Author: Wangjun
* Date: 2009-02-14
*
* History 1:
* Date:
* Version:
* Author:
* Modification:
* History 2:
**********************************************************************/
#ifndef _AUD_NV_H
#define _AUD_NV_H
/**************************************************************************
* Include files *
**************************************************************************/
/**************************************************************************
* Macro *
**************************************************************************/
#ifndef int16
#define int16 short int
#endif
#ifndef int32
#define int32 long
#endif
/* Defines to determine array sizes */
#if 0
#define EEP_AUD_BIQUAD_FILTERS_UL 30
#define EEP_AUD_BIQUAD_FILTERS_DL 20
#define EEP_AUD_BIQUAD_FILTERS_CBUF 10
#endif
#if 0
#define EEP_AUD_FIR_FILTERS_UL 5
#define EEP_AUD_FIR_FILTERS_DL 5
#define EEP_AUD_FIR_FILTERS_CBUF 5
#endif
#if 0
#define EEP_AUD_HF 8
#endif
#if 0
#define EEP_AUD_ASP_UL 5
#define EEP_AUD_DL_NR 5
#endif
#define EEP_AUD_UPLINK_PATHS 22
#define EEP_AUD_DOWNLINK_PATHS 29
#define AUDIO_PATHS 10 /*defined multiple places -also in aud_data.h*/
/*[Begin] [lvwenhua-2010/9/16]*/
#define EEP_CODEC_UPLINK_PATHS 3 //MAX_CODEC_INPUT_PATH
#define EEP_CODEC_DOWNLINK_PATHS 5 //MAX_CODEC_OUTPUT_PATH
#define EEP_VOICE_OUTPUT_VOL_LEVELS 12 /* MAX_VOICE_OUTPUT_VOL_LEVEL */
#define EEP_MIDI_OUTPUT_VOL_LEVELS 12 /* MAX_MIDI_OUTPUT_VOL_LEVEL */
#define EEP_TONE_OUTPUT_VOL_LEVELS 12 /* MAX_TONE_OUTPUT_VOL_LEVEL */
#define EEP_PCM_OUTPUT_VOL_LEVELS 12 /* MAX_AUDIO_OUTPUT_VOL_LEVEL */
/*[End] [lvwenhua-2010/9/16]*/
#define EEP_AUD_CEPT 0
#define EEP_AUD_ANSI 1
#define EEP_AUD_JAPAN 2
#define EEP_AUD_REGION_END 3
typedef struct
{
UINT16 gain_out; /********************************************************************************
¹¦ÄÜ£º ÉèÖÃteak ÏÂÐеÄgain_outÔöÒæ£»
ȡֵ·¶Î§£º0 µ½0x7FFF,
0 db ֵΪ0x1FFF£»
³ö³§Öµ£º
Êý×éÖÐ,µ±n =0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,23,25,26,27,28ʱ:
aud_audio_downlink_parms[n].downlink_gain_cells.gain_out = 8192;
µ±n =20,21,22,24ʱ:
aud_audio_downlink_parms[n].downlink_gain_cells.gain_out = 0;
*********************************************************************************/
UINT16 gain_out_use; /********************************************************************************
¹¦ÄÜ£º ÉèÖÃteak ÏÂÐеÄgain_outÔöÒæÊÇ·ñÊÇÓÉNV²ÎÊýÉèÖã»
ȡֵ·¶Î§£º0: ²»Ê¹ÓÃ
1: ʹÓÃNV²ÎÊý
³ö³§Öµ£º
Êý×éÖÐ,µ±n =0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,21,22,25,26,27,28ʱ:
aud_audio_downlink_parms[n].downlink_gain_cells.gain_out_use=1;
µ±n =20,23,24ʱ:
aud_audio_downlink_parms[n].downlink_gain_cells.gain_out_use=0;
*********************************************************************************/
UINT16 kappa0; /********************************************************************************
¹¦ÄÜ£º ÉèÖÃteak ÏÂÐеÄkappa0ÔöÒæ£»
ȡֵ·¶Î§£º0 µ½0x7FFF,
0 db ֵΪ0x7FFF£»
³ö³§Öµ£º
Êý×éÖÐ,µ±n =0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,23,25,26,27,28ʱ:
aud_audio_downlink_parms[n].downlink_gain_cells.kappa0=32767;
µ±n =21,22,24ʱ:
aud_audio_downlink_parms[0].downlink_gain_cells.kappa0=0;
*********************************************************************************/
UINT16 kappa0_use; /********************************************************************************
¹¦ÄÜ£º ÉèÖÃteak ÏÂÐеÄkappa0ÔöÒæÊÇ·ñÊÇÓÉNV²ÎÊýÉèÖã»
ȡֵ·¶Î§£º0: ²»Ê¹ÓÃ
1: ʹÓÃNV²ÎÊý
³ö³§Öµ£º
Êý×éÖÐ,µ±n =0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,25,26,27,28ʱ:
aud_audio_downlink_parms[n].downlink_gain_cells.kappa0_use = 1;
µ±n =20,21,22,23,24ʱ:
aud_audio_downlink_parms[n].downlink_gain_cells.kappa0_use = 0;
*********************************************************************************/
UINT16 mix_afe; /********************************************************************************
¹¦ÄÜ£º ÉèÖÃteak ÏÂÐеĻìºÏµ½AFEµÄmix_afeÔöÒæ£»
ȡֵ·¶Î§£º0 µ½0x7FFF,
0 db ֵΪ0x3FFF£»
³ö³§Öµ£º
Êý×éÖÐ,µ±n =0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,24,25,26,27,28ʱ:
aud_audio_downlink_parms[n].downlink_gain_cells.mix_afe=1;
µ±n =21,22,23ʱ:
aud_audio_downlink_parms[n].downlink_gain_cells.mix_afe=0;
*********************************************************************************/
UINT16 mix_afe_use; /********************************************************************************
¹¦ÄÜ£º ÉèÖÃteak ÏÂÐеĻìºÏµ½AFEµÄmix_afeÔöÒæÊÇ·ñÓÉNV²ÎÊýÉèÖã»
ȡֵ·¶Î§£º0: ²»Ê¹ÓÃ
1: ʹÓÃNV²ÎÊý
³ö³§Öµ£º
Êý×éÖÐ,µ±n =0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,24,25,26,27,28ʱ:
aud_audio_downlink_parms[n].downlink_gain_cells.mix_afe_use=0;
µ±n =21,22,23ʱ:
aud_audio_downlink_parms[n].downlink_gain_cells.mix_afe_use=1;
*********************************************************************************/
}
eep_aud_downlink_gain_cells_type;
typedef struct
{
SINT16 hf_algorithm_init; /********************************************************************************
¹¦ÄÜ£º ÉèÖÃteak µÄhandsfreeµÄµÚÒ»´ÎÆô¶¯£»
ȡֵ·¶Î§£º0µ½0xFF
³ö³§Öµ£º
ÔÚÊý×éÖУ¬aud_hf[3].hf_algorithm_init=0£¬ÆäÓ඼Ϊ397¡£
*********************************************************************************/
SINT16 hf_algorithm_restart; /********************************************************************************
¹¦ÄÜ£º ÉèÖÃteak µÄhandsfreeµÄÖØÐÂÆô¶¯£»
ȡֵ·¶Î§£º0µ½0xFF
³ö³§Öµ£º
ÔÚÊý×éÖУ¬aud_hf[3].hf_algorithm_restart=0£¬ÆäÓ඼Ϊ270¡£
*********************************************************************************/
UINT16 step_width; /********************************************************************************
¹¦ÄÜ£º ÉèÖÃteak µÄhandsfreeµÄLMSµ÷½ÚµÄ²½³¤£»
ȡֵ·¶Î§£º0µ½32767
³ö³§Öµ£º
2200
*********************************************************************************/
UINT16 lms_length; /********************************************************************************
¹¦ÄÜ£º ÉèÖÃteak µÄLMSÂ˲¨Æ÷ϵÊý¸öÊý£»
ȡֵ·¶Î§£º2µ½400
³ö³§Öµ£º
250
*********************************************************************************/
UINT16 lms_offset; /********************************************************************************
¹¦ÄÜ£º ÉèÖÃteak µÄLMSÂ˲¨Æ÷ϵÊý¸öÊýµÄÆ«ÒÆ£»
ȡֵ·¶Î§£º0µ½400
³ö³§Öµ£º
8
*********************************************************************************/
UINT16 block_length; /********************************************************************************
¹¦ÄÜ£º ÉèÖÃteak µÄLMS¿é¸üÐÂÏòÁ¿³¤¶È£»
ȡֵ·¶Î§£º2£¬4£¬5£¬8
³ö³§Öµ£º
5
*********************************************************************************/
SINT16 rxtx_relation; /********************************************************************************
¹¦ÄÜ£º ÉèÖÃteakÊäÈëÊä³ö¼ûµÄ¹ØÏµ£»
ȡֵ·¶Î§£º-960µ½960
³ö³§Öµ£º
ÔÚÊý×éÖÐ:
aud_hf[0].rxtx_relation=-200£»
aud_hf[1].rxtx_relation=150£»
ÆäÓ඼Ϊ-400¡£
*********************************************************************************/
UINT16 add_atten; /********************************************************************************
¹¦ÄÜ£º ÉèÖÃteakµÄ×Ô¶¯Ôö񾀣¿éµÄË¥¼õ£»
ȡֵ·¶Î§£º0µ½960
³ö³§Öµ£º
0
*********************************************************************************/
UINT16 min_atten; /********************************************************************************
¹¦ÄÜ£º ÉèÖÃteakµÄ×Ô¶¯Ôö񾀣¿éµÄ×îС˥¼õ£»
ȡֵ·¶Î§£º0µ½960
³ö³§Öµ£º
0
*********************************************************************************/
UINT16 max_atten; /********************************************************************************
¹¦ÄÜ£º ÉèÖÃteakµÄ×Ô¶¯Ôö񾀣¿éµÄ×î´óË¥¼õ£»
ȡֵ·¶Î§£º0µ½960
³ö³§Öµ£º
500
*********************************************************************************/
UINT16 nr_sw_2; /********************************************************************************
¹¦ÄÜ£º ÉèÖÃteakµÄÔëÒôÒÖÖÆÄ£¿éµÄ×î´óË¥¼õ£»
ȡֵ·¶Î§£º0µ½32767
³ö³§Öµ£º
16384
*********************************************************************************/
UINT16 nr_u_fak_0; /********************************************************************************
¹¦ÄÜ£º ÉèÖÃteakµÄÔëÒôÒÖÖÆÄ£¿éµÄ´ø¿í0µÄ½µÔëÒòËØ£»
ȡֵ·¶Î§£º0µ½16384
³ö³§Öµ£º
16384
*********************************************************************************/
UINT16 nr_u_fak; /********************************************************************************
¹¦ÄÜ£º ÉèÖÃteakµÄÔëÒôÒÖÖÆÄ£¿éµÄ´ø¿í1µ½7µÄ½µÔëÒòËØ£»
ȡֵ·¶Î§£º0µ½16384
³ö³§Öµ£º
16384
*********************************************************************************/
}
eep_aud_hf_type;
typedef struct
{
UINT16 coeffi; /********************************************************************************
¹¦ÄÜ£º ÉèÖÃteak µÄbiquadÂ˲¨Æ÷ÊÇÉÏÐÐÂ˲¨»¹ÊÇÏÂÐÐÂ˲¨£»
ȡֵ·¶Î§£º0: ÉÏÐÐ
1: ÏÂÐÐ
2: CBuf
³ö³§Öµ£º
ÉÏÐеÄÂ˲¨Æ÷(aud_uplink_biquad_filters)Ϊ: 0
ÏÂÐеÄÂ˲¨Æ÷(aud_downlink_biquad_filters)Ϊ: 1
CBuf Â˲¨Æ÷ Ϊ: 2
*********************************************************************************/
UINT16 a1_1; /********************************************************************************
¹¦ÄÜ£º ÉèÖÃteak µÄbiquadÂ˲¨Æ÷²ÎÊý£»
ȡֵ·¶Î§£º0µ½0xFFFF
³ö³§Öµ£º
ÉÏÐÐÂ˲¨Æ÷µÄaud_uplink_biquad_filters[0].a1_1=14878£¬ÆäÓ඼Ϊ0£»
ÏÂÐÐÂ˲¨Æ÷µÄaud_downlink_biquad_filters[0].a1_1=35445£¬ÆäÓ඼Ϊ0£»
CBuf Â˲¨Æ÷µÄaud_cbuf_biquad_filters[0].a1_1=57878; ÆäÓ඼Ϊ0¡£
*********************************************************************************/
UINT16 b1_1; /********************************************************************************
¹¦ÄÜ£º ÉèÖÃteak µÄbiquadÂ˲¨Æ÷²ÎÊý£»
ȡֵ·¶Î§£º0µ½0xFFFF
³ö³§Öµ£º
ÉÏÐÐÂ˲¨Æ÷µÄaud_uplink_biquad_filters[0].b1_1=13372£¬ÆäÓ඼Ϊ0£»
ÏÂÐÐÂ˲¨Æ÷µÄaud_downlink_biquad_filters[0].b1_1=35572£¬ÆäÓ඼Ϊ0£»
CBuf Â˲¨Æ÷µÄaud_cbuf_biquad_filters[0].b1_1=45294£¬ÆäÓ඼Ϊ0¡£
*********************************************************************************/
UINT16 a2_1; /********************************************************************************
¹¦ÄÜ£º ÉèÖÃteak µÄbiquadÂ˲¨Æ÷²ÎÊý£»
ȡֵ·¶Î§£º0µ½0xFFFF
³ö³§Öµ£º
ÉÏÐÐÂ˲¨Æ÷µÄa2_1¶¼Îª0£»
ÏÂÐÐÂ˲¨Æ÷µÄaud_downlink_biquad_filters[0].a2_1=30091£¬ÆäÓ඼Ϊ0£»
CBuf Â˲¨Æ÷µÄaud_cbuf_biquad_filters[0].a2_1=5321£¬ÆäÓ඼Ϊ0¡£
*********************************************************************************/
UINT16 b2_1; /********************************************************************************
¹¦ÄÜ£º ÉèÖÃteak µÄbiquadÂ˲¨Æ÷²ÎÊý£»
ȡֵ·¶Î§£º0µ½0xFFFF
³ö³§Öµ£º
ÉÏÐÐÂ˲¨Æ÷µÄb2_1¶¼Îª0£»
ÏÂÐÐÂ˲¨Æ÷µÄaud_downlink_biquad_filters[0].b2_1=27668£¬ÆäÓ඼Ϊ0£»
CBuf Â˲¨Æ÷µÄaud_cbuf_biquad_filters[0].b2_1=14049£¬ÆäÓ඼Ϊ0¡£
*********************************************************************************/
UINT16 a0_1; /********************************************************************************
¹¦ÄÜ£º ÉèÖÃteak µÄbiquadÂ˲¨Æ÷²ÎÊý£»
ȡֵ·¶Î§£º0µ½0xFFFF
³ö³§Öµ£º
ÉÏÐÐÂ˲¨Æ÷µÄaud_uplink_biquad_filters[0].a0_1=29756£¬ÆäÓ඼Ϊ32767£»
ÏÂÐÐÂ˲¨Æ÷µÄaud_downlink_biquad_filters[0].a0_1=30091£¬ÆäÓ඼Ϊ32767£»
CBuf Â˲¨Æ÷µÄaud_cbuf_biquad_filters[0].a0_1=14315£¬ÆäÓ඼Ϊ32767¡£
*********************************************************************************/
UINT16 a1_2; /********************************************************************************
¹¦ÄÜ£º ÉèÖÃteak µÄbiquadÂ˲¨Æ÷²ÎÊý£»
ȡֵ·¶Î§£º0µ½0xFFFF
³ö³§Öµ£º
ÉÏÐÐÂ˲¨Æ÷µÄaud_uplink_biquad_filters[0].a1_2=39151£¬ÆäÓ඼Ϊ0£»
ÏÂÐÐÂ˲¨Æ÷µÄaud_downlink_biquad_filters[0].a1_2=26488£¬ÆäÓ඼Ϊ0£»
CBuf Â˲¨Æ÷µÄa1_2¶¼Îª0¡£
*********************************************************************************/
UINT16 b1_2; /********************************************************************************
¹¦ÄÜ£º ÉèÖÃteak µÄbiquadÂ˲¨Æ÷²ÎÊý£»
ȡֵ·¶Î§£º0µ½0xFFFF
³ö³§Öµ£º
ÉÏÐÐÂ˲¨Æ÷µÄaud_uplink_biquad_filters[0].b1_2=36192£¬ÆäÓ඼Ϊ0£»
ÏÂÐÐÂ˲¨Æ÷µÄaud_downlink_biquad_filters[0].b1_2=24996£¬ÆäÓ඼Ϊ0£»
CBuf Â˲¨Æ÷µÄb1_2¶¼Îª0¡£
*********************************************************************************/
UINT16 a2_2; /********************************************************************************
¹¦ÄÜ£º ÉèÖÃteak µÄbiquadÂ˲¨Æ÷²ÎÊý£»
ȡֵ·¶Î§£º0µ½0xFFFF
³ö³§Öµ£º
ÉÏÐÐÂ˲¨Æ÷µÄaud_uplink_biquad_filters[0].a2_2=26385£¬ÆäÓ඼Ϊ0£»
ÏÂÐÐÂ˲¨Æ÷µÄaud_downlink_biquad_filters[0].a2_2=26488£¬ÆäÓ඼Ϊ0£»
CBuf Â˲¨Æ÷µÄa2_2¶¼Îª0¡£
*********************************************************************************/
UINT16 b2_2; /********************************************************************************
¹¦ÄÜ£º ÉèÖÃteak µÄbiquadÂ˲¨Æ÷²ÎÊý£»
ȡֵ·¶Î§£º0µ½0xFFFF
³ö³§Öµ£º
ÉÏÐÐÂ˲¨Æ÷µÄaud_uplink_biquad_filters[0].b2_2=26962£¬ÆäÓ඼Ϊ0£»
ÏÂÐÐÂ˲¨Æ÷µÄaud_downlink_biquad_filters[0].b2_2=23168£¬ÆäÓ඼Ϊ0£»
CBuf Â˲¨Æ÷µÄb2_2¶¼Îª0¡£
*********************************************************************************/
UINT16 a0_2; /********************************************************************************
¹¦ÄÜ£º ÉèÖÃteak µÄbiquadÂ˲¨Æ÷²ÎÊý£»
ȡֵ·¶Î§£º0µ½0xFFFF
³ö³§Öµ£º
ÉÏÐÐÂ˲¨Æ÷µÄaud_uplink_biquad_filters[0].a0_2=26385£¬ÆäÓ඼Ϊ32767£»
ÏÂÐÐÂ˲¨Æ÷µÄaud_downlink_biquad_filters[0].a0_2=26488£¬ÆäÓ඼Ϊ32767£»
CBuf Â˲¨Æ÷µÄa0_2¶¼Îª32767¡£
*********************************************************************************/
}
eep_aud_biquad_filters_type;
typedef struct
{
eep_aud_downlink_gain_cells_type downlink_gain_cells; /********************************************************************************
¹¦ÄÜ£º ÉèÖÃteak ÏÂÐеÄÔöÒæ£»
ȡֵ·¶Î§£º¼ûeep_aud_downlink_gain_cells_type½á¹¹Ìå
³ö³§Öµ£º
¼ûeep_aud_downlink_gain_cells_type½á¹¹Ìå
*********************************************************************************/
#if 0
int16 biquad_filter_dl_index_8kHz; /********************************************************************************
¹¦ÄÜ£º ÉèÖÃÏÂÐÐ8KHZ biquad_filterµÄË÷ÒýÖµ£»
ȡֵ·¶Î§£º0µ½20
³ö³§Öµ£º
Êý×éÖÐ,µ±n =0,1,2,3,4,6,7,10,11,12,13,14,15,16,17,18,19,20,23,24,25,26,27,28ʱ:
aud_audio_downlink_parms[n].biquad_filter_dl_index_8kHz=0;
µ±n =5,8,9,21,22,ʱ:
aud_audio_downlink_parms[n].biquad_filter_dl_index_8kHz=1;
*********************************************************************************/
#endif
eep_aud_biquad_filters_type biquad_filter_dl_8kHz;
#if 0
int16 biquad_filter_dl_index_16kHz; /********************************************************************************
¹¦ÄÜ£º ÉèÖÃÏÂÐÐ16KHZ biquad_filterµÄË÷ÒýÖµ£»
ȡֵ·¶Î§£º0µ½20
³ö³§Öµ£º
Êý×éÖÐ,µ±n =0,1,2,3,4,6,7,10,11,12,13,14,15,16,17,18,19,20,23,24,25,26,27,28ʱ:
aud_audio_downlink_parms[n].biquad_filter_dl_index_16kHz=0;
µ±n =5,8,9,21,22,ʱ:
aud_audio_downlink_parms[n].biquad_filter_dl_index_16kHz=1;
*********************************************************************************/
#endif
eep_aud_biquad_filters_type biquad_filter_dl_16kHz;
#if 0
int16 biquad_filter_cbuf_index; /********************************************************************************
¹¦ÄÜ£º ÉèÖÃCBUF biquad_filterµÄË÷ÒýÖµ£»
ȡֵ·¶Î§£º0µ½10
³ö³§Öµ£º
Êý×éÖÐ,µ±n =0,1,2,3,4,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28ʱ:
aud_audio_downlink_parms[n].biquad_filter_cbuf_index=0;
µ±n =5ʱ:
aud_audio_downlink_parms[n].biquad_filter_cbuf_index=1;
*********************************************************************************/
#endif
eep_aud_biquad_filters_type biquad_filter_cbuf;
#if 0
int16 fir_filter_dl_index; /********************************************************************************
¹¦ÄÜ£º ÉèÖà teakÏÂÐеÄfir_filterµÄË÷ÒýÖµ£»
ȡֵ·¶Î§£º0µ½5
³ö³§Öµ£º
0
*********************************************************************************/
int16 fir_filter_cbuf_index; /********************************************************************************
¹¦ÄÜ£º ÉèÖà teakµÄCBUFµÄ fir_filterµÄË÷ÒýÖµ£»
ȡֵ·¶Î§£º0µ½5
³ö³§Öµ£º
0
*********************************************************************************/
int16 dl_nr_index; /********************************************************************************
¹¦ÄÜ£º ÉèÖà teakµÄÏÂÐеÄÔëÒôÒÖÖÆµÄͨµÀµÄË÷ÒýÖµ£»
ȡֵ·¶Î§£º0µ½5
³ö³§Öµ£º
0
*********************************************************************************/
#endif
UINT16 side_tone_fact; /********************************************************************************
¹¦ÄÜ£º ÉèÖà teakµÄside_toneµÄÖµ£»
ȡֵ·¶Î§£º0µ½0x7FFF
³ö³§Öµ£º
Êý×éÖÐ,µ±n =0,1,2,4,6,7,8,9,10,11,12,13,16,17,18,19,24,25,26,27,28ʱ:
aud_audio_downlink_parms[n].side_tone_fact=500;
µ±n =3,5,14,15,20,23,ʱ:
aud_audio_downlink_parms[n].side_tone_fact=0;
µ±n =21,22,ʱ:
aud_audio_downlink_parms[n].side_tone_fact=5787;
*********************************************************************************/
UINT16 side_tone_fact_use; /********************************************************************************
¹¦ÄÜ£º ÉèÖÃteak µÄside_toneµÄÖµÊÇ·ñÓÉNV²ÎÊýÉèÖã»
ȡֵ·¶Î§£º0: ²»Ê¹ÓÃ
1: ʹÓÃNV²ÎÊý
³ö³§Öµ£º
Êý×éÖÐ,µ±n =0,1,2,3,4,5,6,7,8,9,10,11,12,13,16,17,18,19,20,21,22,24,25,26,27,28ʱ:
aud_audio_downlink_parms[n].side_tone_fact_use=1;
µ±n =14,15,23ʱ:
aud_audio_downlink_parms[n].side_tone_fact_use=0;
*********************************************************************************/
}
eep_audio_downlink_parms_type; /* 14*2 bytes */
typedef struct
{
UINT16 scal_mic; /********************************************************************************
¹¦ÄÜ£º ÉèÖÃteak ÉÏÐеÄscal_micÔöÒæ£»
ȡֵ·¶Î§£º0 µ½0x7FFF,
0 db ֵΪ0x1FFF£»
³ö³§Öµ£º
Êý×éÖÐ,µ±n = 0,1,4,6,7,9,13,18,19,20,21ʱ:
aud_audio_uplink_parms[n].uplink_gain_cells.scal_mic=6143;
µ±n = 2,3,5,12,14ʱ:
aud_audio_uplink_parms[2].uplink_gain_cells.scal_mic=8192;
µ±n = 10,11ʱ:
aud_audio_uplink_parms[2].uplink_gain_cells.scal_mic=8191;
µ±n = 8,15,16,17ʱ:
aud_audio_uplink_parms[n].uplink_gain_cells.scal_mic=0;
*********************************************************************************/
UINT16 scal_mic_use; /********************************************************************************
¹¦ÄÜ£º ÉèÖÃteak ÉÏÐеÄscal_micÔöÒæÊÇ·ñÊÇÓÉNV²ÎÊýÉèÖã»
ȡֵ·¶Î§£º0: ²»Ê¹ÓÃ
1: ʹÓÃNV²ÎÊý
³ö³§Öµ£º
Êý×éÖÐ,µ±n =0,1,2,3,4,6,7,8,9,10,11,13,14,18,19,20,21ʱ:
aud_audio_uplink_parms[n].uplink_gain_cells.scal_mic_use=1;
µ±n =5,12,15,16,17ʱ:
aud_audio_uplink_parms[n].uplink_gain_cells.scal_mic_use=0;
*********************************************************************************/
UINT16 lambda0; /********************************************************************************
¹¦ÄÜ£º ÉèÖÃteak ÉÏÐеÄlambda0ÔöÒæ£»
ȡֵ·¶Î§£º0 µ½0x7FFF,
0 db ֵΪ0x7FFF£»
³ö³§Öµ£º
Êý×éÖÐ,µ±n =0,1,2,3,4,5,6,7,9,12,13,14,19,20,21ʱ:
aud_audio_uplink_parms[n].uplink_gain_cells.lambda0=32767;
µ±n =8,10,11,15,16,17,18ʱ:
aud_audio_uplink_parms[n].uplink_gain_cells.lambda0=0;
*********************************************************************************/
UINT16 lambda0_use; /********************************************************************************
¹¦ÄÜ£º ÉèÖÃteak ÉÏÐеÄlambda0ÔöÒæÊÇ·ñÊÇÓÉNV²ÎÊýÉèÖã»
ȡֵ·¶Î§£º0: ²»Ê¹ÓÃ
1: ʹÓÃNV²ÎÊý
³ö³§Öµ£º
Êý×éÖÐ,µ±n =0,1,2,3,4,6,7,8,9,13,19,20,21ʱ:
aud_audio_uplink_parms[n].uplink_gain_cells.lambda0_use=1;
µ±n =5,10,11,12,14,15,16,17,18ʱ:
aud_audio_uplink_parms[n].uplink_gain_cells.lambda0_use=0;
*********************************************************************************/
UINT16 gamma0; /********************************************************************************
¹¦ÄÜ£º ÉèÖÃteak ÉÏÐеÄgamma0ÔöÒæ£»
ȡֵ·¶Î§£º0 µ½0x7FFF,
0 db ֵΪ0x7FFF£»
³ö³§Öµ£º
Êý×éÖÐ,µ±n =0,1,2,3,4,5,6,7,8,9,12,13,14,19,20,21ʱ:
aud_audio_uplink_parms[n].uplink_gain_cells.gamma0=32767;
µ±n =10,11,15,16,17,18ʱ:
aud_audio_uplink_parms[n].uplink_gain_cells.gamma0=0;
*********************************************************************************/
UINT16 gamma0_use; /********************************************************************************
¹¦ÄÜ£º ÉèÖÃteak ÉÏÐеÄgamma0ÔöÒæÊÇ·ñÊÇÓÉNV²ÎÊýÉèÖã»
ȡֵ·¶Î§£º0: ²»Ê¹ÓÃ
1: ʹÓÃNV²ÎÊý
³ö³§Öµ£º
Êý×éÖÐ,µ±n =5,8,10,11,12,14,15,16,17,18ʱ:
aud_audio_uplink_parms[n].uplink_gain_cells.gamma0_use=0
µ±n =0,1,2,3,4,6,7,9,13,19,20,21ʱ:
aud_audio_uplink_parms[n].uplink_gain_cells.gamma0_use=1
*********************************************************************************/
UINT16 scal_afe; /********************************************************************************
¹¦ÄÜ£º ÉèÖÃteak ÉÏÐеÄscal_afeÔöÒæ£»
ȡֵ·¶Î§£º0 µ½0x7FFF,
0 db ֵΪ0x1FFF£»
³ö³§Öµ£º
Êý×éÖУ¬³ýÁËaud_audio_uplink_parms[5].uplink_gain_cells.scal_afe=8192,
ÆäÓ඼Ϊ0.
*********************************************************************************/
UINT16 scal_afe_use; /********************************************************************************
¹¦ÄÜ£º ÉèÖÃteak ÉÏÐеÄscal_afeÔöÒæÊÇ·ñÊÇÓÉNV²ÎÊýÉèÖã»
ȡֵ·¶Î§£º0: ²»Ê¹ÓÃ
1: ʹÓÃNV²ÎÊý
³ö³§Öµ£º
Êý×éÖУ¬³ýÁËaud_audio_uplink_parms[5].uplink_gain_cells.scal_afe_use=1,
ÆäÓàaud_audio_uplink_parms[n].uplink_gain_cells.scal_afe_use=0.
*********************************************************************************/
UINT16 scal_mic2; /********************************************************************************
¹¦ÄÜ£º ÉèÖÃteak ÉÏÐеÄscal_mic2ÔöÒæ£»
ȡֵ·¶Î§£º0 µ½0x7FFF,
0 db ֵΪ0x1FFF£»
³ö³§Öµ£º
Êý×éÖÐ,aud_audio_uplink_parms[5].uplink_gain_cells.scal_mic2=8192;
ÆäÓ඼Ϊ0.
*********************************************************************************/
UINT16 scal_mic2_use; /********************************************************************************
¹¦ÄÜ£º ÉèÖÃteak ÉÏÐеÄscal_mic2ÔöÒæÊÇ·ñÊÇÓÉNV²ÎÊýÉèÖã»
ȡֵ·¶Î§£º0: ²»Ê¹ÓÃ
1: ʹÓÃNV²ÎÊý
³ö³§Öµ£º
Êý×éÖÐ,µ±n =0,1,2,3,4,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21ʱ:
aud_audio_uplink_parms[n].uplink_gain_cells.scal_mic2_use=0;
µ±n =5ʱ:
aud_audio_uplink_parms[n].uplink_gain_cells.scal_mic2_use=1;
*********************************************************************************/
UINT16 afe_tone; /********************************************************************************
¹¦ÄÜ£º ÉèÖÃteak ÉÏÐеÄafe_toneÔöÒæ£»
ȡֵ·¶Î§£º0 µ½0x7FFF,
0 db ֵΪ0x3FFF£»
³ö³§Öµ£º
Êý×éÖÐ,aud_audio_uplink_parms[5].uplink_gain_cells.afe_tone=16384;
ÆäÓ඼Ϊ0.
*********************************************************************************/
UINT16 afe_tone_use; /********************************************************************************
¹¦ÄÜ£º ÉèÖÃteak ÉÏÐеÄafe_toneÔöÒæÊÇ·ñÊÇÓÉNV²ÎÊýÉèÖã»
ȡֵ·¶Î§£º0: ²»Ê¹ÓÃ
1: ʹÓÃNV²ÎÊý
³ö³§Öµ£º
Êý×éÖÐ,aud_audio_uplink_parms[5].uplink_gain_cells.afe_tone_use=1;
ÆäÓ඼Ϊ0.
*********************************************************************************/
UINT16 mix_pcmrec; /********************************************************************************
¹¦ÄÜ£º ÉèÖÃteak ÉÏÐеĻìºÏPCMÒôÀÖµÄmix_pcmrecÔöÒæ£»
ȡֵ·¶Î§£º0 µ½0x7FFF,
0 db ֵΪ0x3FFF£»
³ö³§Öµ£º
Êý×éÖÐ,aud_audio_uplink_parms[12].uplink_gain_cells.mix_pcmrec=1;
ÆäÓ඼Ϊ0.
*********************************************************************************/
}
eep_aud_uplink_gain_cells_type;
typedef struct
{
eep_aud_uplink_gain_cells_type uplink_gain_cells; /********************************************************************************
¹¦ÄÜ£º ÉèÖÃteak ÉÏÐеÄÔöÒæ£»
ȡֵ·¶Î§£º¼ûeep_aud_uplink_gain_cells_type½á¹¹Ìå
³ö³§Öµ£º
¼ûeep_aud_uplink_gain_cells_type½á¹¹Ìå
*********************************************************************************/
#if 0
int16 biquad_filter_ul_index_8kHz; /********************************************************************************
¹¦ÄÜ£º ÉèÖÃÉÏÐÐ8KHZ biquad_filterµÄË÷ÒýÖµ£»
ȡֵ·¶Î§£º0µ½30
³ö³§Öµ£º
Êý×éÖÐ,µ±n =0,1,2,4,5,6,7,8,9,12,13,14,15,16,17,18,19,20,21ʱ:
aud_audio_uplink_parms[n].biquad_filter_ul_index_8kHz=0;
µ±n =3,10,11ʱ:
aud_audio_uplink_parms[n].biquad_filter_ul_index_8kHz=1;
*********************************************************************************/
#endif
eep_aud_biquad_filters_type biquad_filter_ul_8kHz;
#if 0
int16 biquad_filter_ul_index_16kHz; /********************************************************************************
¹¦ÄÜ£º ÉèÖÃÉÏÐÐ16KHZ biquad_filterµÄË÷ÒýÖµ£»
ȡֵ·¶Î§£º0µ½30
³ö³§Öµ£º
Êý×éÖÐ,µ±n =0,1,2,4,5,6,7,8,9,12,13,14,15,16,17,18,19,20,21ʱ:
aud_audio_uplink_parms[n].biquad_filter_ul_index_16kHz=0;
µ±n =3,10,11ʱ:
aud_audio_uplink_parms[n].biquad_filter_ul_index_16kHz=1;
*********************************************************************************/
#endif
eep_aud_biquad_filters_type biquad_filter_ul_16kHz;
#if 0
int16 biquad_filter_ul_index_48kHz; /********************************************************************************
¹¦ÄÜ£º ÉèÖÃÉÏÐÐ48KHZ biquad_filterµÄË÷ÒýÖµ£»
ȡֵ·¶Î§£º0µ½30
³ö³§Öµ£º
Êý×éÖÐ,µ±n =0,1,2,4,5,6,7,8,9,12,13,14,15,16,17,18,19,20,21ʱ:
aud_audio_uplink_parms[n].biquad_filter_ul_index_48kHz=0;
µ±n =3,10,11ʱ:
aud_audio_uplink_parms[n].biquad_filter_ul_index_48kHz=1;
*********************************************************************************/
#endif
eep_aud_biquad_filters_type biquad_filter_ul_48kHz;
#if 0
int16 fir_filter_ul_index; /********************************************************************************
¹¦ÄÜ£º ÉèÖà teakÉÏÐеÄfir_filterµÄË÷ÒýÖµ£»
ȡֵ·¶Î§£º0µ½5
³ö³§Öµ£º
0
*********************************************************************************/
#endif
#if 0
int16 hf_index; /********************************************************************************
¹¦ÄÜ£º ÉèÖà teakµÄhandsfreeµÄË÷ÒýÖµ£»
ȡֵ·¶Î§£º0µ½8
³ö³§Öµ£º
Êý×éÖÐ,µ±n =0,6,8,9,20,21ʱ:
aud_audio_uplink_parms[n].hf_index=0;
µ±n =1,2,4,5,10,11,12,13,14,15,16,17,18,19ʱ:
aud_audio_uplink_parms[n].hf_index=1;
µ±n =7ʱ:
aud_audio_uplink_parms[n].hf_index=2;
µ±n =3ʱ:
aud_audio_uplink_parms[n].hf_index=3;
*********************************************************************************/
#endif
eep_aud_hf_type hf;
#if 0
int16 asp_ul_index; /********************************************************************************
¹¦ÄÜ£º ÉèÖà teakµÄÉÏÐеÄASPµÄË÷ÒýÖµ£»
ȡֵ·¶Î§£º0µ½5
³ö³§Öµ£º
0
*********************************************************************************/
#endif
UINT16 mic_gain; /********************************************************************************
¹¦ÄÜ£º ÉèÖà teakµÄÉÏÐеÄmic_gainÔöÒæ£»
ȡֵ·¶Î§£º0x0µ½0x10
³ö³§Öµ£º
Êý×éÖÐ,µ±n =0,1,4,7,12,13,14,18,20,21ʱ:
aud_audio_uplink_parms[n].mic_gain=10;
µ±n =2,3,ʱ:
aud_audio_uplink_parms[n].mic_gain=6;
µ±n =5,ʱ:
aud_audio_uplink_parms[n].mic_gain=2;
µ±n =6,19ʱ:
aud_audio_uplink_parms[n].mic_gain=14;
µ±n =8,9,ʱ:
aud_audio_uplink_parms[n].mic_gain=5;
µ±n =10,11,15,16,17,ʱ:
aud_audio_uplink_parms[n].mic_gain=0;
*********************************************************************************/
UINT16 mic_gain_use; /********************************************************************************
¹¦ÄÜ£º ÉèÖÃteak ÏÂÐеÄmic_gainÔöÒæÊÇ·ñÓÉNV²ÎÊýÉèÖã»
ȡֵ·¶Î§£º0: ²»Ê¹ÓÃ
1: ʹÓÃNV²ÎÊý
³ö³§Öµ£º
Êý×éÖÐ,µ±n =0,1,2,4,5,6,7,9,10,11,13,14,18,19,20,21ʱ:
aud_audio_uplink_parms[n].mic_gain_use=1;
µ±n =8,12,15,16,17ʱ:
aud_audio_uplink_parms[n].mic_gain_use=0;
*********************************************************************************/
#if 0
UINT16 tx_dither; /********************************************************************************
¹¦ÄÜ£º AFEµÄÏà¹ØÉèÖã»
ȡֵ·¶Î§£ºnot used
³ö³§Öµ£º
0
*********************************************************************************/
UINT16 tx_dither_use; /********************************************************************************
¹¦ÄÜ£º AFEµÄÏà¹ØÉèÖÃÊÇ·ñÓÉNV²ÎÊýÉèÖã»
ȡֵ·¶Î§£º0: ²»Ê¹ÓÃ
1: ʹÓÃNV²ÎÊý
³ö³§Öµ£º
0
*********************************************************************************/
#endif
}
eep_audio_uplink_parms_type; /* 23*2 bytes */
typedef struct
{
unsigned char audio_parms_from_eep_used; /********************************************************************************
¹¦ÄÜ£º ÉèÖÃteak ÊÇ·ñʹÓÃNV²ÎÊýµÄÖµ£»
ȡֵ·¶Î§£º0: ²»Ê¹ ÓÃ(false)
1: ʹÓã»(true)
³ö³§Öµ£º
1
*********************************************************************************/
#if 0
unsigned char aud_use_filters_ul; /********************************************************************************
¹¦ÄÜ£º ÉèÖÃteak ÊÇ·ñʹÓÃÓïÒôͨ·µÄÉÏÐÐÂ˲¨Æ÷£»
ȡֵ·¶Î§£º0: ²»Ê¹ ÓÃ(none)
1: ʹÓÃfirÂ˲¨Æ÷ (fir)
4: ʹÓÃbiquadÂ˲¨Æ÷ (biquad)
5: ʹÓÃfir+biquadÂ˲¨Æ÷(fir+biquad)
³ö³§Öµ£º
1
*********************************************************************************/
unsigned char aud_use_filters_dl; /********************************************************************************
¹¦ÄÜ£º ÉèÖÃteak ÊÇ·ñʹÓÃÓïÒôͨ·µÄÏÂÐÐÂ˲¨Æ÷£»
ȡֵ·¶Î§£º0: ²»Ê¹ ÓÃ(none)
1: ʹÓÃfirÂ˲¨Æ÷ (fir)
4: ʹÓÃbiquadÂ˲¨Æ÷ (biquad)
5: ʹÓÃfir+biquadÂ˲¨Æ÷(fir+biquad)
³ö³§Öµ£º
1
*********************************************************************************/
unsigned char aud_use_filters_cbuf; /********************************************************************************
¹¦ÄÜ£º ÉèÖÃteak ÊÇ·ñʹÓÃcircular buffer 48KHZͨ·ÉϵÄÂ˲¨Æ÷£»
ȡֵ·¶Î§£º0: ²»Ê¹ ÓÃ(none)
1: ʹÓÃfirÂ˲¨Æ÷ (fir)
4: ʹÓÃbiquadÂ˲¨Æ÷ (biquad)
5: ʹÓÃfir+biquadÂ˲¨Æ÷(fir+biquad)
³ö³§Öµ£º
1
*********************************************************************************/
#endif
#if 0
eep_aud_biquad_filters_type aud_uplink_biquad_filters[EEP_AUD_BIQUAD_FILTERS_UL]; /********************************************************************************
¹¦ÄÜ£º ÉèÖÃteak ÉÏÐеÄbiquadÂ˲¨Æ÷²ÎÊý£»
ȡֵ·¶Î§£º
¼ûeep_aud_biquad_filters_type½á¹¹Ì壻
³ö³§Öµ£º
¼ûeep_aud_biquad_filters_type½á¹¹Ì壻
*********************************************************************************/
eep_aud_biquad_filters_type aud_downlink_biquad_filters[EEP_AUD_BIQUAD_FILTERS_DL]; /********************************************************************************
¹¦ÄÜ£º ÉèÖÃteak ÏÂÐеÄbiquadÂ˲¨Æ÷²ÎÊý£»
ȡֵ·¶Î§£º
¼ûeep_aud_biquad_filters_type½á¹¹Ì壻
³ö³§Öµ£º
¼ûeep_aud_biquad_filters_type½á¹¹Ì壻
*********************************************************************************/
eep_aud_biquad_filters_type aud_cbuf_biquad_filters[EEP_AUD_BIQUAD_FILTERS_CBUF]; /********************************************************************************
¹¦ÄÜ£º ÉèÖÃteak µÄcircular buffer 48KHZͨ·ÉϵÄÂ˲¨Æ÷²ÎÊý£»
ȡֵ·¶Î§£º
¼ûeep_aud_biquad_filters_type½á¹¹Ì壻
³ö³§Öµ£º
¼ûeep_aud_biquad_filters_type½á¹¹Ì壻
*********************************************************************************/
#endif
#if 0
eep_aud_fir_filter_type aud_uplink_fir_filters[EEP_AUD_FIR_FILTERS_UL]; /********************************************************************************
¹¦ÄÜ£º ÉèÖÃteak ÉÏÐеÄfirÂ˲¨Æ÷²ÎÊý£»
ȡֵ·¶Î§£º
¼ûeep_aud_fir_filter_type½á¹¹Ì壻
³ö³§Öµ£º
¼ûeep_aud_fir_filter_type½á¹¹Ì壻
*********************************************************************************/
eep_aud_fir_filter_type aud_downlink_fir_filters[EEP_AUD_FIR_FILTERS_DL]; /********************************************************************************
¹¦ÄÜ£º ÉèÖÃteak ÏÂÐеÄfirÂ˲¨Æ÷²ÎÊý£»
ȡֵ·¶Î§£º
¼ûeep_aud_fir_filter_type½á¹¹Ì壻
³ö³§Öµ£º
¼ûeep_aud_fir_filter_type½á¹¹Ì壻
*********************************************************************************/
eep_aud_fir_filter_type aud_cbuf_fir_filters[EEP_AUD_FIR_FILTERS_CBUF]; /********************************************************************************
¹¦ÄÜ£º ÉèÖÃteakµÄcircular buffer 48KHZͨ·ÉϵÄÂ˲¨Æ÷²ÎÊý£»
ȡֵ·¶Î§£º
¼ûeep_aud_fir_filter_type½á¹¹Ì壻
³ö³§Öµ£º
¼ûeep_aud_fir_filter_type½á¹¹Ì壻
*********************************************************************************/
eep_aud_hf_type aud_hf[EEP_AUD_HF]; /********************************************************************************
¹¦ÄÜ£º ÉèÖÃteakµÄhandsfreeµÄ²ÎÊý£»
ȡֵ·¶Î§£º
¼ûeep_aud_hf_type½á¹¹Ì壻
³ö³§Öµ£º
¼ûeep_aud_hf_type½á¹¹Ì壻
*********************************************************************************/
#endif
#if 0
eep_aud_asp_ul_type aud_asp_ul[EEP_AUD_ASP_UL]; /********************************************************************************
¹¦ÄÜ£º ÉèÖÃteakµÄÉÏÐÐͨµÀÉÏÕðµ´±£»¤µÄ²ÎÊý£»
ȡֵ·¶Î§£º
¼ûeep_aud_asp_ul_type½á¹¹Ì壻
³ö³§Öµ£º
¼ûeep_aud_asp_ul_type½á¹¹Ì壻
*********************************************************************************/
eep_aud_dl_nr_type aud_dl_nr[EEP_AUD_DL_NR]; /********************************************************************************
¹¦ÄÜ£º ÉèÖÃteakµÄÏÂÐÐͨµÀÉϽµµÍÔëÒôµÄ²ÎÊý£»
ȡֵ·¶Î§£º
¼ûeep_aud_dl_nr_type½á¹¹Ì壻
³ö³§Öµ£º
¼ûeep_aud_dl_nr_type½á¹¹Ì壻
*********************************************************************************/
#endif
eep_audio_uplink_parms_type aud_audio_uplink_parms[EEP_AUD_UPLINK_PATHS]; /********************************************************************************
¹¦ÄÜ£º ÉèÖÃteakµÄÉÏÐÐÓïÒôͨ·ÉϵIJÎÊý£»
ȡֵ·¶Î§£º
¼ûeep_audio_uplink_parms_type½á¹¹Ì壻
³ö³§Öµ£º
¼ûeep_audio_uplink_parms_type½á¹¹Ì壻
*********************************************************************************/
eep_audio_downlink_parms_type aud_audio_downlink_parms[EEP_AUD_DOWNLINK_PATHS]; /********************************************************************************
¹¦ÄÜ£º ÉèÖÃteakµÄÏÂÐÐÓïÒôͨ·ÉϵIJÎÊý£»
ȡֵ·¶Î§£º
¼ûeep_audio_downlink_parms_type½á¹¹Ì壻
³ö³§Öµ£º
¼ûeep_audio_downlink_parms_type½á¹¹Ì壻
*********************************************************************************/
#if 0
unsigned char fill[2]; /********************************************************************************
¹¦ÄÜ£º Ìî³äλ£»
ȡֵ·¶Î§£º0 µ½ 255
³ö³§Öµ£º
255
*********************************************************************************/
#endif
}
eep_aud_path_data_type;
typedef struct
{
SINT16 mix_afe; /********************************************************************************
¹¦ÄÜ£º ÉèÖûìºÏµ½AFEµÄÒôƵ×ÊÔ´ÔöÒæÖµ£»
ȡֵ·¶Î§£º0 µ½0x7FFF,
0 db ֵΪ0x3FFF£»
³ö³§Öµ£º
aud_cbuf_mix_parms[5].mix_afe=0,ÆäÓ඼Ϊ32767¡£
*********************************************************************************/
SINT16 mix_i2s1; /********************************************************************************
¹¦ÄÜ£º ÉèÖûìºÏµ½I2S1µÄÒôƵ×ÊÔ´ÔöÒæÖµ£»
ȡֵ·¶Î§£º0 µ½0x7FFF,
0 db ֵΪ0x3FFF£»
³ö³§Öµ£º
aud_cbuf_mix_parms[5].mix_i2s1=0£¬ÆäÓ඼Ϊ32767¡£
*********************************************************************************/
}
eepaud_static_cbuf_mix_parms_type;
typedef SINT16 eep_aud_region_type;
/********************************************************************************
¹¦ÄÜ£º ÉèÖÃteakµÄÉÏÐÐÓïÒôͨµÀµÄÔöÒæ£»
ȡֵ·¶Î§£º0 µ½0x7FFF,
0 db ֵΪ0x1FFF£»
³ö³§Öµ£º
ÔÚ³ÌÐòÖÐΪһ¸ö32λµÄÊý×é
ÔÚÊý×é[0] µ½ [31] ÖУ¬³ýÁË[3]Ϊ0x5000£¬ÆäÓ඼Ϊ0x2000
*********************************************************************************/
typedef struct
{
SINT16 scal_in;
}
eepaud_static_scal_in_parms_type;
/********************************************************************************
¹¦ÄÜ£º ÉèÖÃteakµÄÏÂÐÐÓïÒôͨµÀµÄÔöÒæ£»
ȡֵ·¶Î§£º0 µ½0x7FFF,
0 db ֵΪ0x1FFF£»
³ö³§Öµ£º
0x2000
*********************************************************************************/
typedef struct
{
SINT16 scal_out;
}
eepaud_static_scal_out_parms_type;
/*[Begin] [lvwenhua-2010/9/16]*/
typedef struct
{
SINT16 scal_i2s1;
}
eepaud_static_scal_i2s1_parms_type;
typedef struct
{
SINT16 scal_rec;
}
eepaud_static_scal_rec_parms_type;
/*[End] [lvwenhua-2010/9/16]*/
typedef struct
{
UINT16 gain[EEP_VOICE_OUTPUT_VOL_LEVELS];
} eep_voice_volume_config_type;
typedef struct
{
UINT16 gain[EEP_MIDI_OUTPUT_VOL_LEVELS];
} eep_midi_volume_config_type;
typedef struct
{
UINT16 gain[EEP_TONE_OUTPUT_VOL_LEVELS];
} eep_tone_volume_config_type;
#ifdef _USE_CODEC_TLV3212
typedef enum
{
PMIC_MIC_GAIN_MINUS_12DB = 0,
PMIC_MIC_GAIN_MINUS_9DB,
PMIC_MIC_GAIN_MINUS_6DB,
PMIC_MIC_GAIN_MINUS_3DB,
PMIC_MIC_GAIN_0DB,
PMIC_MIC_GAIN_PLUS_3DB,
PMIC_MIC_GAIN_PLUS_6DB,
PMIC_MIC_GAIN_PLUS_9DB,
PMIC_MIC_GAIN_PLUS_12DB,
PMIC_MIC_GAIN_PLUS_15DB,
PMIC_MIC_GAIN_PLUS_18DB,
PMIC_MIC_GAIN_MAX
} EEP_PMIC_AUDIO_MIC_GAIN;
typedef enum
{
PMIC_OUTPGA_GAIN_PLUS_24DB = 0,
PMIC_OUTPGA_GAIN_PLUS_21DB,
PMIC_OUTPGA_GAIN_PLUS_18DB,
PMIC_OUTPGA_GAIN_PLUS_15DB,
PMIC_OUTPGA_GAIN_PLUS_12DB,
PMIC_OUTPGA_GAIN_PLUS_9DB,
PMIC_OUTPGA_GAIN_PLUS_6DB,
PMIC_OUTPGA_GAIN_PLUS_3DB,
PMIC_OUTPGA_GAIN_0DB,
PMIC_OUTPGA_GAIN_MINUS_3DB,
PMIC_OUTPGA_GAIN_MINUS_6DB,
PMIC_OUTPGA_GAIN_MINUS_9DB,
PMIC_OUTPGA_GAIN_MINUS_12DB,
PMIC_OUTPGA_GAIN_MINUS_15DB,
PMIC_OUTPGA_GAIN_MINUS_18DB,
PMIC_OUTPGA_GAIN_MINUS_21DB,
PMIC_OUTPGA_GAIN_MINUS_24DB,
PMIC_OUTPGA_GAIN_MINUS_27DB,
PMIC_OUTPGA_GAIN_MINUS_30DB,
PMIC_OUTPGA_GAIN_MINUS_33DB,
PMIC_OUTPGA_GAIN_MINUS_36DB,
PMIC_OUTPGA_GAIN_MINUS_39DB,
PMIC_OUTPGA_GAIN_MINUS_42DB,
PMIC_OUTPGA_GAIN_MINUS_45DB,
PMIC_OUTPGA_GAIN_MINUS_48DB,
PMIC_OUTPGA_GAIN_MINUS_51DB,
PMIC_OUTPGA_GAIN_MINUS_54DB,
PMIC_OUTPGA_GAIN_MINUS_57DB,
PMIC_OUTPGA_GAIN_MINUS_60DB,
PMIC_OUTPGA_GAIN_MINUS_63DB,
PMIC_OUTPGA_GAIN_MAX
} EEP_PMIC_AUDIO_OUTPUT_PGA_GAIN;
/*added by miaolin 20130805*/
#else
typedef enum
{
PMIC_MIC_GAIN_MINUS_12DB = 0,
PMIC_MIC_GAIN_MINUS_9DB,
PMIC_MIC_GAIN_MINUS_6DB,
PMIC_MIC_GAIN_MINUS_3DB,
PMIC_MIC_GAIN_0DB,
PMIC_MIC_GAIN_PLUS_3DB,
PMIC_MIC_GAIN_PLUS_6DB,
PMIC_MIC_GAIN_PLUS_9DB,
PMIC_MIC_GAIN_PLUS_12DB,
PMIC_MIC_GAIN_PLUS_15DB,
PMIC_MIC_GAIN_PLUS_18DB,
PMIC_MIC_GAIN_MAX
} EEP_PMIC_AUDIO_MIC_GAIN;
typedef enum
{
PMIC_OUTPGA_GAIN_PLUS_24DB = 0,
PMIC_OUTPGA_GAIN_PLUS_21DB,
PMIC_OUTPGA_GAIN_PLUS_18DB,
PMIC_OUTPGA_GAIN_PLUS_15DB,
PMIC_OUTPGA_GAIN_PLUS_12DB,
PMIC_OUTPGA_GAIN_PLUS_9DB,
PMIC_OUTPGA_GAIN_PLUS_6DB,
PMIC_OUTPGA_GAIN_PLUS_3DB,
PMIC_OUTPGA_GAIN_0DB,
PMIC_OUTPGA_GAIN_MINUS_3DB,
PMIC_OUTPGA_GAIN_MINUS_6DB,
PMIC_OUTPGA_GAIN_MINUS_9DB,
PMIC_OUTPGA_GAIN_MINUS_12DB,
PMIC_OUTPGA_GAIN_MINUS_15DB,
PMIC_OUTPGA_GAIN_MINUS_18DB,
PMIC_OUTPGA_GAIN_MINUS_21DB,
PMIC_OUTPGA_GAIN_MINUS_24DB,
PMIC_OUTPGA_GAIN_MINUS_27DB,
PMIC_OUTPGA_GAIN_MINUS_30DB,
PMIC_OUTPGA_GAIN_MINUS_33DB,
PMIC_OUTPGA_GAIN_MINUS_36DB,
PMIC_OUTPGA_GAIN_MINUS_39DB,
PMIC_OUTPGA_GAIN_MINUS_42DB,
PMIC_OUTPGA_GAIN_MINUS_45DB,
PMIC_OUTPGA_GAIN_MINUS_48DB,
PMIC_OUTPGA_GAIN_MINUS_51DB,
PMIC_OUTPGA_GAIN_MINUS_54DB,
PMIC_OUTPGA_GAIN_MINUS_57DB,
PMIC_OUTPGA_GAIN_MINUS_60DB,
PMIC_OUTPGA_GAIN_MINUS_63DB,
PMIC_OUTPGA_GAIN_MAX
} EEP_PMIC_AUDIO_OUTPUT_PGA_GAIN;
#endif
#ifndef _USE_DATACARD
typedef struct
{
EEP_PMIC_AUDIO_OUTPUT_PGA_GAIN gain[EEP_PCM_OUTPUT_VOL_LEVELS];
} eep_pcm_volume_config_type;
#endif
typedef struct
{
eep_voice_volume_config_type voice_vol_gain_config[EEP_CODEC_DOWNLINK_PATHS];
eep_midi_volume_config_type midi_vol_gain_config[EEP_CODEC_DOWNLINK_PATHS];
eep_tone_volume_config_type tone_vol_gain_config[EEP_CODEC_DOWNLINK_PATHS];
#ifndef _USE_DATACARD
eep_pcm_volume_config_type pcm_vol_gain_config[EEP_CODEC_DOWNLINK_PATHS];
#endif
}aud_eep_volume_config_type;
#ifndef _USE_DATACARD
typedef struct
{
EEP_PMIC_AUDIO_MIC_GAIN pga_tx;
}aud_pmic_eep_pga_tx_type;
typedef struct
{
EEP_PMIC_AUDIO_OUTPUT_PGA_GAIN pga_rx;
}aud_pmic_eep_pga_rx_type;
/*[End] [lvwenhua-2010/9/16]*/
#endif
typedef volatile struct _aud_eep_static_type
{
eep_aud_path_data_type aud_path_data; /********************************************************************************
¹¦ÄÜ£º ÉèÖÃteak ÓïÒôÉÏÏÂÐÐͨ·ÉϵÄÔöÒæÂ˲¨²ÎÊýµÈ£»
ȡֵ·¶Î§£º¸Ã½á¹¹ÌåµÄȡֵ·¶Î§¼ûeep_aud_path_data_type½á¹¹Ì壻
³ö³§Öµ£º
¼ûeep_aud_path_data_type½á¹¹Ì壻
*********************************************************************************/
#if 0
eep_external_audio_type external_audio; /********************************************************************************
¹¦ÄÜ£º ÉèÖÃteak ÊÇ·ñʹÓÃÍⲿÒôƵÉ豸£»
ȡֵ·¶Î§£º0: ʹÄÜ
1: ²»Ê¹ÄÜ£»
³ö³§Öµ£º
0
*********************************************************************************/
#endif
eepaud_static_cbuf_mix_parms_type aud_cbuf_mix_parms[AUDIO_PATHS]; /********************************************************************************
¹¦ÄÜ£º ÉèÖûìºÏµ½I2S1ºÍAFEµÄÒôƵ×ÊÔ´ÔöÒæÖµ£»
ȡֵ·¶Î§£º0 µ½0x7FFF,
0 db ֵΪ0x3FFF£»
³ö³§Öµ£º
¼ûeepaud_static_cbuf_mix_parms_type½á¹¹Ì壻
*********************************************************************************/
#if 0
eep_aud_fm_radio_type aud_fm_radio; /********************************************************************************
¹¦ÄÜ£º ÉèÖÃteakµÄÊÕÒô»úµÄÉèÖ㬷½°¸ÖÐûÓÐʹÓøù¦ÄÜ£¬
Õâ¸ö²ÎÊýÔڽṹÌåÖпÉÒÔÈ¥µô£»
ȡֵ·¶Î§£º¸Ã½á¹¹ÌåµÄȡֵ·¶Î§¼ûeep_aud_fm_radio_type½á¹¹Ìå¡£
³ö³§Öµ£º
¼ûeep_aud_fm_radio_type½á¹¹Ìå¡£
*********************************************************************************/
#endif
eep_aud_region_type aud_region; /********************************************************************************
¹¦ÄÜ£º ÉèÖÃteakµÄʹÓÃÇøÓò£»
ȡֵ·¶Î§£º0: EEP_AUD_CEPT
1: EEP_AUD_ANSI
2: EEP_AUD_JAPAN£»
³ö³§Öµ£º
0
*********************************************************************************/
eepaud_static_scal_in_parms_type aud_scal_in_parms[EEP_AUD_UPLINK_PATHS]; /********************************************************************************
¹¦ÄÜ£º ÉèÖÃteakµÄÉÏÐÐÓïÒôͨµÀµÄÔöÒæ£»
ȡֵ·¶Î§£º0 µ½0x7FFF,
0 db ֵΪ0x1FFF£»
³ö³§Öµ£º
¼ûeepaud_static_scal_in_parms_type½á¹¹Ìå¡£
*********************************************************************************/
eepaud_static_scal_out_parms_type aud_scal_out_parms[EEP_AUD_DOWNLINK_PATHS]; /********************************************************************************
¹¦ÄÜ£º ÉèÖÃteakµÄÏÂÐÐÓïÒôͨµÀµÄÔöÒæ£»
ȡֵ·¶Î§£º0 µ½0x7FFF,
0 db ֵΪ 0x1FFF£»
³ö³§Öµ£º
¼ûeepaud_static_scal_out_parms_type½á¹¹Ìå¡£
*********************************************************************************/
/*[Begin] [lvwenhua-2010/9/16]*/
eepaud_static_scal_i2s1_parms_type aud_scal_i2s1_parms[EEP_AUD_DOWNLINK_PATHS];
eepaud_static_scal_rec_parms_type aud_scal_rec_parms[EEP_AUD_DOWNLINK_PATHS];
/*[End] [lvwenhua-2010/9/16]*/
#ifndef _USE_DATACARD
/*[Begin] [lvwenhua-2010/9/16]*/
aud_pmic_eep_pga_tx_type pmic_pga_tx_parms[EEP_AUD_UPLINK_PATHS];
aud_pmic_eep_pga_rx_type pmic_pga_rx_parms[EEP_AUD_DOWNLINK_PATHS];
#endif
aud_eep_volume_config_type aud_volume_config;
/*[End] [lvwenhua-2010/9/16]*/
}
aud_eep_static_type;
#endif /* _AUD_NV_H */