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

📄 dsc.h

📁 一个不错的硬盘播放器程序,包含VFD显示程序,红外线遥控程序,硬盘读写程序,及解码程序等.
💻 H
字号:
/* Copyright 1997, ESS Technology, Inc.					*//* SCCSID @(#)dsc.h	1.33 12/17/97 *//* * $Log$ */#ifndef _DSC_H_#define _DSC_H_#ifdef DSC#ifndef _COMMON_H_#include "common.h"#endif#ifndef __IOPORT_H__#include "ioport.h"#endif#define dsc_cchip_ctl		0x02#define dsc_cchip_ctlm		0x03#define dsc_clkctl		0x04#define dsc_clkctlm		0x05#define dsc_watchdog		0x06#define dsc_watchdogm		0x07#define dsc_aux0_data		0x08#define dsc_aux0_datam		0x09#define dsc_aux0_ctl		0x0a#define dsc_aux0_ctlm		0x0b#define dsc_aux1_data		0x0c#define dsc_aux1_datam		0x0d#define dsc_aux1_ctl		0x0e#define dsc_aux1_ctlm		0x0f#define dsc_dvectl1		0x40#define dsc_dvectl1m		0x41#define dsc_dvectl2		0x42#define dsc_dvectl2m		0x43#define dsc_dvectl3		0x44#define dsc_dvectl3m		0x45#define dsc_dvectl4		0x46#define dsc_dvectl4m		0x47#define dsc_dvectl5		0x48#define dsc_dvectl5m		0x49#define dsc_dvetdat1		0x4a#define dsc_dvetdat1m		0x4b#define dsc_dvetdat2		0x4c#define dsc_dvetdat2m		0x4d#define dsc_dvetdat3		0x4e#define dsc_dvetdat3m		0x4f#define dsc_audioxmt1		0x80#define dsc_audioxmt1m		0x81#define dsc_audioacnt0l		0x84#define dsc_audioacnt0lm	0x85#define dsc_audioacnt0h		0x86#define dsc_audioacnt0hm	0x87#define dsc_audioacnt1l		0x88#define dsc_audioacnt1lm	0x89#define dsc_audioacnt1h		0x8a#define dsc_audioacnt1hm	0x8b#define dsc_audioapllm		0x8c#define dsc_audioapllmm 	0x8d#define dsc_audioaplln		0x8e#define dsc_audioapllnm 	0x8f#define dsc_audiorcv1		0xc0#define dsc_audiorcv1m		0xc1#define dsc_audiorcv2		0xc2#define dsc_audiorcv2m		0xc3#define dsc_audioadc1		0xc4#define dsc_audioadc1m		0xc5#define dsc_audioadc2		0xc6#define dsc_audioadc2m		0xc7#define dsc_audiodbg		0xc8#define dsc_audiodbgm		0xc9extern	int	DSC_cmd(int, int);extern	void	DSC_encoder_off(void);extern	void	DSC_getstatus(void);extern	void	DSC_init(void);extern  void    DSC_mute_on(void);extern	void	DSC_powerdown(void);extern	void	DSC_powerup(void);extern	void	DSC_reset_audio(void);extern	void	DSC_s_video(int);extern	void	DSC_set_aux(int, int, int);extern	void	DSC_set_TV(int);extern	void	DSC_toggle(void);#ifdef ECHOextern void DSC_mic_on(void);extern void DSC_mic_off(void);#endif/* Macros to set AUX pins on 3205/7/9 side */#define	SET_EAUX0	DSC_set_aux(0, 1, 0x1)#define	SET_EAUX1	DSC_set_aux(0, 1, 0x2)#define	SET_EAUX2	DSC_set_aux(0, 1, 0x4)#define	SET_EAUX3	DSC_set_aux(0, 1, 0x8)#define	SET_EAUX4	DSC_set_aux(0, 1, 0x10)#define	SET_EAUX5	DSC_set_aux(0, 1, 0x20)#define	SET_EAUX6	DSC_set_aux(0, 1, 0x40)#define	SET_EAUX7	DSC_set_aux(0, 1, 0x80)#define	SET_EAUX8	DSC_set_aux(1, 1, 0x1)#define	SET_EAUX9	DSC_set_aux(1, 1, 0x2)#define	SET_EAUX10	DSC_set_aux(1, 1, 0x4)#define	SET_EAUX11	DSC_set_aux(1, 1, 0x8)#define	SET_EAUX12	DSC_set_aux(1, 1, 0x10)#define	SET_EAUX13	DSC_set_aux(1, 1, 0x20)#define	SET_EAUX14	DSC_set_aux(1, 1, 0x40)#define	SET_EAUX15	DSC_set_aux(1, 1, 0x80)#define	SET_ALL_EAUX	DSC_set_aux(0, 1, 0xff); DSC_set_aux(1, 1, 0xff)/* Macros to clear AUX pins on 3205/7/9 side */#define	CLEAR_EAUX0	DSC_set_aux(0, 0, 0x1)#define	CLEAR_EAUX1	DSC_set_aux(0, 0, 0x2)#define	CLEAR_EAUX2	DSC_set_aux(0, 0, 0x4)#define	CLEAR_EAUX3	DSC_set_aux(0, 0, 0x8)#define	CLEAR_EAUX4	DSC_set_aux(0, 0, 0x10)#define	CLEAR_EAUX5	DSC_set_aux(0, 0, 0x20)#define	CLEAR_EAUX6	DSC_set_aux(0, 0, 0x40)#define	CLEAR_EAUX7	DSC_set_aux(0, 0, 0x80)#define	CLEAR_EAUX8	DSC_set_aux(1, 0, 0x1)#define	CLEAR_EAUX9	DSC_set_aux(1, 0, 0x2)#define	CLEAR_EAUX10	DSC_set_aux(1, 0, 0x4)#define	CLEAR_EAUX11	DSC_set_aux(1, 0, 0x8)#define	CLEAR_EAUX12	DSC_set_aux(1, 0, 0x10)#define	CLEAR_EAUX13	DSC_set_aux(1, 0, 0x20)#define	CLEAR_EAUX14	DSC_set_aux(1, 0, 0x40)#define	CLEAR_EAUX15	DSC_set_aux(1, 0, 0x80)#define	CLEAR_ALL_EAUX	DSC_set_aux(0, 0, 0xff); DSC_set_aux(1, 0, 0xff)/* Macros to tri-state AUX pins on 3205/7/9 side */#define	TRISTATE_EAUX0	DSC_set_aux(0, 2, 0x1)#define	TRISTATE_EAUX1	DSC_set_aux(0, 2, 0x2)#define	TRISTATE_EAUX2	DSC_set_aux(0, 2, 0x4)#define	TRISTATE_EAUX3	DSC_set_aux(0, 2, 0x8)#define	TRISTATE_EAUX4	DSC_set_aux(0, 2, 0x10)#define	TRISTATE_EAUX5	DSC_set_aux(0, 2, 0x20)#define	TRISTATE_EAUX6	DSC_set_aux(0, 2, 0x40)#define	TRISTATE_EAUX7	DSC_set_aux(0, 2, 0x80)#define	TRISTATE_EAUX8	DSC_set_aux(1, 2, 0x1)#define	TRISTATE_EAUX9	DSC_set_aux(1, 2, 0x2)#define	TRISTATE_EAUX10	DSC_set_aux(1, 2, 0x4)#define	TRISTATE_EAUX11	DSC_set_aux(1, 2, 0x8)#define	TRISTATE_EAUX12	DSC_set_aux(1, 2, 0x10)#define	TRISTATE_EAUX13	DSC_set_aux(1, 2, 0x20)#define	TRISTATE_EAUX14	DSC_set_aux(1, 2, 0x40)#define	TRISTATE_EAUX15	DSC_set_aux(1, 2, 0x80)#define	TRISTATE_ALL_EAUX DSC_set_aux(0, 2, 0xff); DSC_set_aux(1, 2, 0xff)/* Macros to sense the AUX values on 3205/7/9 */#define	EAUX0_HIGH	(DSC_cmd(dsc_aux0_datam, 0) & 0x1)#define	EAUX1_HIGH	(DSC_cmd(dsc_aux0_datam, 0) & 0x2)#define	EAUX2_HIGH	(DSC_cmd(dsc_aux0_datam, 0) & 0x4)#define	EAUX3_HIGH	(DSC_cmd(dsc_aux0_datam, 0) & 0x8)#define	EAUX4_HIGH	(DSC_cmd(dsc_aux0_datam, 0) & 0x10)#define	EAUX5_HIGH	(DSC_cmd(dsc_aux0_datam, 0) & 0x20)#define	EAUX6_HIGH	(DSC_cmd(dsc_aux0_datam, 0) & 0x40)#define	EAUX7_HIGH	(DSC_cmd(dsc_aux0_datam, 0) & 0x80)#define	EAUX8_HIGH	(DSC_cmd(dsc_aux1_datam, 0) & 0x1)#define	EAUX9_HIGH	(DSC_cmd(dsc_aux1_datam, 0) & 0x2)#define	EAUX10_HIGH	(DSC_cmd(dsc_aux1_datam, 0) & 0x4)#define	EAUX11_HIGH	(DSC_cmd(dsc_aux1_datam, 0) & 0x8)#define	EAUX12_HIGH	(DSC_cmd(dsc_aux1_datam, 0) & 0x10)#define	EAUX13_HIGH	(DSC_cmd(dsc_aux1_datam, 0) & 0x20)#define	EAUX14_HIGH	(DSC_cmd(dsc_aux1_datam, 0) & 0x40)#define	EAUX15_HIGH	(DSC_cmd(dsc_aux1_datam, 0) & 0x80)#define	EAUX0_LOW	(!EAUX0_HIGH)#define	EAUX1_LOW	(!EAUX1_HIGH)#define	EAUX2_LOW	(!EAUX2_HIGH)#define	EAUX3_LOW	(!EAUX3_HIGH)#define	EAUX4_LOW	(!EAUX4_HIGH)#define	EAUX5_LOW	(!EAUX5_HIGH)#define	EAUX6_LOW	(!EAUX6_HIGH)#define	EAUX7_LOW	(!EAUX7_HIGH)#define	EAUX8_LOW	(!EAUX8_HIGH)#define	EAUX9_LOW	(!EAUX9_HIGH)#define	EAUX10_LOW	(!EAUX10_HIGH)#define	EAUX11_LOW	(!EAUX11_HIGH)#define	EAUX12_LOW	(!EAUX12_HIGH)#define	EAUX13_LOW	(!EAUX13_HIGH)#define	EAUX14_LOW	(!EAUX14_HIGH)#define	EAUX15_LOW	(!EAUX15_HIGH)#define	GET_EAUX7_0	(DSC_cmd(dsc_aux0_datam, 0) & 0xff)#define	GET_EAUX15_8	(DSC_cmd(dsc_aux1_datam, 0) & 0xff)GBLDEF_0(int DSC_status, 0);		/* Powerup cchip_ctl (warm boot?) */GBLDEF_0(int DSC_version, 0);		/* 0: pre-3207VA; 1: later.	  */#ifdef CLKDIV/* * New mechanism with newer revisions of 3210 (D and later): * clkctl (PLL) is always set to 1 (i.e. 3210 depends on PLL for clock) * * Since we never use pass through mode for 3210's clock, we can use * the clock divider to differentiate different power on/off states * cchip_ctl	clkctl (bit 0) * (cold/warm)	(divider)	Cause			Action * ========================================================================= * cold (0)	0		A/C power on		power down * warm (1)	0		IR power off		continue to standby * warm (1)	1		IR power on or		continue to power up *				watchdog reset * * Running:	warm and 1 (11b) * Standby:	warm and 0 (10b) * AC on:	cold and don't care (00b) * * For RC5 (Philips-style remote control, bits 2,1 of clkctl (divider) * indicates the last control bit (to prevent repeating of power up/down). */#else/* For older generatations of 3210 (revisions A, B, and C) *//* * cchip_ctl	clkctl * (cold/warm)	(PLL)		Cause			Action * ========================================================================= * cold (0)	PLL (1)		A/C power on		power doen * cold	(0)	bypass (0)	IR power off		continue to standby * warm	(1)	PLL (1)		IR power on or		continue to power up *				watchdog reset * * Running:	warm and PLL (11b) * Standby:	cold and bypass (00b) * AC on:	cold and PLL (01b) */#endif#define	DSC_STATUS_STANDBY	0x0	/* Power down mode (standby)	*/#define	DSC_STATUS_ACON		0x1	/* First time A/C on		*/#define	DSC_STATUS_RUNNING	0x3	/* Power up mode (running)	*/#define	IS_POWER_DOWN	(DSC_status == DSC_STATUS_STANDBY)#endif	/* DSC *//* * Following routines are needed with or without 3207/9 */extern	void	DSC_dead(int);		/* Reset the system		*/#endif /* _DSC_H_ */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -