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

📄 dm642.h

📁 dm642的相关驱动程序
💻 H
字号:
#ifndef _DM642_H
#define _DM642_H

#define Design_For_GDW
//#define Design_For_101
//#define Design_For_104

#define IOCTL_BOOTDM642			0
#define IOCTL_START					1
#define IOCTL_STOP					2
#define IOCTL_RESET					3
#define IOCTL_GET					4
#define IOCTL_INSERT_IFRAME		5
#define IOCTL_STOP_STATUS			6
#define IOCTL_DSP_STOP				7
#define IOCTL_DSP_STOP_STATUS		8

#define IOCTL_SetVideoParams		10
#define IOCTL_GetVideoParams		11
#define IOCTL_SetCompressParams	12
#define IOCTL_GetCompressParams	13
#define IOCTL_GetSTANDARD			15	//return 0 no; 1 ntsc; 2 pal;
#define IOCTL_SetSTANDARD			16	//0 no; 1 ntsc; 2 pal;

#define IOCTL_SetOSDParams			20
#define IOCTL_GetOSDParams			21
#define IOCTL_SetDSPCLOCK			22
#define IOCTL_SetOSDContral			23
#define IOCTL_GetOSDContral			24
#define IOCTL_SetLOGO				25

#define IOCTL_SetRTC					50
#define IOCTL_GetRTC				51
#define IOCTL_SetMAC				52
#define IOCTL_GetMAC				53
#define IOCTL_SetSer					54
#define IOCTL_GetSer					55
#define IOCTL_SetLed					56

#define IOCTL_UpData				60
#define IOCTL_Version				61

#define IOCTL_Flash					70

#ifdef Design_For_GDW
#define IOCTL_UserData				80
#define IOCTL_Pass					81
#define IOCTL_WatchDog				82
#define IOCTL_SendSerial				83
#define IOCTL_RecieveUserData		84
#define IOCTL_RecieveSerial			85
#endif

struct ioctl_get_data {
	unsigned long channel;//0~3
	unsigned long * buf;
	unsigned long size;
	unsigned long flag;
};

struct ioctl_set_videoparams {
	unsigned long channel;//0~3
	unsigned long brightness;//0~255 default:128
	unsigned long contrast;//0~255 default:196
	unsigned long saturation;//0~255 default:192
	unsigned long hue;//0~255 default:128
	unsigned long gain;//0~300 default:100
	unsigned long time_explosure;// 1~100 default:10
	unsigned long gain_redpel;//0~63 default:45
	unsigned long gain_greenpela;//0~63 default:45
	unsigned long gain_greenpelb;//0~63 default:45
	unsigned long gain_bluepel;//0~63 default:45
	unsigned long work_mode;//D8(1自动白平衡,0手动白平衡)D0(1AGC开,0AGC关)
	unsigned long agc_balance;//0--80
	unsigned long aperture;//0--255
};

struct ioctl_get_videoparams {
	unsigned long channel;//0~3
	unsigned long brightness;//0~255 default:128
	unsigned long contrast;//0~255 default:196
	unsigned long saturation;//0~255 default:192
	unsigned long hue;//0~255 default:128
	unsigned long gain;//0~300 default:100
	unsigned long time_explosure;// 1~100 default:10
	unsigned long gain_redpel;//0~63 default:45
	unsigned long gain_greenpela;//0~63 default:45
	unsigned long gain_greenpelb;//0~63 default:45
	unsigned long gain_bluepel;//0~63 default:45
	unsigned long work_mode;//D8(1自动白平衡,0手动白平衡)D0(1AGC开,0AGC关)
	unsigned long agc_balance;//0--80
	unsigned long aperture;//0--255
};

struct ioctl_set_compressparams {
	unsigned long channel;//0~3
	unsigned long I_QUANT;// 1~31
	unsigned long P_QUANT;// 1~31
	unsigned long I_RATE;
	unsigned long FRAME_ON;
	unsigned long FRAME_OFF;
	unsigned long SIZEX;
};

struct ioctl_get_compressparams {
	unsigned long channel;//0~3
	unsigned long I_QUANT;// 1~31
	unsigned long P_QUANT;// 1~31
	unsigned long I_RATE;
	unsigned long FRAME_ON;
	unsigned long FRAME_OFF;
	unsigned long SIZEX;//352 or 528 or 704
};

struct ioctl_set_osdparams {
	unsigned long channel;//0~3
	unsigned long MASK_RGN_X_Y;
	unsigned long MASK_RGN_WIDTH_HEIGHT;
	unsigned long LOGO_RGN_X_Y;
	unsigned long LOGO_RGN_WIDTH_HEIGHT;
	unsigned long LINE0_STARTX;
	unsigned long LINE0_STARTY;
	unsigned long LINE0_TYPE;
	unsigned long LINE0_CHARS;
	unsigned long LINE0_CLOCK_POS;
	unsigned long LINE1_STARTX;
	unsigned long LINE1_STARTY;
	unsigned long LINE1_CHARS;
	unsigned long HOST_CLOCK_SECS;
	unsigned long CLOCK_MODIFY;// 1:modify 0:unmodify
	unsigned long LINE_BUF[32];
	unsigned long MODIFY_FLAG;//0x00 osd logo mask (1:modify 0:unmodify)
};

struct ioctl_get_osdparams {
	unsigned long channel;//0~3
	unsigned long MASK_RGN_X_Y;
	unsigned long MASK_RGN_WIDTH_HEIGHT;
	unsigned long LOGO_RGN_X_Y;
	unsigned long LOGO_RGN_WIDTH_HEIGHT;
	unsigned long LINE0_STARTX;
	unsigned long LINE0_STARTY;
	unsigned long LINE0_TYPE;
	unsigned long LINE0_CHARS;
	unsigned long LINE0_CLOCK_POS;
	unsigned long LINE1_STARTX;
	unsigned long LINE1_STARTY;
	unsigned long LINE1_CHARS;
//	unsigned long HOST_CLOCK_SECS;
//	unsigned long CLOCK_MODIFY;// 1:modify 0:unmodify
	unsigned long LINE_BUF[32];
//	unsigned long MODIFY_FLAG;//0x00 osd logo mask (1:modify 0:unmodify)
};

struct ioctl_set_dsp_clock {
	unsigned long channel;//0~3
	unsigned long HOST_CLOCK_SECS;
};

struct ioctl_set_osdcontral {
	unsigned long channel;//0~3
	unsigned long contral_flag;//0x00 osd logo mask (1:open 0:close)
};

struct ioctl_get_osdcontral {
	unsigned long channel;//0~3
	unsigned long contral_flag;//0x00 osd logo mask (1:open 0:close)
};

struct ioctl_set_logo {
	unsigned long channel;//0~3
	unsigned long * buf;
	unsigned long size;//32k
};

struct ioctl_set_rtc {
	unsigned char second;//0~59
	unsigned char minute;//0~59
	unsigned char hour;//0~23
	unsigned char day;// 1~31
	unsigned char week;// 1~7
	unsigned char month;// 1~12
	unsigned char year;//0~99
	unsigned char reserve;
};

struct ioctl_get_rtc {
	unsigned char second;//0~59
	unsigned char minute;//0~59
	unsigned char hour;//0~23
	unsigned char day;// 1~31
	unsigned char week;// 1~7
	unsigned char month;// 1~12
	unsigned char year;//0~99
	unsigned char reserve;
};

struct ioctl_set_mac {
	unsigned char mac[6];
	unsigned short reserve;
};

struct ioctl_get_mac {
	unsigned char mac[6];
	unsigned short reserve;
};

struct ioctl_set_ser {
	unsigned long ser[4];
};

struct ioctl_get_ser {
	unsigned long ser[4];
};

struct ioctl_updata {
	unsigned long * buf;
	unsigned long size;
};
#endif

⌨️ 快捷键说明

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