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

📄 ieudef.h

📁 ID/IE系列工业像机 驱动程序开发包SDK-VC库
💻 H
字号:
//IEUDef.h
/*
* Copyright (c) 2006,  
* All rights reserved.
* 
* 文件名称:IEUDef.h
* 文件标识:IEUDef.h
* 摘    要:常量和外部结构定义头文件
*
* 开发环境:Microsoft Win32 SDK, Visual C++ 6.00
* 
* 当前版本:1.8.0.0
* 作    者:何珊
* 完成日期:2007年1月18日
*
* 修改记录:1、HARDWARE结构体中添加相机标识符成员cameraId
*			更新记录1.3.0.0
*			2、在FD_CAMERA_TYPE中增加IE320PLUS变量。何珊,2006-9-18
*			3、新增PARAM_INFO结构体,用来表示相机可调变量的信息。何珊,2006-9-19
*			更新记录1.4.0.0
*			4、FD_CAMERA_TYPE中新增了ID130PLUS成员。何珊,2006-11-11	
*			更新记录1.5.0.0	
*			5、增加了AnalogGain常量数组。何珊,2006-12-5		
*			6、CAM_PARAM枚举常量中新增了ANALOG_GAIN和ADCOFFSET成员。何珊,2006-12-6
*			更新记录1.6.0.0
*			7、增加了FD_TIME_OUT错误码。何珊,2006-12-12
*			更新记录1.7.0.0
*			8、增加了AnalogGain_IE036常量数组。何珊,2006-12-23
*			9、增加了AnalogGain_ID130常量数组。何珊,2006-12-23
*			更新记录1.8.0.0
*			10、增加了FD_CONTROL常量定义。何珊,2007-1-10
*			11、增加了FD_FPN_CONTROL常量。何珊,2007-1-18
*/
//////////////////////////////////////////////////////////////////////
#ifndef _IEUDEF_H
#define _IEUDEF_H

/* extren "C" { */
#ifdef __cplusplus
extern "C" {
#endif

//相机型号标识
typedef enum tagFD_DEVICE_TYPE
{
	UNKNOWN	= 0,								//未知型号设备
	ID320C	= 1,								//FC-1D320C型相机
	ID200C	= 2,								//FC-ID200C型相机
	ID130C	= 3,								//FC-ID130C型相机									
	ID130M	= 4,								//FC-ID130M型相机
	IE130C	= 5,								//FC-IE130C型相机
	IE130M	= 6,								//FC-IE130M型相机
	IE036C	= 7,								//FC-IE036C型相机
	IE036M	= 8,								//FC-IE036M型相机
	ID320PLUS = 9,								//FC-ID320PLUS型相机
	ID130PLUS = 10								//FC-ID130PLUS型相机
}FD_CAMERA_TYPE;

//相机输出图像数据的格式
typedef enum tagFD_DATA_FORMAT
{
	HIGH_8BITS      = 0x10000000,				//输出原10位数据的高8位数据
	MID_8BITS		= 0x10000001,				//输出原10位数据的中8位数据
	LOW_8BITS		= 0x10000002				//输出原10位数据的低8位数据
}FD_DATA_FORMAT;

//相机分辨率
typedef enum tagFD_RESOLUTION
{
	RESOLUTION0		= 0x10000000,				//图像分辨率0,大图像模式
	RESOLUTION1		= 0x10000001				//图像分辨率1,小图像模式
}FD_RESOLUTION;

//输出数据位反转选项
typedef enum tagFD_BIT_INVERSION
{
	BIT_NORMAL			= 0x10000000,			//图像数据正常输出
	BIT_INVERSION		= 0x10000004			//输出反转位图像数据
}FD_BIT_INVERSION;

//相机的GAMMA功能选项
typedef enum tagFD_GAMMA_CORRECTION
{
	GAMMA_DISABLE	= 0x10000000,				//关闭GAMMA校正功能
	GAMMA_ENABLE	= 0x10000002				//使能GAMMA校正功能
}FD_GAMMA_CORRECTION;

//相机的工作模式
typedef enum tagFD_TRIGGER_MODE
{
	FREE_RUN				= 0x00000000,		//连续图像模式
	TRIGGER_SOFTWARE		= 0x03000000,		//触发模式下的软件触发
	TRIGGER_RISING_EDGE		= 0x01000000,		//外触发模式,外部信号上升沿触发
	TRIGGER_FALLING_EDGE	= 0x05000000		//外触发模式,外部信号下升沿触发
}FD_TRIGGER_MODE;

//闪光灯极性
typedef enum tagFD_STROBE_POLARITY
{
	RISING_EDGE_ACTIVE		= 0x00000000,		//闪光灯上升延有效
	FALLING_EDGE_ACTIVE		= 0x08000000		//闪光灯下降延有效
}FD_STROBE_POLARITY;

//控制模式
typedef enum tagFD_CONTROL
{
	USER_CTRL		= 0x00000000,		//用户控制
	AUTO_CTRL		= 0x10000001		//自动控制
}FD_CONTROL;

typedef enum tagFD_FPN_CONTROL
{
	FPN_DISABLE		= 0x00000000,		//不使能
	FPN_ENABLE		= 0x10000001		//使能
}FD_FPN_CONTROL;

//相机硬件信息
typedef struct tagHARDWARE
{
	BYTE cameraType;			//1:相机型号
	BYTE hardwareEdition[3];	//2:4:硬件版本号
	BYTE updateDate[4];			//5:8:硬件程序更新日期,5:6:年(十进制数表示,5:高8位,6:低8位),7:月,8:日
	DWORD cameraId;				//相机标识符
}HARDWARE;

//相机的可调参数信息
typedef struct tagPARAMINFO
{
	float	fMaxValue;			//此参数的最大值
	float	fMinValue;			//此参数的最小值
	float	fScale;				//参数变化单位值
}PARAM_INFO;

//相机参数标识
typedef enum tagCAMPARAM
{
	EXPOSURE_TIME		= 0,	//曝光时间
	GAIN				= 1,	//增益
	BRIGHT				= 2,	//亮度
	RED_GAIN			= 3,	//红增益
	BLUE_GAIN			= 4,	//蓝增益
	STROBE_DELAY		= 5,	//闪光灯延迟
	STROBE_DURATION		= 6,	//闪光灯持续时间
	TRIGGER_DELAY		= 7,	//触发延迟
	ANALOG_GAIN			= 8,	//模拟增益
	ADCOFFSET			= 9		//偏置
}CAM_PARAM;

//IEU消息定义,用于消息处理函数
#define IEU_MSG					(WM_USER+200)
#define MSG_ONE_RSVD			0x2000
#define MSG_ALL_RSVD			0x2001
#define MSG_TIMEOUT				0x2002
#define MSG_ONE_FAILED			0x2003
#define	MSG_TRANS_CANCELLED		0x2004
#define MSG_TRANS_STARTED		0x1000
#define MSG_TRANS_END			0x1001

//数据传输状态标识,用于回调函数
typedef enum tagIEU_TRANS_STATE
{
	TRANS_ONE_RSVD				= 0x2000,				//收到一帧有效的图像数据
	TRANS_TIMEOUT				= 0x2002,				//图像传输超过用户设置的时间限制
	TRANS_ONE_FAILED			= 0x2003				//获取一帧图像失败
}IEU_TRANS_STATE;

//回调函数参数
typedef struct
{
	void					*pDataBuf;					//接收图像数据的缓冲区地址
	DWORD					cbDataBuf;					//缓冲区大小(以字节计)
	long					dwImgRequested;				//用户要求的图像帧数
	long					dwImgTransferred;			//已经传输的图像帧数
	DWORD					dwTimeOutTicks;				//用户设定超时间(毫秒)
	IEU_TRANS_STATE			TransState;					//当前状态
	void					*pParam;					//用户自定义参数指针
}IEU_TRANS_INFO;

//回调函数
typedef int (CALLBACK *IEU_CALLBACK)(IEU_TRANS_INFO* pTransInfo);

//返回值
#define HRESULT					DWORD
#define FD_SUCCESSED			0x2000
#define FD_READY				0x2001
#define FD_UNREADY				0x1031
#define FD_FAILED				0x1000
#define FD_OPEN_FAILED			0x1001
#define FD_START_FAILED			0x1002
#define FD_STOP_FAILED			0X1003
#define FD_INVALID_POINTER		0x1011
#define FD_IMAGE_STOPED			0x1012
#define FD_WRITE_DEVICE_FAILED	0X1013
#define FD_READ_DEVICE_FAILED	0x1014
#define FD_READ_IMAGE_FAILED	0x1015
#define FD_INVALID_IMAGE		0x1016
#define FD_OPEN_FILE_FAILED		0x1017
#define FD_INVALID_HANDLE		0x1018
#define FD_UPDATE_FAILED		0x1019
#define FD_GET_HARDWARE_FAILED	0x1020
#define FD_BAD_PARAM			0x1021
#define FD_BUSYING				0x1028
#define FD_UNINITIALIZED		0x1029
#define FD_CANCEL_FAILED		0x1030
#define	FD_NOT_SUPPORT			0x1031
#define FD_TIME_OUT				0X1032

//IE130M和IE130C相机的模拟增益值
const float AnalogGain[17] =
{
	1.0f,
	1.37f,	1.62f,	1.96f,	2.33f,
	2.76f,	3.50f,	4.25f,	5.20f,
	6.25f,	7.89f,	9.21f,	11.00f,
	11.37f,	11.84f,	12.32f,	12.42f
};

//IE036M和IE036C相机的模拟增益值
const float AnalogGain_IE036[4] =
{
	1.0f,	2.0f,	3.0f,	4.0f
};

//ID130M、ID130C和ID320PLUS相机的模拟增益
//ID320PLUS的模拟增益与ID130系列相同
const float AnalogGain_ID130[4] =
{
	1.0f,	2.0f,	3.0f,	4.0f
};

/* extren "C" { */
#ifdef __cplusplus
}
#endif

#endif

⌨️ 快捷键说明

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