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

📄 sony_servo.h

📁 索尼CX3068VCD伺服的随身听
💻 H
字号:
/* * Q code information */#define SUBQ_LEN				10#define SERVO_QCTRADD	        0#define SERVO_QTRACK	        1#define SERVO_QPOINT	        2#define SERVO_QRMIN				3#define SERVO_QRSEC				4#define SERVO_QRFRAME	        5#define SERVO_QZERO				6#define SERVO_QPMIN				7#define SERVO_QPSEC				8#define SERVO_QPFRAME	        9/* * SERVO mode information  */#define SERVO_IDLE					0#define SERVO_STOP					1#define SERVO_OPEN					2#define SERVO_CLOSE					3#define SERVO_PLAY					4#define SERVO_PAUSE					5#define SERVO_RELEASEPAUSE	        6#define SERVO_RECOVER		        7#define SERVO_SEARCH		        8#define SERVO_TRAY                  9typedef struct _cd_info {    unsigned char type;    int firsttrack;				/* first track # 		*/    int lasttrack;				/* last track # 		*/    unsigned int  leadout;		/* lead out time		*/} CDINFO;/* CD type */#define	CD_UNKNOWN		0		/* Has to be 0			*/#define	CD_CDDA			1#define	CD_CDI			2#define	CD_VCD			3#define	CD_NODISC		4int gfs_check_high(void);int gfs_check_low(void);int servo_check_low(unsigned int pin_num);int servo_check_low2(unsigned int pin_num);int servo_check_high(unsigned int pin_num);int servo_check_high2(unsigned int pin_num);void servo_set_port(unsigned int pin_num);void servo_set_port2(unsigned int pin_num);void servo_clear_port(unsigned int pin_num);void servo_clear_port2(unsigned int pin_num);extern volatile int delay_count;#define SUBQ_READY 		(regs16->Genio_Pos_Edg&(1<<1))#define RESET_SUBQ		regs16->Genio_Pos_Edg = 0xff/* MACROS TO CHECK IF PIN VALUES = '1' */#define SERVO_SENS_HIGH  	servo_check_high(1<<15)#define SERVO_GFS_HIGH   	(regs16->Genio_In2 & (1<<1))#define SERVO_FOK_HIGH   	(regs16->Genio_In2 & (1<<0))#define SERVO_OPEN_HIGH  	servo_check_high(1<<0)#define SERVO_CLOSE_HIGH 	servo_check_high(1<<0)#define SERVO_SQSO_HIGH  	(regs16->Genio_In & (1<<9))/* MACROS TO CHECK IF PIN VALUES = '0' */#define SERVO_SENS_LOW  	servo_check_low(1<<15)#define SERVO_GFS_LOW   	servo_check_low2(1<<1)#define SERVO_FOK_LOW   	servo_check_low2(1<<0)#define SERVO_OPEN_LOW  	servo_check_low(1<<0)#define SERVO_CLOSE_LOW 	servo_check_low(1<<0)#define SERVO_SQSO_LOW  	servo_check_low(1<<9)#ifdef  USE_SONY_3068/* MACROS TO SET PIN TO '1' */#define SET_SERVO_XRST 		servo_clear_port(1<<11)#define SET_SERVO_XLAT 		servo_clear_port(1<<12)#define SET_SERVO_LDON 		servo_clear_port(1<<8)#define SET_SERVO_AGC  		servo_clear_port(1<<7)#define SET_SERVO_DATA 		servo_clear_port(1<<13)#define SET_SERVO_FWD  		servo_clear_port(1<<3)#define SET_SERVO_REV  		servo_clear_port(1<<2)#define SET_SERVO_CLOCK 	servo_clear_port(1<<14)#define SET_SERVO_SQCK 		servo_clear_port(1<<10)/* MACROS TO SET PIN TO '0' */#define CLEAR_SERVO_XRST 	servo_set_port(1<<11)#define CLEAR_SERVO_XLAT 	servo_set_port(1<<12)#define CLEAR_SERVO_LDON 	servo_set_port(1<<8)#define CLEAR_SERVO_AGC  	servo_set_port(1<<7)#define CLEAR_SERVO_DATA 	servo_set_port(1<<13)#define CLEAR_SERVO_FWD  	servo_set_port(1<<3)#define CLEAR_SERVO_REV  	servo_set_port(1<<2)#define CLEAR_SERVO_CLOCK 	servo_set_port(1<<14) #define CLEAR_SERVO_SQCK  	servo_set_port(1<<10)#else#define SET_SERVO_XRST 		(regs16->Genio_Out |= (1<<11))#define SET_SERVO_XLAT 		servo_set_port(1<<12)#define SET_SERVO_LDON 		servo_set_port(1<<8)#define SET_SERVO_AGC  		servo_set_port(1<<7)#define SET_SERVO_DATA 		servo_set_port(1<<13)#define SET_SERVO_FWD  		servo_set_port(1<<3)#define SET_SERVO_REV  		servo_set_port(1<<2)#define SET_SERVO_CLOCK 	servo_set_port(1<<14)#define SET_SERVO_SQCK 		servo_set_port(1<<10)/* MACROS TO SET PIN TO '0' */#define CLEAR_SERVO_XRST 	(regs16->Genio_Out &= ~(1<<11))#define CLEAR_SERVO_XLAT 	servo_clear_port(1<<12)#define CLEAR_SERVO_LDON 	servo_clear_port(1<<8)#define CLEAR_SERVO_AGC  	servo_clear_port(1<<7)#define CLEAR_SERVO_DATA 	servo_clear_port(1<<13)#define CLEAR_SERVO_FWD  	servo_clear_port(1<<3)#define CLEAR_SERVO_REV  	servo_clear_port(1<<2)#define CLEAR_SERVO_CLOCK 	servo_clear_port(1<<14)#define CLEAR_SERVO_SQCK  	servo_clear_port(1<<10)#endif/************************************************************************ * Public routines                                                     * ************************************************************************/extern volatile char kickfg;extern unsigned char	SERVO_Qarray_current[]; /* Q subcode array */extern int  stop_flag;	//chuextern volatile short servo_sys_timer;extern volatile char	SERVO_mode;extern volatile int	target_min, target_sec, target_frame;extern bit cd_ab_flag;	/* Wenxin -- indicate CD in AB mode */extern int SERVO_close(void);extern void SERVO_sledin(void);extern void SERVO2545_init(void);extern void SERVO_schedule(void);extern void SERVO_mode_handle();extern void SERVO_send_8X_command(unsigned char soct, int mode);extern void SERVO_send_command(int num, unsigned int data);extern void SERVO_service(void);extern int SERVO_Seek(int min, int sec, int frame);extern void SERVO_delay_n_ms(int n_ms);extern void SERVO_focus();extern void  mp3_servo_service();extern void (*servo_task)();extern unsigned int adjCDtime(); extern void Undo_mute();///******* sony_dsa.c **********/extern  volatile char pause_min,pause_sec,pause_frame; extern  int seek_min,seek_sec,seek_frm;extern  bit jump_flag;

⌨️ 快捷键说明

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