📄 l1audio_defty.h
字号:
UWORD32 timebase;
UWORD16 global_osc_active;
UWORD16 global_osc_to_start;
UWORD8 timebase_mod_60ms;
BOOL dsp_task;
}
T_L1S_MELODY_E2_COMMON_VAR;
/***************************************************************************************/
/* Melody format E2 audio background structure... */
/***************************************************************************************/
typedef struct
{
API *API_address;
UWORD16 allowed_size;
UWORD8 number_of_user[SC_AUDIO_MELODY_E2_MAX_NUMBER_OF_INSTRUMENT];
UWORD8 instrument_id[SC_AUDIO_MELODY_E2_MAX_NUMBER_OF_INSTRUMENT];
UWORD16 instrument_size[SC_AUDIO_MELODY_E2_MAX_NUMBER_OF_INSTRUMENT];
} T_AUDIO_BACK_MELODY_E2;
#endif // MELODY_E2
#if (L1_CPORT == 1)
/***************************************************************************************/
/* Cport l1a_l1s_com structure... */
/***************************************************************************************/
typedef struct
{
BOOL start;
}
T_CPORT_COMMAND;
typedef struct
{
UWORD16 configuration;
UWORD16 ctrl;
UWORD8 cpcfr1;
UWORD8 cpcfr2;
UWORD8 cpcfr3;
UWORD8 cpcfr4;
UWORD8 cptctl;
UWORD8 cpttaddr;
UWORD16 cptdat;
UWORD16 cptvs;
}
T_CPORT_PARAM;
typedef struct
{
T_CPORT_COMMAND command;
T_CPORT_PARAM parameters;
}
T_CPORT_TASK;
#endif
#if (L1_EXTERNAL_AUDIO_VOICE_ONOFF == 1 || L1_EXT_MCU_AUDIO_VOICE_ONOFF == 1)
typedef struct
{
BOOL start;
}
T_AUDIO_ONOFF_COMMAND;
typedef struct
{
#if (L1_EXTERNAL_AUDIO_VOICE_ONOFF == 1)
UWORD8 onoff_value; /* This value is used to indicate the required state from the MMI interface */
#endif
#if (L1_EXT_MCU_AUDIO_VOICE_ONOFF == 1)
UWORD8 vul_onoff_value;/* This value is used to indicate the required state from the MMI interface */
UWORD8 vdl_onoff_value;/* This value is used to indicate the required state from the MMI interface */
#endif
}
T_AUDIO_ONOFF_PARAM;
typedef struct
{
T_AUDIO_ONOFF_COMMAND command;
T_AUDIO_ONOFF_PARAM parameters;
}
T_AUDIO_ONOFF_TASK;
#endif
#if (L1_EXT_MCU_AUDIO_VOICE_ONOFF == 1)
#define L1_AUDIO_VOICE_UL_OFF 0
#define L1_AUDIO_VOICE_UL_ON 1
#define L1_AUDIO_VOICE_UL_NO_ACTION 2
#define L1_AUDIO_VOICE_DL_OFF 0
#define L1_AUDIO_VOICE_DL_ON 1
#define L1_AUDIO_VOICE_DL_NO_ACTION 2
#endif
#if (L1_STEREOPATH == 1)
/***************************************************************************************/
/* Stereopath l1a_l1s_com structure... */
/***************************************************************************************/
typedef struct
{
BOOL start;
BOOL stop;
}
T_STEREOPATH_DRV_COMMAND;
typedef struct
{
#if (CODE_VERSION == NOT_SIMULATION)
UWORD8 sampling_frequency;
UWORD8 DMA_allocation;
void (*DMA_int_callback_fct) (UWORD16);
UWORD8 DMA_channel_number;
UWORD8 data_type;
UWORD8 source_port;
WORD8 *source_buffer_address;
UWORD16 element_number;
UWORD16 frame_number;
UWORD8 mono_stereo;
UWORD8 feature_identifier;
#else
UWORD8 dummy;
#endif
}
T_STEREOPATH_DRV_PARAM;
typedef struct
{
T_STEREOPATH_DRV_COMMAND command;
T_STEREOPATH_DRV_PARAM parameters;
void (*pcmfillCallback)();
}
T_STEREOPATH_DRV_TASK;
#endif
#if (L1_EXT_AUDIO_MGT == 1)
typedef struct
{
UWORD8 session_id;
}
T_L1S_EXT_AUDIO_MGT_VAR;
#endif
#if (L1_ANR == 1)
/***************************************************************************************/
/* ANR l1a_l1s_com structure... */
/***************************************************************************************/
typedef struct
{
BOOL update;
}
T_ANR_COMMAND;
typedef struct
{
BOOL anr_enable;
WORD16 min_gain;
WORD8 div_factor_shift;
UWORD8 ns_level;
}
T_ANR_PARAM;
typedef struct
{
T_ANR_COMMAND command;
T_ANR_PARAM parameters;
}
T_ANR_TASK;
#endif
#if (L1_ANR == 2)
/***************************************************************************************/
/* ANR 2.13 l1a_l1s_com structure... */
/***************************************************************************************/
typedef struct
{
BOOL update;
}
T_AQI_ANR_COMMAND;
typedef struct
{
T_ANR_CONTROL anr_ul_control;
WORD16 control;
WORD16 ns_level;
WORD16 tone_ene_th;
WORD16 tone_cnt_th;
}
T_AQI_ANR_PARAM;
typedef struct
{
T_AQI_ANR_COMMAND command;
T_AQI_ANR_PARAM parameters;
}
T_AQI_ANR_TASK;
#endif
#if (L1_IIR == 1)
/***************************************************************************************/
/* IIR l1a_l1s_com structure... */
/***************************************************************************************/
typedef struct
{
BOOL update;
}
T_IIR_COMMAND;
typedef struct
{
BOOL iir_enable;
UWORD8 nb_iir_blocks;
WORD16 *iir_coefs;
UWORD8 nb_fir_coefs;
WORD16 *fir_coefs;
WORD8 input_scaling;
WORD8 fir_scaling;
WORD8 input_gain_scaling;
WORD8 output_gain_scaling;
UWORD16 output_gain;
WORD16 feedback;
}
T_IIR_PARAM;
typedef struct
{
T_IIR_COMMAND command;
T_IIR_PARAM parameters;
}
T_IIR_TASK;
#endif
#if (L1_WCM == 1)
/***************************************************************************************/
/* WCM 1.x l1a_l1s_com structure... */
/***************************************************************************************/
typedef struct
{
BOOL update;
}
T_AQI_WCM_COMMAND;
typedef struct
{
T_AQI_WCM_COMMAND command;
T_AQI_WCM_PARAM *parameters;
}
T_AQI_WCM_TASK;
#endif
#if (L1_IIR == 2)
/***************************************************************************************/
/* IIR 4.x l1a_l1s_com structure... */
/***************************************************************************************/
typedef struct
{
BOOL update;
}
T_AQI_IIR_COMMAND;
typedef struct
{
T_AQI_IIR_COMMAND command;
T_AQI_IIR_PARAM *parameters;
}
T_AQI_IIR_TASK;
#endif
#if (L1_AGC_UL == 1 || L1_AGC_DL == 1)
typedef struct
{
BOOL update;
}
T_AQI_AGC_COMMAND;
#endif
#if (L1_AGC_UL == 1)
/***************************************************************************************/
/* AGC UL l1a_l1s_com structure... */
/***************************************************************************************/
typedef struct
{
T_AGC_CONTROL agc_ul_control;
UWORD16 control;
UWORD16 frame_size;
WORD16 targeted_level;
WORD16 signal_up;
WORD16 signal_down;
WORD16 max_scale;
WORD16 gain_smooth_alpha;
WORD16 gain_smooth_alpha_fast;
WORD16 gain_smooth_beta;
WORD16 gain_smooth_beta_fast;
WORD16 gain_intp_flag;
}
T_AQI_AGC_UL_PARAM;
typedef struct
{
T_AQI_AGC_COMMAND command;
T_AQI_AGC_UL_PARAM parameters;
}
T_AQI_AGC_UL_TASK;
#endif
#if (L1_AGC_DL == 1)
/***************************************************************************************/
/* AGC DL l1a_l1s_com structure... */
/***************************************************************************************/
typedef struct
{
T_AGC_CONTROL agc_dl_control;
UWORD16 control;
UWORD16 frame_size;
WORD16 targeted_level;
WORD16 signal_up;
WORD16 signal_down;
WORD16 max_scale;
WORD16 gain_smooth_alpha;
WORD16 gain_smooth_alpha_fast;
WORD16 gain_smooth_beta;
WORD16 gain_smooth_beta_fast;
WORD16 gain_intp_flag;
}
T_AQI_AGC_DL_PARAM;
typedef struct
{
T_AQI_AGC_COMMAND command;
T_AQI_AGC_DL_PARAM parameters;
}
T_AQI_AGC_DL_TASK;
#endif
#if (L1_DRC == 1)
/***************************************************************************************/
/* DRC 1.x l1a_l1s_com structure... */
/***************************************************************************************/
typedef struct
{
BOOL update;
}
T_AQI_DRC_COMMAND;
typedef struct
{
T_AQI_DRC_COMMAND command;
T_AQI_DRC_PARAM *parameters;
}
T_AQI_DRC_TASK;
/***************************************************************************************/
/* MP3 MCU-DSP API */
/***************************************************************************************/
typedef struct
{
API_SIGNED d_drc_speech_mode_samp_f;
API_SIGNED d_drc_num_subbands;
API_SIGNED d_drc_frame_len;
API_SIGNED d_drc_expansion_knee_fb_bs;
API_SIGNED d_drc_expansion_knee_md_hg;
API_SIGNED d_drc_expansion_ratio_fb_bs;
API_SIGNED d_drc_expansion_ratio_md_hg;
API_SIGNED d_drc_max_amplification_fb_bs;
API_SIGNED d_drc_max_amplification_md_hg;
API_SIGNED d_drc_compression_knee_fb_bs;
API_SIGNED d_drc_compression_knee_md_hg;
API_SIGNED d_drc_compression_ratio_fb_bs;
API_SIGNED d_drc_compression_ratio_md_hg;
API_SIGNED d_drc_energy_limiting_th_fb_bs;
API_SIGNED d_drc_energy_limiting_th_md_hg;
API_SIGNED d_drc_limiter_threshold_fb;
API_SIGNED d_drc_limiter_threshold_bs;
API_SIGNED d_drc_limiter_threshold_md;
API_SIGNED d_drc_limiter_threshold_hg;
API_SIGNED d_drc_limiter_hangover_spect_preserve;
API_SIGNED d_drc_limiter_release_fb_bs;
API_SIGNED d_drc_limiter_release_md_hg;
API_SIGNED d_drc_gain_track_fb_bs;
API_SIGNED d_drc_gain_track_md_hg;
API_SIGNED a_drc_low_pass_filter[17];
API_SIGNED a_drc_mid_band_filter[17];
} T_DRC_MCU_DSP;
#endif
#if (L1_LIMITER == 1)
/***************************************************************************************/
/* LIMITER l1a_l1s_com structure... */
/***************************************************************************************/
typedef struct
{
BOOL update;
BOOL partial_update;
}
T_LIMITER_COMMAND;
typedef struct
{
BOOL limiter_enable;
UWORD16 block_size;
UWORD16 slope_update_period;
UWORD16 nb_fir_coefs;
WORD16 *filter_coefs;
WORD16 thr_low_0;
WORD16 thr_low_slope;
WORD16 thr_high_0;
WORD16 thr_high_slope;
WORD16 gain_fall;
WORD16 gain_rise;
}
T_LIMITER_PARAM;
typedef struct
{
T_LIMITER_COMMAND command;
T_LIMITER_PARAM parameters;
}
T_LIMITER_TASK;
#endif
#if (L1_ES == 1)
/***************************************************************************************/
/* ES l1a_l1s_com structure... */
/***************************************************************************************/
typedef struct
{
BOOL update;
}
T_ES_COMMAND;
typedef struct
{
UWORD8 es_mode; /* ES general configuration */
WORD16 es_gain_dl;
WORD16 es_gain_ul_1;
WORD16 es_gain_ul_2;
WORD16 tcl_fe_ls_thr; /* TCL reference threshold in FE mode for loud signal */
WORD16 tcl_dt_ls_thr; /* TCL reference threshold in DT mode for loud signal */
WORD16 tcl_fe_ns_thr; /* TCL reference threshold in FE mode for nominal signal */
WORD16 tcl_dt_ns_thr; /* TCL reference threshold in DT mode for nominal signal */
WORD16 tcl_ne_thr; /* TCL reference threshold in NE mode */
WORD16 ref_ls_pwr; /* reference power for loud signals in DL */
WORD16 switching_time; /* switching time (idx) */
WORD16 switching_time_dt; /* switching time (idx) in DT mode */
WORD16 hang_time; /* hangover time (idx) */
WORD16 gain_lin_dl_vect[4]; /* downlink linear gain per state */
WORD16 gain_lin_ul_vect[4]; /* uplink linear gain per state */
}
T_ES_CONFIG;
typedef struct
{
UWORD8 es_enable;
UWORD8 es_behavior;
T_ES_CONFIG es_config;
}
T_ES_PARAM;
typedef struct
{
T_ES_COMMAND command;
T_ES_PARAM parameters;
}
T_ES_TASK;
#endif
typedef struct
{
BOOL start;
}
T_AUDIOIT_COMMAND;
typedef struct
{
T_AUDIOIT_COMMAND command;
}
T_AUDIOIT_TASK;
// Triton Audio ON/OFF Changes
#if (L1_AUDIO_MCU_ONOFF == 1)
typedef enum
{
L1_AUDIO_NO_ACTION = 0,
L1_AUDIO_TURN_ON = 1,
L1_AUDIO_TURN_OFF = 2
}
T_L1_AUDIO_ACTION;
typedef enum
{
L1_AUDIO_UL_OFF = 0,
L1_AUDIO_UL_SWITCHON_STARTED = 1,
L1_AUDIO_UL_ON = 2,
L1_AUDIO_UL_SWITCHOFF_STARTED = 3
}
T_L1_AUDIO_UL_STATE;
typedef enum
{
L1_AUDIO_DL_OFF = 0,
L1_AUDIO_DL_SWITCHON_STARTED = 1,
L1_AUDIO_DL_ON = 2,
L1_AUDIO_DL_SWITCHOFF_STARTED = 3
}
T_L1_AUDIO_DL_STATE;
typedef enum
{
L1_AUDIO_DL_PATH = 0,
L1_AUDIO_UL_PATH = 1
}
T_L1_AUDIO_PATH;
typedef struct
{
UWORD8 l1_audio_switch_on_ul_request;
UWORD8 l1_audio_switch_on_dl_request;
UWORD8 l1_audio_ul_on2off_hold_time;
UWORD8 l1_audio_dl_on2off_hold_time;
T_L1_AUDIO_ACTION l1_audio_ul_action;
T_L1_AUDIO_ACTION l1_audio_dl_action;
BOOL l1_audio_ul_switched_on;
BOOL l1_audio_dl_switched_on;
BOOL l1_audio_ul_switched_off;
BOOL l1_audio_dl_switched_off;
}
T_L1S_AUDIO_ONOFF_MANAGER;
#endif // L1_AUDIO_MCU_ONOFF
#endif // AUDIO_TASK
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -