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

📄 dsa.h

📁 C语言编写的监控中心终端程序。基于GPRS上传收发数据功能
💻 H
字号:
#ifndef __DSA_H
#define __DSA_H

/*
 **
 **	DSA commands (parameter in low-byte)
 **
 */

/*
 **	Session-number: # of recording times, starting from 0.
 **	Title-number: track-num, starting from 0 
 */
#define	DSA_PLAY		0x0100		/* parameter: title-number (hex)	*/
#define	DSA_STOP		0x0200
#define	DSA_READ_TOC		0x0300		/* parameter: session-number (hex)	*/
#define	DSA_PAUSE		0x0400
#define	DSA_PAUSE_RELEASE	0x0500
#define	DSA_GET_TITLE_LENGTH	0x0900		/* parameter: track-number (hex)	*/
#define	DSA_OPEN_TRAY		0x0a00
#define	DSA_CLOSE_TRAY		0x0b00
#define	DSA_GET_COMPLETE_TIME	0x0d00
#define	DSA_GOTO_MM		0x1000		/* parameter: absolute min. (hex)	*/
#define	DSA_GOTO_SS		0x1100		/* parameter: absolute sec. (hex)	*/
#define	DSA_GOTO_FF		0x1200		/* parameter: absolute frm. (hex)	*/
#define	DSA_READ_LONG_TOC	0x1400

#define	DSA_SET_MODE		0x1500		/* parameter: mode settings.		*/
#define	DSA_SET1_MODE		0x8000
#define	DSA_SLEDGE_OFF_CMD	0x8100

/*	Play A-time till B-time */
#define	DSA_PLAY_A_MM		0x2000		/* parameter: absolute start min. (hex)	*/
#define	DSA_PLAY_A_SS		0x2100		/* parameter: absolute start sec. (hex)	*/
#define	DSA_PLAY_A_FF		0x2200		/* parameter: absolute start frm. (hex)	*/
#define	DSA_PLAY_B_MM		0x2300		/* parameter: absolute end min. (hex)	*/
#define	DSA_PLAY_B_SS		0x2400		/* parameter: absolute end sec. (hex)	*/
#define	DSA_PLAY_B_FF		0x2500		/* parameter: absolute end frm. (hex) start!	*/

#define	DSA_PLAY_AB_RELEASE	0x2600

#define	DSA_GET_DISC_STATUS	0x5000
#define	DSA_SET_VOLUME		0x5100
#define	DSA_GET_SESSION_INFO	0x5400
#define	DSA_SET_DAC_MODE	0x7000

#define	DSA_SERVICE_CMD		0xF000

/*
 **	CDKIT response (some-low-byte is information)
 */
#define	CDKIT_FOUND		0x0100
#define	CDKIT_STOPPED		0x0200
#define	CDKIT_DISC_STATUS	0x0300		/* 0-no-disc 1-disc-present		*/
#define	CDKIT_ERROR		0x0400		/* # error code				*/
#define	CDKIT_FOCUS_ERR		0x0002		/* focus error				*/
#define	CDKIT_RECOVER_ERR	0x0004		/* servo recover error			*/
#define	CDKIT_MOVING		0x0b00		/* 0-moving-inside 1-moving-outside	*/
#define	CDKIT_OPEN		0x0c00
#define	CDKIT_CLOSE		0x0d00

#define	CDKIT_ACT_TRK		0x1000		/* actual playing time relative		*/
#define	CDKIT_ACT_IDX		0x1100

#define	CDKIT_ACT_MM		0x1200
#define	CDKIT_ACT_SS		0x1300

#define	CDKIT_ABS_MM		0x1400
#define	CDKIT_ABS_SS		0x1500
#define	CDKIT_ABS_FF		0x1600

#define	CDKIT_MODE		0x1700

#define	CDKIT_TOC_MIN_TRK	0x2000
#define	CDKIT_TOC_MAX_TRK	0x2100
#define	CDKIT_TOC_LEADOUT_MM	0x2200
#define	CDKIT_TOC_LEADOUT_SS	0x2300
#define	CDKIT_TOC_LEADOUT_FF	0x2400

#define	CDKIT_AB_RELEASED	0x2600

#define	CDKIT_SESSION_INFO	0x5400		/* # number of sessions (hex)		*/

/*
 **	While reading LONG_TOC, DSA should send from 0x60 to 0x64 in order.
 **	Since DSA interface malfunction mostly, we try to compensate this.
 **/
#define	CDKIT_LONG_TOC_TRK		0x6000		/* TOC TRKNO	*/
#define	CDKIT_LONG_TOC_CnA		0x6100		/* TOC CnA	*/
#define	CDKIT_LONG_TOC_MM		0x6200		/* TOC MM	*/
#define	CDKIT_LONG_TOC_SS		0x6300		/* TOC SS	*/
#define	CDKIT_LONG_TOC_FF		0x6400		/* TOC FF	*/

/*
#define	CNA_MASK_TYPE		0x00d0
*/
#define	CNA_MASK_COPYABLE	0x0020

#define	CNA_AUDIO_2CHANNEL		0x00
#define	CNA_AUDIO_2CHANNEL_PREEMP	0x80
#define	CNA_AUDIO_4CHANNEL		0x10
#define	CNA_AUDIO_4CHANNEL_PREEMP	0x90
#define	CNA_DATA			0x40

/*
 **
 */
#define	CDKIT_DAC_MODE		0x7000

#define	CDKIT_SERVO_VERSION	0xf000

/*
**	For DSA_SET_MODE set-mode-command
*/
#define	CDDA_SPEED_1x		0x01
#define	CDDA_SPEED_2x		0x02
#define	CDDA_SPEED_4x		0x04		/* um? */

#define	CDDA_CDROM		(0x01 << 3)
#define	CDDA_AUDIO		(0x00 << 3)

#define	CDDA_ATTI_none		(0x00 << 4)
#define	CDDA_ATTI_abs		(0x01 << 4)
#define	CDDA_ATTI_rel		(0x02 << 4)

#define	CDDAC_I2S_FS		0x01
#define	CDDAC_I2S_2FS		0x02
#define	CDDAC_I2S_4FS		0x03
#define	CDDAC_SONY_16_FS	0x04
#define	CDDAC_SONY_16_2FS	0x05
#define	CDDAC_SONY_16_4FS	0x06
#define	CDDAC_SONY_18_FS	0x07
#define	CDDAC_SONY_18_2FS	0x08
#define	CDDAC_SONY_18_4FS	0x09

/*
 **	For CDKIT_ERROR cdkit error message
 */
#define	CDKIT_ERR_NONE			0
#define	CDKIT_ERR_FOCUS			2
#define	CDKIT_ERR_SUBCODE		7
#define	CDKIT_ERR_TOC			8
#define	CDKIT_ERR_RADIAL		0x0a
#define	CDKIT_ERR_SLEDGE		0x0c
#define	CDKIT_ERR_MOTOR			0x0d
#define	CDKIT_ERR_SEARCH_TIMEOUT	0x1f
#define	CDKIT_ERR_SEARCH_BINARY		0x20
#define	CDKIT_ERR_SEARCH_INDEX		0x21
#define	CDKIT_ERR_SEARCH_TIME		0x22
#define	CDKIT_ERR_ILLEGAL_COMMAND	0x28
#define	CDKIT_ERR_ILLEGAL_VALUE		0x29
#define	CDKIT_ERR_ILLEGAL_TIME		0x2a
#define	CDKIT_ERR_COMMUNICATION		0x2b
#define	CDKIT_ERR_TRAY			0x2c
#define	CDKIT_ERR_HF_DETECTOR		0x2d

#define	DSA_SET_MODE_DEFAULT_1x		(DSA_SET_MODE | CDDA_SPEED_1x | CDDA_CDROM | CDDA_ATTI_abs)
#define	DSA_SET_MODE_DEFAULT_2x		(DSA_SET_MODE | CDDA_SPEED_2x | CDDA_CDROM | CDDA_ATTI_abs)
#define	DSA_SET_MODE_DEFAULT_4x		(DSA_SET_MODE | CDDA_SPEED_4x | CDDA_CDROM | CDDA_ATTI_abs)
#define	DSA_SET_MODE_DEFAULT		DSA_SET_MODE_DEFAULT_1x
#define	DSA_SET_MODE_DEFAULT_LO		DSA_SET_MODE_DEFAULT_1x
#define	DSA_SET_MODE_DEFAULT_HI		DSA_SET_MODE_DEFAULT_4x

/*
 **	Functions.
 */
void			dsaSendCommand(UINT32 cmd);
int			reset_dsa(void);
int			polling_dsar(int);
int			polling_dsat(int);

#endif	__DSA_H

⌨️ 快捷键说明

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