📄 echo.h
字号:
/* Copyright 1997, ESS Technology, Inc. */
/* SCCSID @(#)echo.h 1.46 7/17/98 */
/*
* $Log$
*/
/*
* This code is based on sccs get SCCS at 04-16-97
*/
#ifndef __ECHO_H__
#define __ECHO_H__
#define MIC_USE_MACRO
#ifndef _COMMON_H_
#include "common.h"
#endif
#ifdef ECHO
/******************************************************************************
Exported constants.
******************************************************************************/
#define ECHO_AF 48 /* unit in DWs = (384/2)/2/2 */
#define MIX_size (2*384)
#ifdef SVCD
GBLDEF(int MIC_start, 2300);
#define MIC_START 2300
#else
GBLDEF(int MIC_start, 124496);
#define MIC_START 124496
#endif
#define MIC_size 16*ECHO_AF
#define MIC_end (MIC_start+MIC_size)
#define MIX_start (PCM_start-MIX_size)
#define MIX_end (MIX_start+MIX_size)
#define ECHO_SAVE (2266+ADJUST_4_LINE)
/******************************************************************************
Exported functions.
******************************************************************************/
extern void ECHO_init(void);
#ifdef MIC_USE_MACRO
#define MIC_clear_buffer() dram_clear(MIC_start, MIC_end-MIC_start)
#define MIX_clear_buffer() dram_clear(MIX_start, MIX_end-MIX_start)
#else
extern void MIC_clear_buffer(void);
#endif
extern void MIC_init(void);
extern void MIC_start_take_in(void);
extern void MIC_stop_take_in(void);
extern void ECHO_main(int);
extern void ECHO_mixing(void);
extern void MIX_init(void);
extern int MIX_out_ready(void);
extern void MIX_take_out(void);
extern void MIX_stop_take_out(void);
extern void MIC_n_MIX_stop(void);
extern void MIC_n_MIX_restart(void);
extern void MIC_turn_on(void);
/******************************************************************************
Exported variables.
******************************************************************************/
GBLDEF (int ECHO_rdptr, MIC_START);
GBLDEF (int ECHO_wrptr, MIC_START);
GBLDEF_0 (int ECHO_cnt, 0); /* Number of times TSK_echo is called */
GBLDEF_0 (int ECHO_last_cnt, 0);
GBLDEF (int MIC_rdptr, MIC_START);
GBLDEF (int MIC_wrptr, MIC_START);
GBLDEF_0 (int MIC_filling, 0);
GBLDEF (int MIX_rdptr, MIX_start);
GBLDEF (int MIX_wrptr, MIX_start);
GBLDEF_0 (int MIX_out, 0);
GBLDEF (int vcx_echo_max_level, 8); /* Can be customized to between 5 and 15 */
GBLDEF (int vcx_echo, -1); /* -1 : MIC off i.e. MIC port is disable */
/* 0 : MIC on i.e. analog bypass */
/* >0 : ECHO on */
#ifdef ECHO_ANALOG_BYPASS
GBLDEF(int ECHO_analog_bypass, 1); /* Analog bypass from MIC to DAC*/
#else
GBLDEF_0 (int ECHO_analog_bypass, 0); /* Digital bypass */
#endif
GBLDEF_0 (int pcm_not_ready, 0);
GBLDEF_0 (int vcx_mic_on, 0);
GBLDEF_0 (int MIC_is_turned_on, 0); /* Is MIC on? */
#ifdef DSC_SW_DETECT_CENTER
GBLDEF_0 (int MIC_got_sample, 0); /* 0: not sample yet *
* 1: got sample *
* 2: getting sample */
#endif
GBLDEF(int mic_sensitivity, 2); /* MIC sensitivity */
#define MIC_service() ECHO_main(0);
/*****************************************************************************
Debugging
*****************************************************************************/
#ifdef DBG_mix
void mix_trace(int);
#endif
#endif /* ECHO */
#endif /* __ECHO_H__ */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -