132 lines
4.7 KiB
C
Raw Normal View History

#ifndef _APP_AUDIO_H_
#define _APP_AUDIO_H_
#include "generic/typedef.h"
#include "board_config.h"
#if BT_SUPPORT_MUSIC_VOL_SYNC
#define TCFG_MAX_VOL_PROMPT 0
#else
#define TCFG_MAX_VOL_PROMPT 1
#endif
/*
*
*
*
*vol_sync.c
*
*/
#define TCFG_VOL_RESET_WHEN_NO_SUPPORT_VOL_SYNC 0 //不支持音量同步的设备默认最大音量
#define MC_BIAS_ADJUST_DISABLE 0 //省电容mic偏置校准关闭
#define MC_BIAS_ADJUST_ONE 1 //省电容mic偏置只校准一次跟dac trim一样
#define MC_BIAS_ADJUST_POWER_ON 2 //省电容mic偏置每次上电复位都校准(Power_On_Reset)
#define MC_BIAS_ADJUST_ALWAYS 3 //省电容mic偏置每次开机都校准(包括上电复位和其他复位)
/*
*mic偏置电压自动调整()
*1
*2,()
*3
*/
#define TCFG_MC_BIAS_AUTO_ADJUST MC_BIAS_ADJUST_POWER_ON
#define TCFG_MC_CONVERGE_TRACE 0 //省电容mic收敛值跟踪
/*
*mic收敛步进限制
*0:, >0:
*mic的模拟增益或者数字增益很大的时候mic_capless模式收敛过程,
*
*()
*/
#define TCFG_MC_DTB_STEP_LIMIT 15 //最大收敛步进值
/*
*mic使用固定收敛值
*7000mic的偏置维持在1.5v左右即为合理
*使0,
*/
#define TCFG_MC_DTB_FIXED 0
#define TCFG_AEC_SIMPLEX 0 //通话单工模式配置
#define TCFG_ESCO_PLC 1 //通话丢包修复
#define TCFG_DIG_PHASE_INVERTER_EN 1 //数字反相器用来矫正DAC的输出相位
#define MAX_ANA_VOL (10) //系统最大模拟音量
#define MAX_COM_VOL (16) // 具体数值应小于联合音量等级的数组大小 (combined_vol_list)
#define MAX_DIG_VOL (16)
#if (SYS_VOL_TYPE == VOL_TYPE_DIGITAL)
#define SYS_MAX_VOL 16
#define SYS_DEFAULT_VOL 16
#define SYS_DEFAULT_TONE_VOL 10
#define SYS_DEFAULT_SIN_VOL 8
#elif (SYS_VOL_TYPE == VOL_TYPE_DIGITAL_HW)
#define SYS_MAX_VOL MAX_DIG_VOL
#define SYS_DEFAULT_VOL SYS_MAX_VOL
#define SYS_DEFAULT_TONE_VOL 10
#define SYS_DEFAULT_SIN_VOL 8
#elif (SYS_VOL_TYPE == VOL_TYPE_ANALOG)
#define SYS_MAX_VOL MAX_ANA_VOL
#define SYS_DEFAULT_VOL SYS_MAX_VOL
#define SYS_DEFAULT_TONE_VOL 10
#define SYS_DEFAULT_SIN_VOL 8
#elif (SYS_VOL_TYPE == VOL_TYPE_AD)
#define SYS_MAX_VOL MAX_COM_VOL
#define SYS_DEFAULT_VOL SYS_MAX_VOL
#define SYS_DEFAULT_TONE_VOL 14
#define SYS_DEFAULT_SIN_VOL 8
#else
#error "SYS_VOL_TYPE define error"
#endif
/*
*audio state define
*/
#define APP_AUDIO_STATE_IDLE 0
#define APP_AUDIO_STATE_MUSIC 1
#define APP_AUDIO_STATE_CALL 2
#define APP_AUDIO_STATE_WTONE 3
#define APP_AUDIO_CURRENT_STATE 4
u8 get_max_sys_vol(void);
u8 get_tone_vol(void);
s8 app_audio_get_volume(u8 state);
void app_audio_set_volume(u8 state, s8 volume, u8 fade);
void app_audio_volume_up(u8 value);
void app_audio_volume_down(u8 value);
void app_audio_state_switch(u8 state, s16 max_volume);
void app_audio_mute(u8 value);
s16 app_audio_get_max_volume(void);
void app_audio_state_switch(u8 state, s16 max_volume);
void app_audio_state_exit(u8 state);
u8 app_audio_get_state(void);
void volume_up_down_direct(s8 value);
void app_audio_set_mix_volume(u8 front_volume, u8 back_volume);
void app_audio_set_digital_volume(s16 volume);
void app_set_sys_vol(s16 vol_l, s16 vol_r);
void app_set_max_vol(s16 vol);
void audio_combined_vol_init(u8 cfg_en);
void audio_volume_list_init(u8 cfg_en);
u32 phone_call_eq_open();
int eq_mode_sw();
int mic_test_start();
int mic_test_stop();
void dac_power_on(void);
void dac_power_off(void);
void mc_trim_init(int update);
void mic_trim_run();
/*打印audio模块的数字模拟增益DAC/ADC*/
void audio_gain_dump();
void audio_adda_dump(void); //打印所有的dac,adc寄存器
#endif/*_APP_AUDIO_H_*/