完成JM207功能
This commit is contained in:
parent
59905ee18c
commit
1a0d74bdfe
@ -45,7 +45,7 @@
|
|||||||
//*********************************************************************************//
|
//*********************************************************************************//
|
||||||
#define TCFG_UART0_ENABLE ENABLE_THIS_MOUDLE //串口打印模块使能
|
#define TCFG_UART0_ENABLE ENABLE_THIS_MOUDLE //串口打印模块使能
|
||||||
#define TCFG_UART0_RX_PORT NO_CONFIG_PORT //串口接收脚配置(用于打印可以选择NO_CONFIG_PORT)
|
#define TCFG_UART0_RX_PORT NO_CONFIG_PORT //串口接收脚配置(用于打印可以选择NO_CONFIG_PORT)
|
||||||
#define TCFG_UART0_TX_PORT IO_PORTA_09 //串口发送脚配置
|
#define TCFG_UART0_TX_PORT IO_PORT_DP //串口发送脚配置
|
||||||
#define TCFG_UART0_BAUDRATE 1000000 //串口波特率配置
|
#define TCFG_UART0_BAUDRATE 1000000 //串口波特率配置
|
||||||
|
|
||||||
//*********************************************************************************//
|
//*********************************************************************************//
|
||||||
@ -397,7 +397,7 @@ DAC硬件上的连接方式,可选的配置:
|
|||||||
#define LINEIN_INPUT_WAY LINEIN_INPUT_WAY_ADC //LINEIN_INPUT_WAY_ANALOG
|
#define LINEIN_INPUT_WAY LINEIN_INPUT_WAY_ADC //LINEIN_INPUT_WAY_ANALOG
|
||||||
|
|
||||||
#define AUDIO_OUTPUT_AUTOMUTE 1//ENABLE
|
#define AUDIO_OUTPUT_AUTOMUTE 1//ENABLE
|
||||||
#define DAC_AUTO_HIGH_Z_EN DISABLE //处理直推串音问题, 隔直不要开
|
#define DAC_AUTO_HIGH_Z_EN 0 //DISABLE //处理直推串音问题, 隔直不要开
|
||||||
|
|
||||||
/*
|
/*
|
||||||
*系统音量类型选择
|
*系统音量类型选择
|
||||||
@ -542,8 +542,8 @@ DAC硬件上的连接方式,可选的配置:
|
|||||||
//*********************************************************************************//
|
//*********************************************************************************//
|
||||||
// 新音箱配置工具 && 调音工具 //
|
// 新音箱配置工具 && 调音工具 //
|
||||||
//*********************************************************************************//
|
//*********************************************************************************//
|
||||||
#define TCFG_SOUNDBOX_TOOL_ENABLE ENABLE //是否支持音箱在线配置工具
|
#define TCFG_SOUNDBOX_TOOL_ENABLE 0 //是否支持音箱在线配置工具
|
||||||
#define TCFG_EFFECT_TOOL_ENABLE ENABLE //是否支持在线音效调试,使能该项还需使能EQ总使能TCFG_EQ_ENABL,
|
#define TCFG_EFFECT_TOOL_ENABLE 0 //是否支持在线音效调试,使能该项还需使能EQ总使能TCFG_EQ_ENABL,
|
||||||
#define TCFG_NULL_COMM 0 //不支持通信
|
#define TCFG_NULL_COMM 0 //不支持通信
|
||||||
#define TCFG_UART_COMM 1 //串口通信
|
#define TCFG_UART_COMM 1 //串口通信
|
||||||
#define TCFG_USB_COMM 2 //USB通信
|
#define TCFG_USB_COMM 2 //USB通信
|
||||||
|
|||||||
@ -1238,7 +1238,7 @@ void bt_status_connect(struct bt_event *bt)
|
|||||||
#endif
|
#endif
|
||||||
/* log_debug("tone status:%d\n", tone_get_status()); */
|
/* log_debug("tone status:%d\n", tone_get_status()); */
|
||||||
if (get_call_status() == BT_CALL_HANGUP) {
|
if (get_call_status() == BT_CALL_HANGUP) {
|
||||||
bt_tone_play_index(IDEX_TONE_BT_CONN, 1, NULL);
|
//bt_tone_play_index(IDEX_TONE_BT_CONN, 1, NULL);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1353,7 +1353,7 @@ void bt_status_disconnect(struct bt_event *bt)
|
|||||||
{
|
{
|
||||||
if (!app_var.goto_poweroff_flag) { /*关机不播断开提示音*/
|
if (!app_var.goto_poweroff_flag) { /*关机不播断开提示音*/
|
||||||
if (!__this->ignore_discon_tone) {
|
if (!__this->ignore_discon_tone) {
|
||||||
bt_tone_play_index(IDEX_TONE_BT_DISCONN, 1, NULL);
|
//bt_tone_play_index(IDEX_TONE_BT_DISCONN, 1, NULL);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -105,7 +105,6 @@ struct audio_mixer recorder_mixer = {0};
|
|||||||
s16 recorder_mix_buff[AUDIO_MIXER_LEN / 2] SEC(.dec_mix_buff);
|
s16 recorder_mix_buff[AUDIO_MIXER_LEN / 2] SEC(.dec_mix_buff);
|
||||||
#endif /*RECORDER_MIX_EN*/
|
#endif /*RECORDER_MIX_EN*/
|
||||||
|
|
||||||
|
|
||||||
#if (AUDIO_OUTPUT_WAY == AUDIO_OUTPUT_WAY_DAC)
|
#if (AUDIO_OUTPUT_WAY == AUDIO_OUTPUT_WAY_DAC)
|
||||||
#if AUDIO_CODEC_SUPPORT_SYNC
|
#if AUDIO_CODEC_SUPPORT_SYNC
|
||||||
s16 dac_sync_buff[256];
|
s16 dac_sync_buff[256];
|
||||||
@ -118,7 +117,6 @@ void *vocal_remove_open(u8 ch_num);
|
|||||||
struct channel_switch *vocal_remove_mix_ch_switch = NULL; // 声道变换,单声道时,先让解码出立体声,做完人声消除,再变单声道
|
struct channel_switch *vocal_remove_mix_ch_switch = NULL; // 声道变换,单声道时,先让解码出立体声,做完人声消除,再变单声道
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
extern const int config_mixer_en;
|
extern const int config_mixer_en;
|
||||||
|
|
||||||
#define AUDIO_DEC_MIXER_EN config_mixer_en
|
#define AUDIO_DEC_MIXER_EN config_mixer_en
|
||||||
@ -129,22 +127,26 @@ extern const int config_mixer_en;
|
|||||||
extern spectrum_fft_hdl *spec_hdl;
|
extern spectrum_fft_hdl *spec_hdl;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
#if defined(SOUND_TRACK_2_P_X_CH_CONFIG) && SOUND_TRACK_2_P_X_CH_CONFIG
|
#if defined(SOUND_TRACK_2_P_X_CH_CONFIG) && SOUND_TRACK_2_P_X_CH_CONFIG
|
||||||
static float bass_gain = 0;
|
static float bass_gain = 0;
|
||||||
// 低音调节测试例子
|
// 低音调节测试例子
|
||||||
void sound_track_bass_vol_test_demo(u8 up_down)
|
void sound_track_bass_vol_test_demo(u8 up_down)
|
||||||
{
|
{
|
||||||
if (up_down) {
|
if (up_down)
|
||||||
|
{
|
||||||
bass_gain++;
|
bass_gain++;
|
||||||
} else {
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
bass_gain--;
|
bass_gain--;
|
||||||
}
|
}
|
||||||
if (bass_gain > 6) {
|
if (bass_gain > 6)
|
||||||
|
{
|
||||||
bass_gain = 6;
|
bass_gain = 6;
|
||||||
tone_play_by_path(TONE_NORMAL, 0); // 播放一段正弦波
|
tone_play_by_path(TONE_NORMAL, 0); // 播放一段正弦波
|
||||||
}
|
}
|
||||||
if (bass_gain < -6) {
|
if (bass_gain < -6)
|
||||||
|
{
|
||||||
bass_gain = -6;
|
bass_gain = -6;
|
||||||
tone_play_by_path(TONE_NORMAL, 0); // 播放一段正弦波
|
tone_play_by_path(TONE_NORMAL, 0); // 播放一段正弦波
|
||||||
}
|
}
|
||||||
@ -155,7 +157,8 @@ void sound_track_bass_vol_test_demo(u8 up_down)
|
|||||||
#endif /*defined(SOUND_TRACK_2_P_X_CH_CONFIG) &&SOUND_TRACK_2_P_X_CH_CONFIG*/
|
#endif /*defined(SOUND_TRACK_2_P_X_CH_CONFIG) &&SOUND_TRACK_2_P_X_CH_CONFIG*/
|
||||||
|
|
||||||
//////////////////////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////////////////////
|
||||||
struct _audio_phase_inver_hdl {
|
struct _audio_phase_inver_hdl
|
||||||
|
{
|
||||||
struct audio_stream_entry entry; // 音频流入口
|
struct audio_stream_entry entry; // 音频流入口
|
||||||
} audio_phase_inver_hdl;
|
} audio_phase_inver_hdl;
|
||||||
|
|
||||||
@ -170,7 +173,8 @@ static int audio_phase_inver_data_handler(struct audio_stream_entry *entry,
|
|||||||
struct _audio_phase_inver_hdl *hdl = container_of(entry, struct _audio_phase_inver_hdl, entry);
|
struct _audio_phase_inver_hdl *hdl = container_of(entry, struct _audio_phase_inver_hdl, entry);
|
||||||
out->data = in->data;
|
out->data = in->data;
|
||||||
out->data_len = in->data_len;
|
out->data_len = in->data_len;
|
||||||
if (in->data_len - in->offset > 0) {
|
if (in->data_len - in->offset > 0)
|
||||||
|
{
|
||||||
digital_phase_inverter_s16(in->data + in->offset / 2, in->data_len - in->offset);
|
digital_phase_inverter_s16(in->data + in->offset / 2, in->data_len - in->offset);
|
||||||
}
|
}
|
||||||
return in->data_len;
|
return in->data_len;
|
||||||
@ -178,10 +182,6 @@ static int audio_phase_inver_data_handler(struct audio_stream_entry *entry,
|
|||||||
|
|
||||||
//////////////////////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*----------------------------------------------------------------------------*/
|
/*----------------------------------------------------------------------------*/
|
||||||
/**@brief 获取dac能量值
|
/**@brief 获取dac能量值
|
||||||
@param
|
@param
|
||||||
@ -193,7 +193,8 @@ int audio_dac_energy_get(void)
|
|||||||
{
|
{
|
||||||
#if AUDIO_OUTPUT_AUTOMUTE
|
#if AUDIO_OUTPUT_AUTOMUTE
|
||||||
int audio_energy_detect_energy_get(void *_hdl, u8 ch);
|
int audio_energy_detect_energy_get(void *_hdl, u8 ch);
|
||||||
if (mix_out_automute_hdl) {
|
if (mix_out_automute_hdl)
|
||||||
|
{
|
||||||
return audio_energy_detect_energy_get(mix_out_automute_hdl, BIT(0));
|
return audio_energy_detect_energy_get(mix_out_automute_hdl, BIT(0));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -218,7 +219,6 @@ void audio_resume_all_decoder(void)
|
|||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
#if AUDIO_DECODE_TASK_WAKEUP_TIME
|
#if AUDIO_DECODE_TASK_WAKEUP_TIME
|
||||||
#include "timer.h"
|
#include "timer.h"
|
||||||
/*----------------------------------------------------------------------------*/
|
/*----------------------------------------------------------------------------*/
|
||||||
@ -243,7 +243,8 @@ static void audio_decoder_wakeup_timer(void *priv)
|
|||||||
/*----------------------------------------------------------------------------*/
|
/*----------------------------------------------------------------------------*/
|
||||||
int audio_decoder_task_add_probe(struct audio_decoder_task *task)
|
int audio_decoder_task_add_probe(struct audio_decoder_task *task)
|
||||||
{
|
{
|
||||||
if (task->wakeup_timer == 0) {
|
if (task->wakeup_timer == 0)
|
||||||
|
{
|
||||||
task->wakeup_timer = sys_hi_timer_add(task, audio_decoder_wakeup_timer, AUDIO_DECODE_TASK_WAKEUP_TIME);
|
task->wakeup_timer = sys_hi_timer_add(task, audio_decoder_wakeup_timer, AUDIO_DECODE_TASK_WAKEUP_TIME);
|
||||||
log_i("audio_decoder_task_add_probe:%d\n", task->wakeup_timer);
|
log_i("audio_decoder_task_add_probe:%d\n", task->wakeup_timer);
|
||||||
}
|
}
|
||||||
@ -259,11 +260,13 @@ int audio_decoder_task_add_probe(struct audio_decoder_task *task)
|
|||||||
int audio_decoder_task_del_probe(struct audio_decoder_task *task)
|
int audio_decoder_task_del_probe(struct audio_decoder_task *task)
|
||||||
{
|
{
|
||||||
log_i("audio_decoder_task_del_probe\n");
|
log_i("audio_decoder_task_del_probe\n");
|
||||||
if (audio_decoder_task_wait_state(task) > 0) {
|
if (audio_decoder_task_wait_state(task) > 0)
|
||||||
|
{
|
||||||
/*解码任务列表还有任务*/
|
/*解码任务列表还有任务*/
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
if (task->wakeup_timer) {
|
if (task->wakeup_timer)
|
||||||
|
{
|
||||||
log_i("audio_decoder_task_del_probe:%d\n", task->wakeup_timer);
|
log_i("audio_decoder_task_del_probe:%d\n", task->wakeup_timer);
|
||||||
sys_hi_timer_del(task->wakeup_timer);
|
sys_hi_timer_del(task->wakeup_timer);
|
||||||
task->wakeup_timer = 0;
|
task->wakeup_timer = 0;
|
||||||
@ -279,7 +282,8 @@ int audio_decoder_task_del_probe(struct audio_decoder_task *task)
|
|||||||
/*----------------------------------------------------------------------------*/
|
/*----------------------------------------------------------------------------*/
|
||||||
int audio_decoder_wakeup_modify(int msecs)
|
int audio_decoder_wakeup_modify(int msecs)
|
||||||
{
|
{
|
||||||
if (decode_task.wakeup_timer) {
|
if (decode_task.wakeup_timer)
|
||||||
|
{
|
||||||
sys_hi_timer_modify(decode_task.wakeup_timer, msecs);
|
sys_hi_timer_modify(decode_task.wakeup_timer, msecs);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -353,13 +357,14 @@ u32 audio_output_nor_rate(void)
|
|||||||
u32 audio_output_rate(int input_rate)
|
u32 audio_output_rate(int input_rate)
|
||||||
{
|
{
|
||||||
u32 out_rate = audio_output_nor_rate();
|
u32 out_rate = audio_output_nor_rate();
|
||||||
if (out_rate) {
|
if (out_rate)
|
||||||
|
{
|
||||||
return out_rate;
|
return out_rate;
|
||||||
}
|
}
|
||||||
|
|
||||||
#if (AUDIO_OUTPUT_WAY == AUDIO_OUTPUT_WAY_BT)
|
#if (AUDIO_OUTPUT_WAY == AUDIO_OUTPUT_WAY_BT)
|
||||||
if ((bt_user_priv_var.emitter_or_receiver == BT_EMITTER_EN) && (!bt_phone_dec_is_running())
|
if ((bt_user_priv_var.emitter_or_receiver == BT_EMITTER_EN) && (!bt_phone_dec_is_running()) && (!bt_media_is_running()))
|
||||||
&& (!bt_media_is_running())) {
|
{
|
||||||
y_printf("+++ \n");
|
y_printf("+++ \n");
|
||||||
return audio_sbc_enc_get_rate();
|
return audio_sbc_enc_get_rate();
|
||||||
}
|
}
|
||||||
@ -368,7 +373,8 @@ u32 audio_output_rate(int input_rate)
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if (TCFG_MIC_EFFECT_ENABLE)
|
#if (TCFG_MIC_EFFECT_ENABLE)
|
||||||
if (input_rate > 48000) {
|
if (input_rate > 48000)
|
||||||
|
{
|
||||||
return 48000;
|
return 48000;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
@ -388,11 +394,16 @@ u32 audio_output_channel_num(void)
|
|||||||
#if ((AUDIO_OUTPUT_WAY == AUDIO_OUTPUT_WAY_DAC) || (AUDIO_OUTPUT_WAY == AUDIO_OUTPUT_WAY_BT))
|
#if ((AUDIO_OUTPUT_WAY == AUDIO_OUTPUT_WAY_DAC) || (AUDIO_OUTPUT_WAY == AUDIO_OUTPUT_WAY_BT))
|
||||||
/*根据DAC输出的方式选择输出的声道*/
|
/*根据DAC输出的方式选择输出的声道*/
|
||||||
u8 dac_connect_mode = app_audio_output_mode_get();
|
u8 dac_connect_mode = app_audio_output_mode_get();
|
||||||
if (dac_connect_mode == DAC_OUTPUT_LR || dac_connect_mode == DAC_OUTPUT_DUAL_LR_DIFF) {
|
if (dac_connect_mode == DAC_OUTPUT_LR || dac_connect_mode == DAC_OUTPUT_DUAL_LR_DIFF)
|
||||||
|
{
|
||||||
return 2;
|
return 2;
|
||||||
} else if (dac_connect_mode == DAC_OUTPUT_FRONT_LR_REAR_LR) {
|
}
|
||||||
|
else if (dac_connect_mode == DAC_OUTPUT_FRONT_LR_REAR_LR)
|
||||||
|
{
|
||||||
return 2;
|
return 2;
|
||||||
} else {
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
#if AUDIO_VOCAL_REMOVE_EN
|
#if AUDIO_VOCAL_REMOVE_EN
|
||||||
return 2;
|
return 2;
|
||||||
#endif
|
#endif
|
||||||
@ -417,20 +428,28 @@ u32 audio_output_channel_type(void)
|
|||||||
#if ((AUDIO_OUTPUT_WAY == AUDIO_OUTPUT_WAY_DAC) || (AUDIO_OUTPUT_WAY == AUDIO_OUTPUT_WAY_BT))
|
#if ((AUDIO_OUTPUT_WAY == AUDIO_OUTPUT_WAY_DAC) || (AUDIO_OUTPUT_WAY == AUDIO_OUTPUT_WAY_BT))
|
||||||
/*根据DAC输出的方式选择输出的声道*/
|
/*根据DAC输出的方式选择输出的声道*/
|
||||||
u8 dac_connect_mode = app_audio_output_mode_get();
|
u8 dac_connect_mode = app_audio_output_mode_get();
|
||||||
if (dac_connect_mode == DAC_OUTPUT_LR || dac_connect_mode == DAC_OUTPUT_DUAL_LR_DIFF) {
|
if (dac_connect_mode == DAC_OUTPUT_LR || dac_connect_mode == DAC_OUTPUT_DUAL_LR_DIFF)
|
||||||
|
{
|
||||||
return AUDIO_CH_LR;
|
return AUDIO_CH_LR;
|
||||||
} else if (dac_connect_mode == DAC_OUTPUT_FRONT_LR_REAR_LR) {
|
}
|
||||||
|
else if (dac_connect_mode == DAC_OUTPUT_FRONT_LR_REAR_LR)
|
||||||
|
{
|
||||||
return AUDIO_CH_LR;
|
return AUDIO_CH_LR;
|
||||||
} else if (dac_connect_mode == DAC_OUTPUT_MONO_L) {
|
}
|
||||||
|
else if (dac_connect_mode == DAC_OUTPUT_MONO_L)
|
||||||
|
{
|
||||||
return AUDIO_CH_DIFF; // 要输出左右合成的单声道数据选这个
|
return AUDIO_CH_DIFF; // 要输出左右合成的单声道数据选这个
|
||||||
/* return AUDIO_CH_L; */ // 只要输出左声道的数据选这个
|
/* return AUDIO_CH_L; */ // 只要输出左声道的数据选这个
|
||||||
} else if (dac_connect_mode == DAC_OUTPUT_MONO_R) {
|
}
|
||||||
|
else if (dac_connect_mode == DAC_OUTPUT_MONO_R)
|
||||||
|
{
|
||||||
|
|
||||||
return AUDIO_CH_DIFF; // 要输出左右合成的单声道数据选这个
|
return AUDIO_CH_DIFF; // 要输出左右合成的单声道数据选这个
|
||||||
|
|
||||||
/* return AUDIO_CH_R; */ // 只要输出右声道的数据选这个
|
/* return AUDIO_CH_R; */ // 只要输出右声道的数据选这个
|
||||||
|
}
|
||||||
} else {
|
else
|
||||||
|
{
|
||||||
return AUDIO_CH_DIFF;
|
return AUDIO_CH_DIFF;
|
||||||
}
|
}
|
||||||
#elif (AUDIO_OUTPUT_WAY == AUDIO_OUTPUT_WAY_FM)
|
#elif (AUDIO_OUTPUT_WAY == AUDIO_OUTPUT_WAY_FM)
|
||||||
@ -450,14 +469,14 @@ u32 audio_output_channel_type(void)
|
|||||||
int audio_output_set_start_volume(u8 state)
|
int audio_output_set_start_volume(u8 state)
|
||||||
{
|
{
|
||||||
s16 vol_max = get_max_sys_vol();
|
s16 vol_max = get_max_sys_vol();
|
||||||
if (state == APP_AUDIO_STATE_CALL) {
|
if (state == APP_AUDIO_STATE_CALL)
|
||||||
|
{
|
||||||
vol_max = app_var.aec_dac_gain;
|
vol_max = app_var.aec_dac_gain;
|
||||||
}
|
}
|
||||||
app_audio_state_switch(state, vol_max);
|
app_audio_state_switch(state, vol_max);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/*----------------------------------------------------------------------------*/
|
/*----------------------------------------------------------------------------*/
|
||||||
/**@brief 开始音频输出
|
/**@brief 开始音频输出
|
||||||
@param sample_rate: 输出采样率
|
@param sample_rate: 输出采样率
|
||||||
@ -469,11 +488,13 @@ int audio_output_set_start_volume(u8 state)
|
|||||||
u8 audio_output_flag = 0;
|
u8 audio_output_flag = 0;
|
||||||
int audio_output_start(u32 sample_rate, u8 reset_rate)
|
int audio_output_start(u32 sample_rate, u8 reset_rate)
|
||||||
{
|
{
|
||||||
if (reset_rate) {
|
if (reset_rate)
|
||||||
|
{
|
||||||
app_audio_output_samplerate_set(sample_rate);
|
app_audio_output_samplerate_set(sample_rate);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (audio_output_flag) {
|
if (audio_output_flag)
|
||||||
|
{
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -516,7 +537,8 @@ struct audio_src_handle *audio_hw_resample_open(void *priv,
|
|||||||
{
|
{
|
||||||
struct audio_src_handle *hdl;
|
struct audio_src_handle *hdl;
|
||||||
hdl = zalloc(sizeof(struct audio_src_handle));
|
hdl = zalloc(sizeof(struct audio_src_handle));
|
||||||
if (hdl) {
|
if (hdl)
|
||||||
|
{
|
||||||
audio_hw_src_open(hdl, channel, SRC_TYPE_RESAMPLE);
|
audio_hw_src_open(hdl, channel, SRC_TYPE_RESAMPLE);
|
||||||
audio_hw_src_set_rate(hdl, input_sample_rate, output_sample_rate);
|
audio_hw_src_set_rate(hdl, input_sample_rate, output_sample_rate);
|
||||||
audio_src_set_output_handler(hdl, priv, output_handler);
|
audio_src_set_output_handler(hdl, priv, output_handler);
|
||||||
@ -534,14 +556,14 @@ struct audio_src_handle *audio_hw_resample_open(void *priv,
|
|||||||
/*----------------------------------------------------------------------------*/
|
/*----------------------------------------------------------------------------*/
|
||||||
void audio_hw_resample_close(struct audio_src_handle *hdl)
|
void audio_hw_resample_close(struct audio_src_handle *hdl)
|
||||||
{
|
{
|
||||||
if (hdl) {
|
if (hdl)
|
||||||
|
{
|
||||||
audio_hw_src_stop(hdl);
|
audio_hw_src_stop(hdl);
|
||||||
audio_hw_src_close(hdl);
|
audio_hw_src_close(hdl);
|
||||||
free(hdl);
|
free(hdl);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/*----------------------------------------------------------------------------*/
|
/*----------------------------------------------------------------------------*/
|
||||||
/**@brief mixer事件处理
|
/**@brief mixer事件处理
|
||||||
@param *mixer: 句柄
|
@param *mixer: 句柄
|
||||||
@ -552,19 +574,24 @@ void audio_hw_resample_close(struct audio_src_handle *hdl)
|
|||||||
/*----------------------------------------------------------------------------*/
|
/*----------------------------------------------------------------------------*/
|
||||||
static void mixer_event_handler(struct audio_mixer *mixer, int event)
|
static void mixer_event_handler(struct audio_mixer *mixer, int event)
|
||||||
{
|
{
|
||||||
switch (event) {
|
switch (event)
|
||||||
|
{
|
||||||
case MIXER_EVENT_OPEN:
|
case MIXER_EVENT_OPEN:
|
||||||
if (audio_mixer_get_ch_num(mixer) >= 1) {
|
if (audio_mixer_get_ch_num(mixer) >= 1)
|
||||||
|
{
|
||||||
clock_add_set(DEC_MIX_CLK);
|
clock_add_set(DEC_MIX_CLK);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case MIXER_EVENT_CLOSE:
|
case MIXER_EVENT_CLOSE:
|
||||||
if (audio_mixer_get_ch_num(mixer) == 0) {
|
if (audio_mixer_get_ch_num(mixer) == 0)
|
||||||
|
{
|
||||||
clock_remove_set(DEC_MIX_CLK);
|
clock_remove_set(DEC_MIX_CLK);
|
||||||
}
|
}
|
||||||
if (config_mixer_en) {
|
if (config_mixer_en)
|
||||||
|
{
|
||||||
os_mutex_pend(&mixer->mutex, 0);
|
os_mutex_pend(&mixer->mutex, 0);
|
||||||
if (audio_mixer_get_active_ch_num(mixer) == 0) {
|
if (audio_mixer_get_active_ch_num(mixer) == 0)
|
||||||
|
{
|
||||||
/*输出通道可以进行stop处理*/
|
/*输出通道可以进行stop处理*/
|
||||||
audio_mixer_output_stop(mixer);
|
audio_mixer_output_stop(mixer);
|
||||||
// 通道关闭时,清掉节点记录的偏移,防止下个解码打开时,mix之后的同步节点断言
|
// 通道关闭时,清掉节点记录的偏移,防止下个解码打开时,mix之后的同步节点断言
|
||||||
@ -579,7 +606,6 @@ static void mixer_event_handler(struct audio_mixer *mixer, int event)
|
|||||||
#endif
|
#endif
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
/*----------------------------------------------------------------------------*/
|
/*----------------------------------------------------------------------------*/
|
||||||
/**@brief 检测mixer采样率支持
|
/**@brief 检测mixer采样率支持
|
||||||
@ -591,7 +617,8 @@ static void mixer_event_handler(struct audio_mixer *mixer, int event)
|
|||||||
/*----------------------------------------------------------------------------*/
|
/*----------------------------------------------------------------------------*/
|
||||||
static u32 audio_mixer_check_sr(struct audio_mixer *mixer, u32 sr)
|
static u32 audio_mixer_check_sr(struct audio_mixer *mixer, u32 sr)
|
||||||
{
|
{
|
||||||
return audio_output_rate(sr);;
|
return audio_output_rate(sr);
|
||||||
|
;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*----------------------------------------------------------------------------*/
|
/*----------------------------------------------------------------------------*/
|
||||||
@ -617,9 +644,12 @@ int vol_get_test()
|
|||||||
/*----------------------------------------------------------------------------*/
|
/*----------------------------------------------------------------------------*/
|
||||||
void audio_mixer_reset_sample_rate(u8 flag, u32 sr)
|
void audio_mixer_reset_sample_rate(u8 flag, u32 sr)
|
||||||
{
|
{
|
||||||
if (flag) {
|
if (flag)
|
||||||
|
{
|
||||||
audio_mixer_set_sample_rate(&mixer, MIXER_SR_SPEC, sr);
|
audio_mixer_set_sample_rate(&mixer, MIXER_SR_SPEC, sr);
|
||||||
} else {
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
audio_mixer_set_sample_rate(&mixer, MIXER_SR_FIRST, sr);
|
audio_mixer_set_sample_rate(&mixer, MIXER_SR_FIRST, sr);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -634,15 +664,16 @@ void audio_mixer_reset_sample_rate(u8 flag, u32 sr)
|
|||||||
int audio_dec_occupy_trace_hdl(void *priv, u32 idle_total)
|
int audio_dec_occupy_trace_hdl(void *priv, u32 idle_total)
|
||||||
{
|
{
|
||||||
struct audio_decoder_occupy *occupy = priv;
|
struct audio_decoder_occupy *occupy = priv;
|
||||||
if (idle_total < occupy->idle_expect) {
|
if (idle_total < occupy->idle_expect)
|
||||||
if (occupy->pend_time) {
|
{
|
||||||
|
if (occupy->pend_time)
|
||||||
|
{
|
||||||
os_time_dly(occupy->pend_time);
|
os_time_dly(occupy->pend_time);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
extern void audio_adda_gain_dump(void); // 打印所有adc,dac的增益
|
extern void audio_adda_gain_dump(void); // 打印所有adc,dac的增益
|
||||||
/*音频配置实时跟踪,可以用来查看ADC/DAC增益,或者其他寄存器配置*/
|
/*音频配置实时跟踪,可以用来查看ADC/DAC增益,或者其他寄存器配置*/
|
||||||
static void audio_config_trace(void *priv)
|
static void audio_config_trace(void *priv)
|
||||||
@ -668,7 +699,6 @@ int audio_dec_init()
|
|||||||
|
|
||||||
printf("audio_dec_init\n");
|
printf("audio_dec_init\n");
|
||||||
|
|
||||||
|
|
||||||
// 创建解码任务
|
// 创建解码任务
|
||||||
err = audio_decoder_task_create(&decode_task, "audio_dec");
|
err = audio_decoder_task_create(&decode_task, "audio_dec");
|
||||||
|
|
||||||
@ -704,7 +734,8 @@ int audio_dec_init()
|
|||||||
/*硬件SRC模块滤波器buffer设置,可根据最大使用数量设置整体buffer*/
|
/*硬件SRC模块滤波器buffer设置,可根据最大使用数量设置整体buffer*/
|
||||||
audio_src_base_filt_init(audio_src_hw_filt, sizeof(audio_src_hw_filt));
|
audio_src_base_filt_init(audio_src_hw_filt, sizeof(audio_src_hw_filt));
|
||||||
|
|
||||||
if (!AUDIO_DEC_MIXER_EN) {
|
if (!AUDIO_DEC_MIXER_EN)
|
||||||
|
{
|
||||||
#if AUDIO_OUTPUT_INCLUDE_DAC
|
#if AUDIO_OUTPUT_INCLUDE_DAC
|
||||||
// 创建dac通道
|
// 创建dac通道
|
||||||
audio_dac_new_channel(&dac_hdl, &default_dac);
|
audio_dac_new_channel(&dac_hdl, &default_dac);
|
||||||
@ -724,7 +755,8 @@ int audio_dec_init()
|
|||||||
audio_mixer_set_event_handler(&mixer, mixer_event_handler);
|
audio_mixer_set_event_handler(&mixer, mixer_event_handler);
|
||||||
// 使能mixer采样率检测
|
// 使能mixer采样率检测
|
||||||
audio_mixer_set_check_sr_handler(&mixer, audio_mixer_check_sr);
|
audio_mixer_set_check_sr_handler(&mixer, audio_mixer_check_sr);
|
||||||
if (config_mixer_en) {
|
if (config_mixer_en)
|
||||||
|
{
|
||||||
/*初始化mix_buf的长度*/
|
/*初始化mix_buf的长度*/
|
||||||
audio_mixer_set_output_buf(&mixer, mix_buff, sizeof(mix_buff));
|
audio_mixer_set_output_buf(&mixer, mix_buff, sizeof(mix_buff));
|
||||||
#ifdef CONFIG_MIXER_CYCLIC
|
#ifdef CONFIG_MIXER_CYCLIC
|
||||||
@ -748,7 +780,8 @@ int audio_dec_init()
|
|||||||
audio_mixer_set_channel_num(&mixer, ch_num);
|
audio_mixer_set_channel_num(&mixer, ch_num);
|
||||||
// 检测音频输出采样率是否为固定输出
|
// 检测音频输出采样率是否为固定输出
|
||||||
u32 sr = audio_output_nor_rate();
|
u32 sr = audio_output_nor_rate();
|
||||||
if (sr) {
|
if (sr)
|
||||||
|
{
|
||||||
// 固定采样率输出
|
// 固定采样率输出
|
||||||
audio_mixer_set_sample_rate(&mixer, MIXER_SR_SPEC, sr);
|
audio_mixer_set_sample_rate(&mixer, MIXER_SR_SPEC, sr);
|
||||||
}
|
}
|
||||||
@ -765,7 +798,8 @@ int audio_dec_init()
|
|||||||
|
|
||||||
#if defined(TCFG_EQ_DIVIDE_ENABLE) && (!TCFG_EQ_DIVIDE_ENABLE) // && (!defined(CONFIG_MIXER_CYCLIC))
|
#if defined(TCFG_EQ_DIVIDE_ENABLE) && (!TCFG_EQ_DIVIDE_ENABLE) // && (!defined(CONFIG_MIXER_CYCLIC))
|
||||||
|
|
||||||
if (ch_num <= 2) {
|
if (ch_num <= 2)
|
||||||
|
{
|
||||||
#if (TCFG_AUDIO_DAC_CONNECT_MODE == DAC_OUTPUT_FRONT_LR_REAR_LR)
|
#if (TCFG_AUDIO_DAC_CONNECT_MODE == DAC_OUTPUT_FRONT_LR_REAR_LR)
|
||||||
mix_ch_switch = channel_switch_open(AUDIO_CH_QUAD, AUDIO_SYNTHESIS_LEN / 2);
|
mix_ch_switch = channel_switch_open(AUDIO_CH_QUAD, AUDIO_SYNTHESIS_LEN / 2);
|
||||||
#endif
|
#endif
|
||||||
@ -783,7 +817,8 @@ int audio_dec_init()
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if AUDIO_EQUALLOUDNESS_CONFIG
|
#if AUDIO_EQUALLOUDNESS_CONFIG
|
||||||
if (ch_num != 4) {
|
if (ch_num != 4)
|
||||||
|
{
|
||||||
loudness_open_parm parm = {0};
|
loudness_open_parm parm = {0};
|
||||||
parm.sr = sr;
|
parm.sr = sr;
|
||||||
parm.ch_num = ch_num;
|
parm.ch_num = ch_num;
|
||||||
@ -797,14 +832,12 @@ int audio_dec_init()
|
|||||||
mix_vocal_remove_hdl = vocal_remove_open(ch_num);
|
mix_vocal_remove_hdl = vocal_remove_open(ch_num);
|
||||||
|
|
||||||
u8 dac_connect_mode = app_audio_output_mode_get();
|
u8 dac_connect_mode = app_audio_output_mode_get();
|
||||||
if ((dac_connect_mode == DAC_OUTPUT_MONO_L)
|
if ((dac_connect_mode == DAC_OUTPUT_MONO_L) || (dac_connect_mode == DAC_OUTPUT_MONO_R) || (dac_connect_mode == DAC_OUTPUT_MONO_LR_DIFF))
|
||||||
|| (dac_connect_mode == DAC_OUTPUT_MONO_R)
|
{
|
||||||
|| (dac_connect_mode == DAC_OUTPUT_MONO_LR_DIFF)) {
|
|
||||||
vocal_remove_mix_ch_switch = channel_switch_open(AUDIO_CH_DIFF, 512);
|
vocal_remove_mix_ch_switch = channel_switch_open(AUDIO_CH_DIFF, 512);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
// 数据流串联。可以在mixer和last中间添加其他的数据流,比如eq等
|
// 数据流串联。可以在mixer和last中间添加其他的数据流,比如eq等
|
||||||
u8 entry_cnt = 0;
|
u8 entry_cnt = 0;
|
||||||
entries[entry_cnt++] = &mixer.entry;
|
entries[entry_cnt++] = &mixer.entry;
|
||||||
@ -816,35 +849,39 @@ int audio_dec_init()
|
|||||||
#endif /*TCFG_DIG_PHASE_INVERTER_EN*/
|
#endif /*TCFG_DIG_PHASE_INVERTER_EN*/
|
||||||
|
|
||||||
#if AUDIO_EQUALLOUDNESS_CONFIG
|
#if AUDIO_EQUALLOUDNESS_CONFIG
|
||||||
if (loudness) {
|
if (loudness)
|
||||||
|
{
|
||||||
entries[entry_cnt++] = &loudness->loudness->entry;
|
entries[entry_cnt++] = &loudness->loudness->entry;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if (TCFG_AUDIO_DAC_CONNECT_MODE == DAC_OUTPUT_FRONT_LR_REAR_LR)
|
#if (TCFG_AUDIO_DAC_CONNECT_MODE == DAC_OUTPUT_FRONT_LR_REAR_LR)
|
||||||
#if !TCFG_EQ_DIVIDE_ENABLE
|
#if !TCFG_EQ_DIVIDE_ENABLE
|
||||||
if (mix_ch_switch) {
|
if (mix_ch_switch)
|
||||||
|
{
|
||||||
entries[entry_cnt++] = &mix_ch_switch->entry;
|
entries[entry_cnt++] = &mix_ch_switch->entry;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if AUDIO_SPECTRUM_CONFIG
|
#if AUDIO_SPECTRUM_CONFIG
|
||||||
if (spec_hdl) {
|
if (spec_hdl)
|
||||||
|
{
|
||||||
entries[entry_cnt++] = &spec_hdl->entry;
|
entries[entry_cnt++] = &spec_hdl->entry;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if AUDIO_VOCAL_REMOVE_EN
|
#if AUDIO_VOCAL_REMOVE_EN
|
||||||
if (mix_vocal_remove_hdl) {
|
if (mix_vocal_remove_hdl)
|
||||||
|
{
|
||||||
entries[entry_cnt++] = &mix_vocal_remove_hdl->entry;
|
entries[entry_cnt++] = &mix_vocal_remove_hdl->entry;
|
||||||
}
|
}
|
||||||
if (vocal_remove_mix_ch_switch) {
|
if (vocal_remove_mix_ch_switch)
|
||||||
|
{
|
||||||
entries[entry_cnt++] = &vocal_remove_mix_ch_switch->entry;
|
entries[entry_cnt++] = &vocal_remove_mix_ch_switch->entry;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
#if AUDIO_OUTPUT_AUTOMUTE
|
#if AUDIO_OUTPUT_AUTOMUTE
|
||||||
entries[entry_cnt++] = mix_out_automute_entry;
|
entries[entry_cnt++] = mix_out_automute_entry;
|
||||||
#endif
|
#endif
|
||||||
@ -870,7 +907,6 @@ int audio_dec_init()
|
|||||||
entry_cnt++;
|
entry_cnt++;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
#if (AUDIO_OUTPUT_INCLUDE_IIS)
|
#if (AUDIO_OUTPUT_INCLUDE_IIS)
|
||||||
audio_dig_vol_param iis_digvol_last_param = {
|
audio_dig_vol_param iis_digvol_last_param = {
|
||||||
.vol_start = app_var.music_volume,
|
.vol_start = app_var.music_volume,
|
||||||
@ -890,7 +926,8 @@ int audio_dec_init()
|
|||||||
entries[entry_cnt++] = iis_entries_start;
|
entries[entry_cnt++] = iis_entries_start;
|
||||||
entries[entry_cnt++] = iis_digvol_last_entry;
|
entries[entry_cnt++] = iis_digvol_last_entry;
|
||||||
entries[entry_cnt++] = iis_last_entry;
|
entries[entry_cnt++] = iis_last_entry;
|
||||||
for (int i = 0; i < entry_cnt - 1; i++) {
|
for (int i = 0; i < entry_cnt - 1; i++)
|
||||||
|
{
|
||||||
audio_stream_add_entry(entries[i], entries[i + 1]);
|
audio_stream_add_entry(entries[i], entries[i + 1]);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
@ -936,7 +973,8 @@ int audio_dec_init()
|
|||||||
entries[entry_cnt++] = fmtx_entries_start;
|
entries[entry_cnt++] = fmtx_entries_start;
|
||||||
entries[entry_cnt++] = fmtx_digvol_last_entry;
|
entries[entry_cnt++] = fmtx_digvol_last_entry;
|
||||||
entries[entry_cnt++] = fmtx_last_entry;
|
entries[entry_cnt++] = fmtx_last_entry;
|
||||||
for (int i = 0; i < entry_cnt - 1; i++) {
|
for (int i = 0; i < entry_cnt - 1; i++)
|
||||||
|
{
|
||||||
audio_stream_add_entry(entries[i], entries[i + 1]);
|
audio_stream_add_entry(entries[i], entries[i + 1]);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
@ -948,7 +986,6 @@ __mixer_init_end:
|
|||||||
recorder_mix_init(&recorder_mixer, recorder_mix_buff, sizeof(recorder_mix_buff));
|
recorder_mix_init(&recorder_mixer, recorder_mix_buff, sizeof(recorder_mix_buff));
|
||||||
#endif // RECORDER_MIX_EN
|
#endif // RECORDER_MIX_EN
|
||||||
|
|
||||||
|
|
||||||
// 音频音量初始化
|
// 音频音量初始化
|
||||||
app_audio_volume_init();
|
app_audio_volume_init();
|
||||||
audio_output_set_start_volume(APP_AUDIO_STATE_MUSIC);
|
audio_output_set_start_volume(APP_AUDIO_STATE_MUSIC);
|
||||||
@ -993,7 +1030,8 @@ static u8 audio_dec_init_complete()
|
|||||||
return 1;
|
return 1;
|
||||||
#endif /*TCFG_AUDIO_ENABLE*/
|
#endif /*TCFG_AUDIO_ENABLE*/
|
||||||
|
|
||||||
if (!audio_dec_inited) {
|
if (!audio_dec_inited)
|
||||||
|
{
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1004,17 +1042,34 @@ REGISTER_LP_TARGET(audio_dec_init_lp_target) = {
|
|||||||
.is_idle = audio_dec_init_complete,
|
.is_idle = audio_dec_init_complete,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#if AUDIO_OUTPUT_AUTOMUTE
|
#if AUDIO_OUTPUT_AUTOMUTE
|
||||||
#include "kt.h"
|
#include "kt.h"
|
||||||
|
#include "app_task.h"
|
||||||
|
static u8 bt_mute_flag = 0;
|
||||||
void audio_mix_out_automute_mute(u8 mute)
|
void audio_mix_out_automute_mute(u8 mute)
|
||||||
{
|
{
|
||||||
printf(">>>>>>>>>>>>>>>>>>>> %s\n", mute ? ("MUTE") : ("UNMUTE"));
|
printf(">>>>>>>>>>>>>>>>>>>> %s\n", mute ? ("MUTE") : ("UNMUTE"));
|
||||||
if (mute) {
|
if (mute)
|
||||||
|
{
|
||||||
|
if (app_get_curr_task() == APP_LP_TASK)
|
||||||
|
{
|
||||||
PA_MUTE();
|
PA_MUTE();
|
||||||
} else {
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
bt_mute_flag++;
|
||||||
|
if (bt_mute_flag > 10)
|
||||||
|
{
|
||||||
|
PA_MUTE();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//PA_MUTE();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
PA_UNMUTE();
|
PA_UNMUTE();
|
||||||
|
bt_mute_flag = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1023,9 +1078,12 @@ void audio_mix_out_automute_mute(u8 mute)
|
|||||||
void mix_out_automute_handler(u8 event, u8 ch)
|
void mix_out_automute_handler(u8 event, u8 ch)
|
||||||
{
|
{
|
||||||
printf(">>>> ch:%d %s\n", ch, event ? ("MUTE") : ("UNMUTE"));
|
printf(">>>> ch:%d %s\n", ch, event ? ("MUTE") : ("UNMUTE"));
|
||||||
if (ch == app_audio_output_channel_get()) {
|
if (ch == app_audio_output_channel_get())
|
||||||
|
{
|
||||||
audio_mix_out_automute_mute(event);
|
audio_mix_out_automute_mute(event);
|
||||||
} else {
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
#if DAC_AUTO_HIGH_Z_EN
|
#if DAC_AUTO_HIGH_Z_EN
|
||||||
app_audio_output_ch_mute(BIT(ch), event);
|
app_audio_output_ch_mute(BIT(ch), event);
|
||||||
#endif
|
#endif
|
||||||
@ -1035,7 +1093,8 @@ void mix_out_automute_handler(u8 event, u8 ch)
|
|||||||
void mix_out_automute_skip(u8 skip)
|
void mix_out_automute_skip(u8 skip)
|
||||||
{
|
{
|
||||||
u8 mute = !skip;
|
u8 mute = !skip;
|
||||||
if (mix_out_automute_hdl) {
|
if (mix_out_automute_hdl)
|
||||||
|
{
|
||||||
audio_energy_detect_skip(mix_out_automute_hdl, 0xFFFF, skip);
|
audio_energy_detect_skip(mix_out_automute_hdl, 0xFFFF, skip);
|
||||||
audio_mix_out_automute_mute(mute);
|
audio_mix_out_automute_mute(mute);
|
||||||
}
|
}
|
||||||
@ -1043,16 +1102,38 @@ void mix_out_automute_skip(u8 skip)
|
|||||||
|
|
||||||
void mix_out_automute_open()
|
void mix_out_automute_open()
|
||||||
{
|
{
|
||||||
if (mix_out_automute_hdl) {
|
if (mix_out_automute_hdl)
|
||||||
|
{
|
||||||
printf("mix_out_automute is already open !\n");
|
printf("mix_out_automute is already open !\n");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
audio_energy_detect_param e_det_param = {0};
|
audio_energy_detect_param e_det_param = {0};
|
||||||
|
#if 0
|
||||||
e_det_param.mute_energy = 5;
|
e_det_param.mute_energy = 5;
|
||||||
e_det_param.unmute_energy = 10;
|
e_det_param.unmute_energy = 10;
|
||||||
e_det_param.mute_time_ms = 1000;
|
e_det_param.mute_time_ms = 1000;
|
||||||
e_det_param.unmute_time_ms = 50;
|
e_det_param.unmute_time_ms = 50;
|
||||||
e_det_param.count_cycle_ms = 10;
|
e_det_param.count_cycle_ms = 10;
|
||||||
|
#else
|
||||||
|
/* 黑胶空白处喀拉声:提高 mute_energy 使表面噪声被判定为静音并 mute 掉 */
|
||||||
|
/*
|
||||||
|
e_det_param.mute_energy = 150;
|
||||||
|
e_det_param.unmute_energy = 210;
|
||||||
|
e_det_param.mute_time_ms = 30;
|
||||||
|
e_det_param.unmute_time_ms = 20;
|
||||||
|
e_det_param.count_cycle_ms = 5;
|
||||||
|
*/
|
||||||
|
e_det_param.mute_energy = 240;
|
||||||
|
e_det_param.unmute_energy = 300;
|
||||||
|
e_det_param.mute_time_ms = 40;
|
||||||
|
e_det_param.unmute_time_ms = 25;
|
||||||
|
e_det_param.count_cycle_ms = 5;
|
||||||
|
/*e_det_param.mute_energy = 180;
|
||||||
|
e_det_param.unmute_energy = 240;
|
||||||
|
e_det_param.mute_time_ms = 30;
|
||||||
|
e_det_param.unmute_time_ms = 80; // 需连续 80ms 高能量才 unmute,滤掉随机喀拉
|
||||||
|
e_det_param.count_cycle_ms = 5;*/
|
||||||
|
#endif
|
||||||
e_det_param.sample_rate = 44100;
|
e_det_param.sample_rate = 44100;
|
||||||
e_det_param.event_handler = mix_out_automute_handler;
|
e_det_param.event_handler = mix_out_automute_handler;
|
||||||
#if (TCFG_AUDIO_DAC_CONNECT_MODE == DAC_OUTPUT_FRONT_LR_REAR_LR)
|
#if (TCFG_AUDIO_DAC_CONNECT_MODE == DAC_OUTPUT_FRONT_LR_REAR_LR)
|
||||||
@ -1067,13 +1148,13 @@ void mix_out_automute_open()
|
|||||||
|
|
||||||
void mix_out_automute_close()
|
void mix_out_automute_close()
|
||||||
{
|
{
|
||||||
if (mix_out_automute_hdl) {
|
if (mix_out_automute_hdl)
|
||||||
|
{
|
||||||
audio_energy_detect_close(mix_out_automute_hdl);
|
audio_energy_detect_close(mix_out_automute_hdl);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif // #if AUDIO_OUTPUT_AUTOMUTE
|
#endif // #if AUDIO_OUTPUT_AUTOMUTE
|
||||||
|
|
||||||
|
|
||||||
/*****************************************************************************
|
/*****************************************************************************
|
||||||
*
|
*
|
||||||
* 数字音量分组管理
|
* 数字音量分组管理
|
||||||
@ -1097,7 +1178,8 @@ void *sys_digvol_group = NULL;
|
|||||||
|
|
||||||
int sys_digvol_group_open(void)
|
int sys_digvol_group_open(void)
|
||||||
{
|
{
|
||||||
if (sys_digvol_group == NULL) {
|
if (sys_digvol_group == NULL)
|
||||||
|
{
|
||||||
sys_digvol_group = audio_dig_vol_group_open();
|
sys_digvol_group = audio_dig_vol_group_open();
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
@ -1106,7 +1188,8 @@ int sys_digvol_group_open(void)
|
|||||||
|
|
||||||
int sys_digvol_group_close(void)
|
int sys_digvol_group_close(void)
|
||||||
{
|
{
|
||||||
if (sys_digvol_group != NULL) {
|
if (sys_digvol_group != NULL)
|
||||||
|
{
|
||||||
return audio_dig_vol_group_close(sys_digvol_group);
|
return audio_dig_vol_group_close(sys_digvol_group);
|
||||||
}
|
}
|
||||||
return -1;
|
return -1;
|
||||||
@ -1125,7 +1208,6 @@ u16 __attribute__((weak)) get_ch_digvol_start(char *logo)
|
|||||||
return get_max_sys_vol();
|
return get_max_sys_vol();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/*******************************************************
|
/*******************************************************
|
||||||
* Function name : sys_digvol_group_ch_open
|
* Function name : sys_digvol_group_ch_open
|
||||||
* Description : 解码通道数字音量打开且加入分组管理
|
* Description : 解码通道数字音量打开且加入分组管理
|
||||||
@ -1136,10 +1218,12 @@ u16 __attribute__((weak)) get_ch_digvol_start(char *logo)
|
|||||||
*******************************************************/
|
*******************************************************/
|
||||||
void *sys_digvol_group_ch_open(char *logo, int vol_start, audio_dig_vol_param *parm)
|
void *sys_digvol_group_ch_open(char *logo, int vol_start, audio_dig_vol_param *parm)
|
||||||
{
|
{
|
||||||
if (sys_digvol_group == NULL || logo == NULL) {
|
if (sys_digvol_group == NULL || logo == NULL)
|
||||||
|
{
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
if (vol_start == -1) {
|
if (vol_start == -1)
|
||||||
|
{
|
||||||
vol_start = get_ch_digvol_start(logo);
|
vol_start = get_ch_digvol_start(logo);
|
||||||
}
|
}
|
||||||
audio_dig_vol_param temp_digvol_param = {
|
audio_dig_vol_param temp_digvol_param = {
|
||||||
@ -1151,11 +1235,13 @@ void *sys_digvol_group_ch_open(char *logo, int vol_start, audio_dig_vol_param *p
|
|||||||
.fade_gain_step = 10,
|
.fade_gain_step = 10,
|
||||||
.vol_list = NULL,
|
.vol_list = NULL,
|
||||||
};
|
};
|
||||||
if (parm == NULL) {
|
if (parm == NULL)
|
||||||
|
{
|
||||||
parm = &temp_digvol_param;
|
parm = &temp_digvol_param;
|
||||||
}
|
}
|
||||||
void *digvol_hdl = audio_dig_vol_open(parm);
|
void *digvol_hdl = audio_dig_vol_open(parm);
|
||||||
if (digvol_hdl) {
|
if (digvol_hdl)
|
||||||
|
{
|
||||||
audio_dig_vol_group_add(sys_digvol_group, digvol_hdl, logo);
|
audio_dig_vol_group_add(sys_digvol_group, digvol_hdl, logo);
|
||||||
return audio_dig_vol_entry_get(digvol_hdl);
|
return audio_dig_vol_entry_get(digvol_hdl);
|
||||||
}
|
}
|
||||||
@ -1164,20 +1250,21 @@ void *sys_digvol_group_ch_open(char *logo, int vol_start, audio_dig_vol_param *p
|
|||||||
|
|
||||||
int sys_digvol_group_ch_close(char *logo)
|
int sys_digvol_group_ch_close(char *logo)
|
||||||
{
|
{
|
||||||
if (sys_digvol_group == NULL || logo == NULL) {
|
if (sys_digvol_group == NULL || logo == NULL)
|
||||||
|
{
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
void *hdl = audio_dig_vol_group_hdl_get(sys_digvol_group, logo);
|
void *hdl = audio_dig_vol_group_hdl_get(sys_digvol_group, logo);
|
||||||
|
|
||||||
if (hdl != NULL) {
|
if (hdl != NULL)
|
||||||
|
{
|
||||||
void *entry = audio_dig_vol_entry_get(hdl);
|
void *entry = audio_dig_vol_entry_get(hdl);
|
||||||
if (entry != NULL) {
|
if (entry != NULL)
|
||||||
|
{
|
||||||
audio_stream_del_entry(entry);
|
audio_stream_del_entry(entry);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
audio_dig_vol_close(audio_dig_vol_group_hdl_get(sys_digvol_group, logo));
|
audio_dig_vol_close(audio_dig_vol_group_hdl_get(sys_digvol_group, logo));
|
||||||
audio_dig_vol_group_del(sys_digvol_group, logo);
|
audio_dig_vol_group_del(sys_digvol_group, logo);
|
||||||
return 0;
|
return 0;
|
||||||
@ -1185,7 +1272,6 @@ int sys_digvol_group_ch_close(char *logo)
|
|||||||
|
|
||||||
#endif // SYS_DIGVOL_GROUP_EN
|
#endif // SYS_DIGVOL_GROUP_EN
|
||||||
|
|
||||||
|
|
||||||
#if AUDIO_VOCAL_REMOVE_EN
|
#if AUDIO_VOCAL_REMOVE_EN
|
||||||
/*----------------------------------------------------------------------------*/
|
/*----------------------------------------------------------------------------*/
|
||||||
/**@brief 人声消除打开例子
|
/**@brief 人声消除打开例子
|
||||||
@ -1211,12 +1297,11 @@ void *vocal_remove_open(u8 ch_num)
|
|||||||
/*----------------------------------------------------------------------------*/
|
/*----------------------------------------------------------------------------*/
|
||||||
void vocal_remove_close()
|
void vocal_remove_close()
|
||||||
{
|
{
|
||||||
if (mix_vocal_remove_hdl) {
|
if (mix_vocal_remove_hdl)
|
||||||
|
{
|
||||||
audio_vocal_remove_close(mix_vocal_remove_hdl);
|
audio_vocal_remove_close(mix_vocal_remove_hdl);
|
||||||
mix_vocal_remove_hdl = NULL;
|
mix_vocal_remove_hdl = NULL;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
cpu/br23/tools/download/standard/update.ufw
Normal file
BIN
cpu/br23/tools/download/standard/update.ufw
Normal file
Binary file not shown.
@ -173,7 +173,7 @@ objs/apps/common/config/app_config.c.o
|
|||||||
-r=objs/apps/common/config/app_config.c.o,log_print,l
|
-r=objs/apps/common/config/app_config.c.o,log_print,l
|
||||||
-r=objs/apps/common/config/app_config.c.o,sys_clk_set,l
|
-r=objs/apps/common/config/app_config.c.o,sys_clk_set,l
|
||||||
-r=objs/apps/common/config/app_config.c.o,config_layer_init,l
|
-r=objs/apps/common/config/app_config.c.o,config_layer_init,l
|
||||||
-r=objs/apps/common/config/app_config.c.o,ci_transport_uart_instance,l
|
-r=objs/apps/common/config/app_config.c.o,ci_transport_uart_instance,
|
||||||
-r=objs/apps/common/config/app_config.c.o,dec_eq_test,
|
-r=objs/apps/common/config/app_config.c.o,dec_eq_test,
|
||||||
-r=objs/apps/common/config/app_config.c.o,clr_wdt,l
|
-r=objs/apps/common/config/app_config.c.o,clr_wdt,l
|
||||||
-r=objs/apps/common/config/app_config.c.o,config,pl
|
-r=objs/apps/common/config/app_config.c.o,config,pl
|
||||||
@ -200,20 +200,6 @@ objs/apps/common/config/bt_profile_config.c.o
|
|||||||
-r=objs/apps/common/config/bt_profile_config.c.o,hci_inquiry_support,pl
|
-r=objs/apps/common/config/bt_profile_config.c.o,hci_inquiry_support,pl
|
||||||
-r=objs/apps/common/config/bt_profile_config.c.o,btstack_emitter_support,pl
|
-r=objs/apps/common/config/bt_profile_config.c.o,btstack_emitter_support,pl
|
||||||
objs/apps/common/config/ci_transport_uart.c.o
|
objs/apps/common/config/ci_transport_uart.c.o
|
||||||
-r=objs/apps/common/config/ci_transport_uart.c.o,ci_data_rx_handler,pl
|
|
||||||
-r=objs/apps/common/config/ci_transport_uart.c.o,log_print,l
|
|
||||||
-r=objs/apps/common/config/ci_transport_uart.c.o,printf_buf,l
|
|
||||||
-r=objs/apps/common/config/ci_transport_uart.c.o,crc_get_16bit,l
|
|
||||||
-r=objs/apps/common/config/ci_transport_uart.c.o,online_cfg_tool_data_deal,l
|
|
||||||
-r=objs/apps/common/config/ci_transport_uart.c.o,ci_uart_write,pl
|
|
||||||
-r=objs/apps/common/config/ci_transport_uart.c.o,ci_transport_uart_instance,pl
|
|
||||||
-r=objs/apps/common/config/ci_transport_uart.c.o,uart_dev_open,l
|
|
||||||
-r=objs/apps/common/config/ci_transport_uart.c.o,sys_event_notify,l
|
|
||||||
-r=objs/apps/common/config/ci_transport_uart.c.o,printf,l
|
|
||||||
-r=objs/apps/common/config/ci_transport_uart.c.o,cpu_assert_debug,l
|
|
||||||
-r=objs/apps/common/config/ci_transport_uart.c.o,p33_soft_reset,l
|
|
||||||
-r=objs/apps/common/config/ci_transport_uart.c.o,clock_ci,pl
|
|
||||||
-r=objs/apps/common/config/ci_transport_uart.c.o,config_asser,l
|
|
||||||
objs/apps/common/debug/debug.c.o
|
objs/apps/common/debug/debug.c.o
|
||||||
objs/apps/common/debug/debug_lite.c.o
|
objs/apps/common/debug/debug_lite.c.o
|
||||||
-r=objs/apps/common/debug/debug_lite.c.o,puts_lite,pl
|
-r=objs/apps/common/debug/debug_lite.c.o,puts_lite,pl
|
||||||
@ -1583,47 +1569,7 @@ objs/apps/common/update/update.c.o
|
|||||||
-r=objs/apps/common/update/update.c.o,ota_lp_target,pl
|
-r=objs/apps/common/update/update.c.o,ota_lp_target,pl
|
||||||
-r=objs/apps/common/update/update.c.o,__initcall_app_update_init,pl
|
-r=objs/apps/common/update/update.c.o,__initcall_app_update_init,pl
|
||||||
objs/apps/common/usb/device/cdc.c.o
|
objs/apps/common/usb/device/cdc.c.o
|
||||||
-r=objs/apps/common/usb/device/cdc.c.o,cdc_desc_config,pl
|
|
||||||
-r=objs/apps/common/usb/device/cdc.c.o,usb_set_interface_hander,l
|
|
||||||
-r=objs/apps/common/usb/device/cdc.c.o,printf,l
|
|
||||||
-r=objs/apps/common/usb/device/cdc.c.o,cpu_assert_debug,l
|
|
||||||
-r=objs/apps/common/usb/device/cdc.c.o,usb_set_reset_hander,l
|
|
||||||
-r=objs/apps/common/usb/device/cdc.c.o,cdc_set_wakeup_handler,pl
|
|
||||||
-r=objs/apps/common/usb/device/cdc.c.o,cdc_set_output_handle,pl
|
|
||||||
-r=objs/apps/common/usb/device/cdc.c.o,cdc_read_data,pl
|
|
||||||
-r=objs/apps/common/usb/device/cdc.c.o,os_mutex_pend,l
|
|
||||||
-r=objs/apps/common/usb/device/cdc.c.o,usb_g_bulk_read,l
|
|
||||||
-r=objs/apps/common/usb/device/cdc.c.o,os_mutex_post,l
|
|
||||||
-r=objs/apps/common/usb/device/cdc.c.o,cdc_write_data,pl
|
|
||||||
-r=objs/apps/common/usb/device/cdc.c.o,usb_g_bulk_write,l
|
|
||||||
-r=objs/apps/common/usb/device/cdc.c.o,cdc_write_inir,pl
|
|
||||||
-r=objs/apps/common/usb/device/cdc.c.o,cdc_register,pl
|
|
||||||
-r=objs/apps/common/usb/device/cdc.c.o,os_mutex_create,l
|
|
||||||
-r=objs/apps/common/usb/device/cdc.c.o,cdc_release,pl
|
|
||||||
-r=objs/apps/common/usb/device/cdc.c.o,usb_device2id,l
|
|
||||||
-r=objs/apps/common/usb/device/cdc.c.o,log_print,l
|
|
||||||
-r=objs/apps/common/usb/device/cdc.c.o,usb_set_setup_recv,l
|
|
||||||
-r=objs/apps/common/usb/device/cdc.c.o,usb_set_setup_phase,l
|
|
||||||
-r=objs/apps/common/usb/device/cdc.c.o,usb_set_data_payload,l
|
|
||||||
-r=objs/apps/common/usb/device/cdc.c.o,usb_read_ep0,l
|
|
||||||
-r=objs/apps/common/usb/device/cdc.c.o,p33_soft_reset,l
|
|
||||||
-r=objs/apps/common/usb/device/cdc.c.o,usb_get_ep_buffer,l
|
|
||||||
-r=objs/apps/common/usb/device/cdc.c.o,usb_g_ep_config,l
|
|
||||||
-r=objs/apps/common/usb/device/cdc.c.o,usb_g_set_intr_hander,l
|
|
||||||
-r=objs/apps/common/usb/device/cdc.c.o,usb_enable_ep,l
|
|
||||||
-r=objs/apps/common/usb/device/cdc.c.o,config_asser,l
|
|
||||||
-r=objs/apps/common/usb/device/cdc.c.o,log_tag_const_d_USB,l
|
|
||||||
-r=objs/apps/common/usb/device/cdc.c.o,log_tag_const_e_USB,l
|
|
||||||
objs/apps/common/usb/device/descriptor.c.o
|
objs/apps/common/usb/device/descriptor.c.o
|
||||||
-r=objs/apps/common/usb/device/descriptor.c.o,get_device_descriptor,pl
|
|
||||||
-r=objs/apps/common/usb/device/descriptor.c.o,get_language_str,pl
|
|
||||||
-r=objs/apps/common/usb/device/descriptor.c.o,get_manufacture_str,pl
|
|
||||||
-r=objs/apps/common/usb/device/descriptor.c.o,get_iserialnumber_str,pl
|
|
||||||
-r=objs/apps/common/usb/device/descriptor.c.o,get_norflash_uuid,l
|
|
||||||
-r=objs/apps/common/usb/device/descriptor.c.o,get_product_str,pl
|
|
||||||
-r=objs/apps/common/usb/device/descriptor.c.o,usb_get_config_desc,pl
|
|
||||||
-r=objs/apps/common/usb/device/descriptor.c.o,usb_get_string_desc,pl
|
|
||||||
-r=objs/apps/common/usb/device/descriptor.c.o,uac_get_string,l
|
|
||||||
objs/apps/common/usb/device/hid.c.o
|
objs/apps/common/usb/device/hid.c.o
|
||||||
-r=objs/apps/common/usb/device/hid.c.o,hid_key_handler,pl
|
-r=objs/apps/common/usb/device/hid.c.o,hid_key_handler,pl
|
||||||
objs/apps/common/usb/device/msd.c.o
|
objs/apps/common/usb/device/msd.c.o
|
||||||
@ -1635,63 +1581,16 @@ objs/apps/common/usb/device/msd_upgrade.c.o
|
|||||||
-r=objs/apps/common/usb/device/msd_upgrade.c.o,nvram_set_boot_state,
|
-r=objs/apps/common/usb/device/msd_upgrade.c.o,nvram_set_boot_state,
|
||||||
-r=objs/apps/common/usb/device/msd_upgrade.c.o,private_scsi_cmd,pl
|
-r=objs/apps/common/usb/device/msd_upgrade.c.o,private_scsi_cmd,pl
|
||||||
objs/apps/common/usb/device/task_pc.c.o
|
objs/apps/common/usb/device/task_pc.c.o
|
||||||
-r=objs/apps/common/usb/device/task_pc.c.o,usb_start,pl
|
|
||||||
-r=objs/apps/common/usb/device/task_pc.c.o,usb_device_mode,l
|
|
||||||
-r=objs/apps/common/usb/device/task_pc.c.o,cdc_set_wakeup_handler,l
|
|
||||||
-r=objs/apps/common/usb/device/task_pc.c.o,usb_pause,pl
|
|
||||||
-r=objs/apps/common/usb/device/task_pc.c.o,log_print,l
|
|
||||||
-r=objs/apps/common/usb/device/task_pc.c.o,usb_sie_disable,l
|
|
||||||
-r=objs/apps/common/usb/device/task_pc.c.o,usb_stop,pl
|
|
||||||
-r=objs/apps/common/usb/device/task_pc.c.o,usb_sie_close,l
|
|
||||||
-r=objs/apps/common/usb/device/task_pc.c.o,usb_cdc_background_run,pl
|
|
||||||
-r=objs/apps/common/usb/device/task_pc.c.o,pc_device_event_handler,pl
|
|
||||||
-r=objs/apps/common/usb/device/task_pc.c.o,app_check_curr_task,l
|
|
||||||
-r=objs/apps/common/usb/device/task_pc.c.o,usb_device2id,l
|
|
||||||
-r=objs/apps/common/usb/device/task_pc.c.o,cdc_read_data,l
|
|
||||||
-r=objs/apps/common/usb/device/task_pc.c.o,online_cfg_tool_data_deal,l
|
|
||||||
-r=objs/apps/common/usb/device/task_pc.c.o,log_tag_const_i_USB,l
|
|
||||||
-r=objs/apps/common/usb/device/task_pc.c.o,log_tag_const_d_USB,l
|
|
||||||
objs/apps/common/usb/device/uac1.c.o
|
objs/apps/common/usb/device/uac1.c.o
|
||||||
objs/apps/common/usb/device/uac_stream.c.o
|
objs/apps/common/usb/device/uac_stream.c.o
|
||||||
objs/apps/common/usb/device/usb_device.c.o
|
objs/apps/common/usb/device/usb_device.c.o
|
||||||
-r=objs/apps/common/usb/device/usb_device.c.o,usb_device_mode,pl
|
|
||||||
-r=objs/apps/common/usb/device/usb_device.c.o,gpio_direction_input,l
|
|
||||||
-r=objs/apps/common/usb/device/usb_device.c.o,gpio_set_pull_up,l
|
|
||||||
-r=objs/apps/common/usb/device/usb_device.c.o,gpio_set_pull_down,l
|
|
||||||
-r=objs/apps/common/usb/device/usb_device.c.o,gpio_set_die,l
|
|
||||||
-r=objs/apps/common/usb/device/usb_device.c.o,os_time_dly,l
|
|
||||||
-r=objs/apps/common/usb/device/usb_device.c.o,cdc_release,l
|
|
||||||
-r=objs/apps/common/usb/device/usb_device.c.o,usb_add_desc_config,l
|
|
||||||
-r=objs/apps/common/usb/device/usb_device.c.o,log_print,l
|
|
||||||
-r=objs/apps/common/usb/device/usb_device.c.o,cdc_desc_config,l
|
|
||||||
-r=objs/apps/common/usb/device/usb_device.c.o,cdc_register,l
|
|
||||||
-r=objs/apps/common/usb/device/usb_device.c.o,user_setup_filter_install,l
|
|
||||||
-r=objs/apps/common/usb/device/usb_device.c.o,usb_id2device,l
|
|
||||||
-r=objs/apps/common/usb/device/usb_device.c.o,usb_otg_sof_check_init,pl
|
-r=objs/apps/common/usb/device/usb_device.c.o,usb_otg_sof_check_init,pl
|
||||||
-r=objs/apps/common/usb/device/usb_device.c.o,usb_get_ep_buffer,l
|
-r=objs/apps/common/usb/device/usb_device.c.o,usb_get_ep_buffer,l
|
||||||
-r=objs/apps/common/usb/device/usb_device.c.o,usb_g_sie_init,l
|
-r=objs/apps/common/usb/device/usb_device.c.o,usb_g_sie_init,l
|
||||||
-r=objs/apps/common/usb/device/usb_device.c.o,usb_set_dma_raddr,l
|
-r=objs/apps/common/usb/device/usb_device.c.o,usb_set_dma_raddr,l
|
||||||
-r=objs/apps/common/usb/device/usb_device.c.o,usb_disable_ep,l
|
-r=objs/apps/common/usb/device/usb_device.c.o,usb_disable_ep,l
|
||||||
-r=objs/apps/common/usb/device/usb_device.c.o,usb_sof_clr_pnd,l
|
-r=objs/apps/common/usb/device/usb_device.c.o,usb_sof_clr_pnd,l
|
||||||
-r=objs/apps/common/usb/device/usb_device.c.o,usb_g_hold,l
|
|
||||||
-r=objs/apps/common/usb/device/usb_device.c.o,usb_release,l
|
|
||||||
-r=objs/apps/common/usb/device/usb_device.c.o,usb_config,l
|
|
||||||
-r=objs/apps/common/usb/device/usb_device.c.o,usb_slave_init,l
|
|
||||||
-r=objs/apps/common/usb/device/usb_device.c.o,usb_write_intr_usbe,l
|
|
||||||
-r=objs/apps/common/usb/device/usb_device.c.o,usb_clr_intr_txe,l
|
|
||||||
-r=objs/apps/common/usb/device/usb_device.c.o,usb_clr_intr_rxe,l
|
|
||||||
-r=objs/apps/common/usb/device/usb_device.c.o,usb_set_intr_txe,l
|
|
||||||
-r=objs/apps/common/usb/device/usb_device.c.o,usb_set_intr_rxe,l
|
|
||||||
-r=objs/apps/common/usb/device/usb_device.c.o,usb_g_isr_reg,l
|
|
||||||
-r=objs/apps/common/usb/device/usb_device.c.o,log_tag_const_i_USB,l
|
|
||||||
objs/apps/common/usb/device/user_setup.c.o
|
objs/apps/common/usb/device/user_setup.c.o
|
||||||
-r=objs/apps/common/usb/device/user_setup.c.o,usb_root2_testing,pl
|
|
||||||
-r=objs/apps/common/usb/device/user_setup.c.o,check_ep_vaild,pl
|
|
||||||
-r=objs/apps/common/usb/device/user_setup.c.o,user_setup_filter_install,pl
|
|
||||||
-r=objs/apps/common/usb/device/user_setup.c.o,usb_set_setup_hook,l
|
|
||||||
-r=objs/apps/common/usb/device/user_setup.c.o,usb_device2id,l
|
|
||||||
-r=objs/apps/common/usb/device/user_setup.c.o,usb_get_setup_buffer,l
|
|
||||||
-r=objs/apps/common/usb/device/user_setup.c.o,usb_set_setup_phase,l
|
|
||||||
objs/apps/common/usb/host/adb.c.o
|
objs/apps/common/usb/host/adb.c.o
|
||||||
objs/apps/common/usb/host/aoa.c.o
|
objs/apps/common/usb/host/aoa.c.o
|
||||||
objs/apps/common/usb/host/apple_mfi.c.o
|
objs/apps/common/usb/host/apple_mfi.c.o
|
||||||
@ -1808,7 +1707,6 @@ objs/apps/soundbox/app_main.c.o
|
|||||||
-r=objs/apps/soundbox/app_main.c.o,timer_get_ms,l
|
-r=objs/apps/soundbox/app_main.c.o,timer_get_ms,l
|
||||||
-r=objs/apps/soundbox/app_main.c.o,get_charge_online_flag,l
|
-r=objs/apps/soundbox/app_main.c.o,get_charge_online_flag,l
|
||||||
-r=objs/apps/soundbox/app_main.c.o,ui_update_status,l
|
-r=objs/apps/soundbox/app_main.c.o,ui_update_status,l
|
||||||
-r=objs/apps/soundbox/app_main.c.o,usb_cdc_background_run,l
|
|
||||||
-r=objs/apps/soundbox/app_main.c.o,app_curr_task,l
|
-r=objs/apps/soundbox/app_main.c.o,app_curr_task,l
|
||||||
-r=objs/apps/soundbox/app_main.c.o,log_tag_const_i_APP,l
|
-r=objs/apps/soundbox/app_main.c.o,log_tag_const_i_APP,l
|
||||||
-r=objs/apps/soundbox/app_main.c.o,app_var,pl
|
-r=objs/apps/soundbox/app_main.c.o,app_var,pl
|
||||||
@ -2017,7 +1915,6 @@ objs/apps/soundbox/board/br23/irq_config.c.o
|
|||||||
objs/apps/soundbox/common/app_sound_box_tool.c.o
|
objs/apps/soundbox/common/app_sound_box_tool.c.o
|
||||||
-r=objs/apps/soundbox/common/app_sound_box_tool.c.o,all_assemble_package_send_to_pc,pl
|
-r=objs/apps/soundbox/common/app_sound_box_tool.c.o,all_assemble_package_send_to_pc,pl
|
||||||
-r=objs/apps/soundbox/common/app_sound_box_tool.c.o,CRC16,l
|
-r=objs/apps/soundbox/common/app_sound_box_tool.c.o,CRC16,l
|
||||||
-r=objs/apps/soundbox/common/app_sound_box_tool.c.o,cdc_write_data,l
|
|
||||||
-r=objs/apps/soundbox/common/app_sound_box_tool.c.o,assemble_package_send_to_pc,pl
|
-r=objs/apps/soundbox/common/app_sound_box_tool.c.o,assemble_package_send_to_pc,pl
|
||||||
-r=objs/apps/soundbox/common/app_sound_box_tool.c.o,hex2text,pl
|
-r=objs/apps/soundbox/common/app_sound_box_tool.c.o,hex2text,pl
|
||||||
-r=objs/apps/soundbox/common/app_sound_box_tool.c.o,sprintf,l
|
-r=objs/apps/soundbox/common/app_sound_box_tool.c.o,sprintf,l
|
||||||
@ -2142,7 +2039,6 @@ objs/apps/soundbox/common/user_cfg_new.c.o
|
|||||||
-r=objs/apps/soundbox/common/user_cfg_new.c.o,syscfg_read,l
|
-r=objs/apps/soundbox/common/user_cfg_new.c.o,syscfg_read,l
|
||||||
-r=objs/apps/soundbox/common/user_cfg_new.c.o,printf_buf,l
|
-r=objs/apps/soundbox/common/user_cfg_new.c.o,printf_buf,l
|
||||||
-r=objs/apps/soundbox/common/user_cfg_new.c.o,bt_max_pwr_set,l
|
-r=objs/apps/soundbox/common/user_cfg_new.c.o,bt_max_pwr_set,l
|
||||||
-r=objs/apps/soundbox/common/user_cfg_new.c.o,syscfg_read_btmac_blemac_from_bin,l
|
|
||||||
-r=objs/apps/soundbox/common/user_cfg_new.c.o,memcmp,l
|
-r=objs/apps/soundbox/common/user_cfg_new.c.o,memcmp,l
|
||||||
-r=objs/apps/soundbox/common/user_cfg_new.c.o,lp_winsize_init,l
|
-r=objs/apps/soundbox/common/user_cfg_new.c.o,lp_winsize_init,l
|
||||||
-r=objs/apps/soundbox/common/user_cfg_new.c.o,bt_modify_name,pl
|
-r=objs/apps/soundbox/common/user_cfg_new.c.o,bt_modify_name,pl
|
||||||
@ -3041,8 +2937,6 @@ objs/apps/soundbox/task_manager/app_common.c.o
|
|||||||
-r=objs/apps/soundbox/task_manager/app_common.c.o,sys_timer_modify,l
|
-r=objs/apps/soundbox/task_manager/app_common.c.o,sys_timer_modify,l
|
||||||
-r=objs/apps/soundbox/task_manager/app_common.c.o,app_get_curr_task,l
|
-r=objs/apps/soundbox/task_manager/app_common.c.o,app_get_curr_task,l
|
||||||
-r=objs/apps/soundbox/task_manager/app_common.c.o,app_task_put_key_msg,l
|
-r=objs/apps/soundbox/task_manager/app_common.c.o,app_task_put_key_msg,l
|
||||||
-r=objs/apps/soundbox/task_manager/app_common.c.o,app_soundbox_tool_event_handler,l
|
|
||||||
-r=objs/apps/soundbox/task_manager/app_common.c.o,ci_data_rx_handler,l
|
|
||||||
-r=objs/apps/soundbox/task_manager/app_common.c.o,dev_status_event_filter,l
|
-r=objs/apps/soundbox/task_manager/app_common.c.o,dev_status_event_filter,l
|
||||||
-r=objs/apps/soundbox/task_manager/app_common.c.o,linein_device_event_handler,l
|
-r=objs/apps/soundbox/task_manager/app_common.c.o,linein_device_event_handler,l
|
||||||
-r=objs/apps/soundbox/task_manager/app_common.c.o,lp_device_event_handler,l
|
-r=objs/apps/soundbox/task_manager/app_common.c.o,lp_device_event_handler,l
|
||||||
@ -4095,6 +3989,7 @@ objs/cpu/br23/audio_dec/audio_dec.c.o
|
|||||||
-r=objs/cpu/br23/audio_dec/audio_dec.c.o,audio_stream_add_list,l
|
-r=objs/cpu/br23/audio_dec/audio_dec.c.o,audio_stream_add_list,l
|
||||||
-r=objs/cpu/br23/audio_dec/audio_dec.c.o,app_audio_volume_init,l
|
-r=objs/cpu/br23/audio_dec/audio_dec.c.o,app_audio_volume_init,l
|
||||||
-r=objs/cpu/br23/audio_dec/audio_dec.c.o,audio_mix_out_automute_mute,pl
|
-r=objs/cpu/br23/audio_dec/audio_dec.c.o,audio_mix_out_automute_mute,pl
|
||||||
|
-r=objs/cpu/br23/audio_dec/audio_dec.c.o,app_get_curr_task,l
|
||||||
-r=objs/cpu/br23/audio_dec/audio_dec.c.o,gpio_set_output_value,l
|
-r=objs/cpu/br23/audio_dec/audio_dec.c.o,gpio_set_output_value,l
|
||||||
-r=objs/cpu/br23/audio_dec/audio_dec.c.o,mix_out_automute_handler,pl
|
-r=objs/cpu/br23/audio_dec/audio_dec.c.o,mix_out_automute_handler,pl
|
||||||
-r=objs/cpu/br23/audio_dec/audio_dec.c.o,app_audio_output_channel_get,l
|
-r=objs/cpu/br23/audio_dec/audio_dec.c.o,app_audio_output_channel_get,l
|
||||||
@ -6264,52 +6159,6 @@ include_lib/liba/br23/cpu.a.llvm.744702.power_port.c
|
|||||||
-r=include_lib/liba/br23/cpu.a.llvm.744702.power_port.c,gpio_set_die,l
|
-r=include_lib/liba/br23/cpu.a.llvm.744702.power_port.c,gpio_set_die,l
|
||||||
-r=include_lib/liba/br23/cpu.a.llvm.744702.power_port.c,gpio_set_dieh,l
|
-r=include_lib/liba/br23/cpu.a.llvm.744702.power_port.c,gpio_set_dieh,l
|
||||||
-r=include_lib/liba/br23/cpu.a.llvm.744702.power_port.c,p33_tx_1byte,l
|
-r=include_lib/liba/br23/cpu.a.llvm.744702.power_port.c,p33_tx_1byte,l
|
||||||
include_lib/liba/br23/cpu.a.llvm.1077826.usb_phy.c
|
|
||||||
-r=include_lib/liba/br23/cpu.a.llvm.1077826.usb_phy.c,get_jiffies,pl
|
|
||||||
-r=include_lib/liba/br23/cpu.a.llvm.1077826.usb_phy.c,usb_mdelay,pl
|
|
||||||
-r=include_lib/liba/br23/cpu.a.llvm.1077826.usb_phy.c,os_time_dly,l
|
|
||||||
-r=include_lib/liba/br23/cpu.a.llvm.1077826.usb_phy.c,usb_host_timeout,pl
|
|
||||||
-r=include_lib/liba/br23/cpu.a.llvm.1077826.usb_phy.c,usb_g_bulk_read64byte_fast,pl
|
|
||||||
-r=include_lib/liba/br23/cpu.a.llvm.1077826.usb_phy.c,usb_g_ep_read64byte_fast,l
|
|
||||||
-r=include_lib/liba/br23/cpu.a.llvm.1077826.usb_phy.c,usb_g_bulk_read,pl
|
|
||||||
-r=include_lib/liba/br23/cpu.a.llvm.1077826.usb_phy.c,usb_g_ep_read,l
|
|
||||||
-r=include_lib/liba/br23/cpu.a.llvm.1077826.usb_phy.c,usb_g_bulk_write,pl
|
|
||||||
-r=include_lib/liba/br23/cpu.a.llvm.1077826.usb_phy.c,usb_g_ep_write,l
|
|
||||||
-r=include_lib/liba/br23/cpu.a.llvm.1077826.usb_phy.c,usb_g_intr_read,pl
|
|
||||||
-r=include_lib/liba/br23/cpu.a.llvm.1077826.usb_phy.c,usb_g_intr_write,pl
|
|
||||||
-r=include_lib/liba/br23/cpu.a.llvm.1077826.usb_phy.c,usb_g_iso_read,pl
|
|
||||||
-r=include_lib/liba/br23/cpu.a.llvm.1077826.usb_phy.c,usb_g_iso_write,pl
|
|
||||||
-r=include_lib/liba/br23/cpu.a.llvm.1077826.usb_phy.c,usb_slave_init,pl
|
|
||||||
-r=include_lib/liba/br23/cpu.a.llvm.1077826.usb_phy.c,usb_write_power,l
|
|
||||||
-r=include_lib/liba/br23/cpu.a.llvm.1077826.usb_phy.c,usb_write_intr_usbe,l
|
|
||||||
-r=include_lib/liba/br23/cpu.a.llvm.1077826.usb_phy.c,usb_clr_intr_txe,l
|
|
||||||
-r=include_lib/liba/br23/cpu.a.llvm.1077826.usb_phy.c,usb_clr_intr_rxe,l
|
|
||||||
-r=include_lib/liba/br23/cpu.a.llvm.1077826.usb_phy.c,usb_sie_enable,l
|
|
||||||
-r=include_lib/liba/br23/cpu.a.llvm.1077826.usb_phy.c,usb_read_sofframe,pl
|
|
||||||
-r=include_lib/liba/br23/cpu.a.llvm.1077826.usb_phy.c,musb_read_sofframe,l
|
|
||||||
-r=include_lib/liba/br23/cpu.a.llvm.1077826.usb_phy.c,usb_h_bulk_read,pl
|
|
||||||
-r=include_lib/liba/br23/cpu.a.llvm.1077826.usb_phy.c,usb_h_ep_read,l
|
|
||||||
-r=include_lib/liba/br23/cpu.a.llvm.1077826.usb_phy.c,usb_h_bulk_write,pl
|
|
||||||
-r=include_lib/liba/br23/cpu.a.llvm.1077826.usb_phy.c,usb_h_ep_write,l
|
|
||||||
-r=include_lib/liba/br23/cpu.a.llvm.1077826.usb_phy.c,usb_h_intr_read,pl
|
|
||||||
-r=include_lib/liba/br23/cpu.a.llvm.1077826.usb_phy.c,usb_h_intr_write,pl
|
|
||||||
-r=include_lib/liba/br23/cpu.a.llvm.1077826.usb_phy.c,usb_h_iso_read,pl
|
|
||||||
-r=include_lib/liba/br23/cpu.a.llvm.1077826.usb_phy.c,usb_h_iso_write,pl
|
|
||||||
-r=include_lib/liba/br23/cpu.a.llvm.1077826.usb_phy.c,usb_h_entry_suspend,pl
|
|
||||||
-r=include_lib/liba/br23/cpu.a.llvm.1077826.usb_phy.c,usb_read_power,l
|
|
||||||
-r=include_lib/liba/br23/cpu.a.llvm.1077826.usb_phy.c,usb_h_resume,pl
|
|
||||||
-r=include_lib/liba/br23/cpu.a.llvm.1077826.usb_phy.c,usb_host_init,pl
|
|
||||||
-r=include_lib/liba/br23/cpu.a.llvm.1077826.usb_phy.c,usb_write_devctl,l
|
|
||||||
-r=include_lib/liba/br23/cpu.a.llvm.1077826.usb_phy.c,usb_read_devctl,l
|
|
||||||
-r=include_lib/liba/br23/cpu.a.llvm.1077826.usb_phy.c,log_print,l
|
|
||||||
-r=include_lib/liba/br23/cpu.a.llvm.1077826.usb_phy.c,usb_h_dev_status,l
|
|
||||||
-r=include_lib/liba/br23/cpu.a.llvm.1077826.usb_phy.c,usb_set_low_speed,l
|
|
||||||
-r=include_lib/liba/br23/cpu.a.llvm.1077826.usb_phy.c,usb_host_reset,pl
|
|
||||||
-r=include_lib/liba/br23/cpu.a.llvm.1077826.usb_phy.c,usb_h_force_reset,pl
|
|
||||||
-r=include_lib/liba/br23/cpu.a.llvm.1077826.usb_phy.c,usb_io_reset,l
|
|
||||||
-r=include_lib/liba/br23/cpu.a.llvm.1077826.usb_phy.c,usb_disable_for_ota,pl
|
|
||||||
-r=include_lib/liba/br23/cpu.a.llvm.1077826.usb_phy.c,usb_sie_close_all,l
|
|
||||||
-r=include_lib/liba/br23/cpu.a.llvm.1077826.usb_phy.c,jiffies,l
|
|
||||||
include_lib/liba/br23/cpu.a.llvm.1096254.usb_setup.c
|
include_lib/liba/br23/cpu.a.llvm.1096254.usb_setup.c
|
||||||
-r=include_lib/liba/br23/cpu.a.llvm.1096254.usb_setup.c,usb_device2id,pl
|
-r=include_lib/liba/br23/cpu.a.llvm.1096254.usb_setup.c,usb_device2id,pl
|
||||||
-r=include_lib/liba/br23/cpu.a.llvm.1096254.usb_setup.c,usb_id2device,pl
|
-r=include_lib/liba/br23/cpu.a.llvm.1096254.usb_setup.c,usb_id2device,pl
|
||||||
@ -6352,14 +6201,14 @@ include_lib/liba/br23/cpu.a.llvm.1096254.usb_setup.c
|
|||||||
-r=include_lib/liba/br23/cpu.a.llvm.1096254.usb_setup.c,log_tag_const_i_USB,l
|
-r=include_lib/liba/br23/cpu.a.llvm.1096254.usb_setup.c,log_tag_const_i_USB,l
|
||||||
-r=include_lib/liba/br23/cpu.a.llvm.1096254.usb_setup.c,log_tag_const_e_USB,l
|
-r=include_lib/liba/br23/cpu.a.llvm.1096254.usb_setup.c,log_tag_const_e_USB,l
|
||||||
include_lib/liba/br23/cpu.a.llvm.1121414.descriptor.c
|
include_lib/liba/br23/cpu.a.llvm.1121414.descriptor.c
|
||||||
-r=include_lib/liba/br23/cpu.a.llvm.1121414.descriptor.c,get_device_descriptor,l
|
-r=include_lib/liba/br23/cpu.a.llvm.1121414.descriptor.c,get_device_descriptor,pl
|
||||||
-r=include_lib/liba/br23/cpu.a.llvm.1121414.descriptor.c,get_language_str,l
|
-r=include_lib/liba/br23/cpu.a.llvm.1121414.descriptor.c,get_language_str,pl
|
||||||
-r=include_lib/liba/br23/cpu.a.llvm.1121414.descriptor.c,get_manufacture_str,l
|
-r=include_lib/liba/br23/cpu.a.llvm.1121414.descriptor.c,get_manufacture_str,pl
|
||||||
-r=include_lib/liba/br23/cpu.a.llvm.1121414.descriptor.c,get_product_str,l
|
-r=include_lib/liba/br23/cpu.a.llvm.1121414.descriptor.c,get_product_str,pl
|
||||||
-r=include_lib/liba/br23/cpu.a.llvm.1121414.descriptor.c,get_iserialnumber_str,l
|
-r=include_lib/liba/br23/cpu.a.llvm.1121414.descriptor.c,get_iserialnumber_str,pl
|
||||||
-r=include_lib/liba/br23/cpu.a.llvm.1121414.descriptor.c,get_string_ee,pl
|
-r=include_lib/liba/br23/cpu.a.llvm.1121414.descriptor.c,get_string_ee,pl
|
||||||
-r=include_lib/liba/br23/cpu.a.llvm.1121414.descriptor.c,uac_get_string,pl
|
-r=include_lib/liba/br23/cpu.a.llvm.1121414.descriptor.c,uac_get_string,pl
|
||||||
-r=include_lib/liba/br23/cpu.a.llvm.1121414.descriptor.c,usb_get_config_desc,l
|
-r=include_lib/liba/br23/cpu.a.llvm.1121414.descriptor.c,usb_get_config_desc,pl
|
||||||
-r=include_lib/liba/br23/cpu.a.llvm.1121414.descriptor.c,usb_add_desc_config,pl
|
-r=include_lib/liba/br23/cpu.a.llvm.1121414.descriptor.c,usb_add_desc_config,pl
|
||||||
-r=include_lib/liba/br23/cpu.a.llvm.1121414.descriptor.c,set_descriptor,pl
|
-r=include_lib/liba/br23/cpu.a.llvm.1121414.descriptor.c,set_descriptor,pl
|
||||||
-r=include_lib/liba/br23/cpu.a.llvm.1121414.descriptor.c,printf,l
|
-r=include_lib/liba/br23/cpu.a.llvm.1121414.descriptor.c,printf,l
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user