⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 l1audio_defty.h

📁 MMI层OBJ不能完全编译
💻 H
📖 第 1 页 / 共 2 页
字号:
      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 + -