|
#ifndef _MV_CAMERA_PARAMS_H_
|
#define _MV_CAMERA_PARAMS_H_
|
|
#include "PixelType.h"
|
|
// É豸ÀàÐͶ¨Òå
|
#define MV_UNKNOW_DEVICE 0x00000000 // δ֪É豸ÀàÐÍ£¬±£ÁôÒâÒå
|
#define MV_GIGE_DEVICE 0x00000001 // GigEÉ豸
|
#define MV_1394_DEVICE 0x00000002 // 1394-a/b É豸
|
#define MV_USB_DEVICE 0x00000004 // USB3.0 É豸
|
#define MV_CAMERALINK_DEVICE 0x00000008 // CameraLinkÉ豸
|
|
typedef struct _MV_GIGE_DEVICE_INFO_
|
{
|
unsigned int nIpCfgOption;
|
unsigned int nIpCfgCurrent; //IP configuration:bit31-static bit30-dhcp bit29-lla
|
unsigned int nCurrentIp; //curtent ip
|
unsigned int nCurrentSubNetMask; //curtent subnet mask
|
unsigned int nDefultGateWay; //current gateway
|
unsigned char chManufacturerName[32];
|
unsigned char chModelName[32];
|
unsigned char chDeviceVersion[32];
|
unsigned char chManufacturerSpecificInfo[48];
|
unsigned char chSerialNumber[16];
|
unsigned char chUserDefinedName[16];
|
|
unsigned int nNetExport; // Íø¿ÚIPµØÖ·
|
|
unsigned int nReserved[4];
|
|
}MV_GIGE_DEVICE_INFO;
|
|
#define INFO_MAX_BUFFER_SIZE 64
|
typedef struct _MV_USB3_DEVICE_INFO_
|
{
|
unsigned char CrtlInEndPoint; //¿ØÖÆÊäÈë¶Ëµã
|
unsigned char CrtlOutEndPoint; //¿ØÖÆÊä³ö¶Ëµã
|
unsigned char StreamEndPoint; //Á÷¶Ëµã
|
unsigned char EventEndPoint; //ʼþ¶Ëµã
|
unsigned short idVendor; //¹©Ó¦ÉÌIDºÅ
|
unsigned short idProduct; //²úÆ·IDºÅ
|
unsigned int nDeviceNumber; //É豸ÐòÁкÅ
|
unsigned char chDeviceGUID[INFO_MAX_BUFFER_SIZE]; //É豸GUIDºÅ
|
unsigned char chVendorName[INFO_MAX_BUFFER_SIZE]; //¹©Ó¦ÉÌÃû×Ö
|
unsigned char chModelName[INFO_MAX_BUFFER_SIZE]; //ÐͺÅÃû×Ö
|
unsigned char chFamilyName[INFO_MAX_BUFFER_SIZE]; //¼Ò×åÃû×Ö
|
unsigned char chDeviceVersion[INFO_MAX_BUFFER_SIZE]; //É豸°æ±¾ºÅ
|
unsigned char chManufacturerName[INFO_MAX_BUFFER_SIZE]; //ÖÆÔìÉÌÃû×Ö
|
unsigned char chSerialNumber[INFO_MAX_BUFFER_SIZE]; //ÐòÁкÅ
|
unsigned char chUserDefinedName[INFO_MAX_BUFFER_SIZE]; //Óû§×Ô¶¨ÒåÃû×Ö
|
unsigned int nbcdUSB; //Ö§³ÖµÄUSBÐÒé
|
unsigned int nReserved[3]; //±£Áô×Ö½Ú
|
}MV_USB3_DEVICE_INFO;
|
|
// É豸ÐÅÏ¢
|
typedef struct _MV_CC_DEVICE_INFO_
|
{
|
// common info
|
unsigned short nMajorVer;
|
unsigned short nMinorVer;
|
unsigned int nMacAddrHigh; // MAC µØÖ·
|
unsigned int nMacAddrLow;
|
|
unsigned int nTLayerType; // É豸´«Êä²ãÐÒéÀàÐÍ£¬e.g. MV_GIGE_DEVICE
|
|
unsigned int nReserved[4];
|
|
union
|
{
|
MV_GIGE_DEVICE_INFO stGigEInfo;
|
MV_USB3_DEVICE_INFO stUsb3VInfo;
|
// more ...
|
}SpecialInfo;
|
|
}MV_CC_DEVICE_INFO;
|
|
// ÍøÂç´«ÊäµÄÏà¹ØÐÅÏ¢
|
typedef struct _MV_NETTRANS_INFO_
|
{
|
int64_t nReviceDataSize; // ÒѽÓÊÕÊý¾Ý´óС [ͳ¼ÆStartGrabbingºÍStopGrabbingÖ®¼äµÄÊý¾ÝÁ¿]
|
int nThrowFrameCount; // ¶ªÖ¡ÊýÁ¿
|
unsigned int nReserved[5];
|
|
}MV_NETTRANS_INFO;
|
|
|
// ×î¶àÖ§³ÖµÄ´«Êä²ãʵÀý¸öÊý
|
#define MV_MAX_TLS_NUM 8
|
// ×î´óÖ§³ÖµÄÉ豸¸öÊý
|
#define MV_MAX_DEVICE_NUM 256
|
|
// É豸ÐÅÏ¢Áбí
|
typedef struct _MV_CC_DEVICE_INFO_LIST_
|
{
|
unsigned int nDeviceNum; // ÔÚÏßÉ豸ÊýÁ¿
|
MV_CC_DEVICE_INFO* pDeviceInfo[MV_MAX_DEVICE_NUM]; // Ö§³Ö×î¶à256¸öÉ豸
|
|
}MV_CC_DEVICE_INFO_LIST;
|
|
|
// Êä³öÖ¡µÄÐÅÏ¢
|
typedef struct _MV_FRAME_OUT_INFO_
|
{
|
unsigned short nWidth; // ͼÏñ¿í
|
unsigned short nHeight; // ͼÏñ¸ß
|
enum MvGvspPixelType enPixelType; // ÏñËظñʽ
|
|
/*ÒÔÏÂ×Ö¶ÎÔݲ»Ö§³Ö*/
|
unsigned int nFrameNum; // Ö¡ºÅ
|
unsigned int nDevTimeStampHigh; // ʱ¼ä´Á¸ß32λ
|
unsigned int nDevTimeStampLow; // ʱ¼ä´ÁµÍ32λ
|
unsigned int nReserved0; // ±£Áô£¬8×Ö½Ú¶ÔÆë
|
int64_t nHostTimeStamp; // Ö÷»úÉú³ÉµÄʱ¼ä´Á
|
|
unsigned int nFrameLen;
|
|
unsigned int nLostPacket; // ±¾Ö¡¶ª°üÊý
|
unsigned int nReserved[2];
|
}MV_FRAME_OUT_INFO;
|
|
// Êä³öÖ¡µÄÐÅÏ¢
|
typedef struct _MV_FRAME_OUT_INFO_EX_
|
{
|
unsigned short nWidth; // ͼÏñ¿í
|
unsigned short nHeight; // ͼÏñ¸ß
|
enum MvGvspPixelType enPixelType; // ÏñËظñʽ
|
|
/*ÒÔÏÂ×Ö¶ÎÔݲ»Ö§³Ö*/
|
unsigned int nFrameNum; // Ö¡ºÅ
|
unsigned int nDevTimeStampHigh; // ʱ¼ä´Á¸ß32λ
|
unsigned int nDevTimeStampLow; // ʱ¼ä´ÁµÍ32λ
|
unsigned int nReserved0; // ±£Áô£¬8×Ö½Ú¶ÔÆë
|
int64_t nHostTimeStamp; // Ö÷»úÉú³ÉµÄʱ¼ä´Á
|
|
unsigned int nFrameLen;
|
|
// ÒÔÏÂΪchunkÐÂÔöˮӡÐÅÏ¢
|
// É豸ˮӡʱ±ê
|
unsigned int nSecondCount;
|
unsigned int nCycleCount;
|
unsigned int nCycleOffset;
|
|
float fGain;
|
float fExposureTime;
|
unsigned int nAverageBrightness; //ƽ¾ùÁÁ¶È
|
|
// °×ƽºâÏà¹Ø
|
unsigned int nRed;
|
unsigned int nGreen;
|
unsigned int nBlue;
|
|
unsigned int nFrameCounter;
|
unsigned int nTriggerIndex; //´¥·¢¼ÆÊý
|
|
//Line ÊäÈë/Êä³ö
|
unsigned int nInput; //ÊäÈë
|
unsigned int nOutput; //Êä³ö
|
|
// ROIÇøÓò
|
unsigned short nOffsetX;
|
unsigned short nOffsetY;
|
unsigned short nChunkWidth;
|
unsigned short nChunkHeight;
|
|
unsigned int nLostPacket; // ±¾Ö¡¶ª°üÊý
|
|
unsigned int nReserved[39]; // ±£Áô
|
}MV_FRAME_OUT_INFO_EX;
|
|
typedef struct _MV_DISPLAY_FRAME_INFO_
|
{
|
void* hWnd;
|
unsigned char* pData;
|
unsigned int nDataLen;
|
unsigned short nWidth; // ͼÏñ¿í
|
unsigned short nHeight; // ͼÏñ¸ß
|
enum MvGvspPixelType enPixelType; // ÏñËظñʽ
|
unsigned int nRes[4];
|
|
}MV_DISPLAY_FRAME_INFO;
|
|
// ±£´æͼƬ¸ñʽ
|
enum MV_SAVE_IAMGE_TYPE
|
{
|
MV_Image_Undefined = 0,
|
MV_Image_Bmp = 1,
|
MV_Image_Jpeg = 2,
|
MV_Image_Png = 3, //²»Ö§³Ö
|
MV_Image_Tif = 4, //²»Ö§³Ö
|
};
|
// ±£´æͼƬ²ÎÊý
|
typedef struct _MV_SAVE_IMAGE_PARAM_T_
|
{
|
unsigned char* pData; // [IN] ÊäÈëÊý¾Ý»º´æ
|
unsigned int nDataLen; // [IN] ÊäÈëÊý¾Ý´óС
|
enum MvGvspPixelType enPixelType; // [IN] ÊäÈëÊý¾ÝµÄÏñËظñʽ
|
unsigned short nWidth; // [IN] ͼÏñ¿í
|
unsigned short nHeight; // [IN] ͼÏñ¸ß
|
|
unsigned char* pImageBuffer; // [OUT] Êä³öͼƬ»º´æ
|
unsigned int nImageLen; // [OUT] Êä³öͼƬ´óС
|
unsigned int nBufferSize; // [IN] ÌṩµÄÊä³ö»º³åÇø´óС
|
enum MV_SAVE_IAMGE_TYPE enImageType; // [IN] Êä³öͼƬ¸ñʽ
|
|
}MV_SAVE_IMAGE_PARAM;
|
|
// ͼƬ±£´æ²ÎÊý
|
typedef struct _MV_SAVE_IMAGE_PARAM_T_EX_
|
{
|
unsigned char* pData; // [IN] ÊäÈëÊý¾Ý»º´æ
|
unsigned int nDataLen; // [IN] ÊäÈëÊý¾Ý´óС
|
enum MvGvspPixelType enPixelType; // [IN] ÊäÈëÊý¾ÝµÄÏñËظñʽ
|
unsigned short nWidth; // [IN] ͼÏñ¿í
|
unsigned short nHeight; // [IN] ͼÏñ¸ß
|
|
unsigned char* pImageBuffer; // [OUT] Êä³öͼƬ»º´æ
|
unsigned int nImageLen; // [OUT] Êä³öͼƬ´óС
|
unsigned int nBufferSize; // [IN] ÌṩµÄÊä³ö»º³åÇø´óС
|
enum MV_SAVE_IAMGE_TYPE enImageType; // [IN] Êä³öͼƬ¸ñʽ
|
unsigned int nJpgQuality; // [IN] ±àÂëÖÊÁ¿, (50-99]
|
|
// [IN] Bayer¸ñʽתΪRGB24µÄ²åÖµ·½·¨ 0-×î½üÁÚ 1-Ë«ÏßÐÔ 2-Hamilton
|
unsigned int iMethodValue;
|
unsigned int nReserved[3];
|
|
}MV_SAVE_IMAGE_PARAM_EX;
|
|
// ͼÏñת»»½á¹¹Ìå
|
typedef struct _MV_PIXEL_CONVERT_PARAM_T_
|
{
|
unsigned short nWidth; // [IN] ͼÏñ¿í
|
unsigned short nHeight; // [IN] ͼÏñ¸ß
|
|
enum MvGvspPixelType enSrcPixelType; // [IN] Ô´ÏñËظñʽ
|
unsigned char* pSrcData; // [IN] ÊäÈëÊý¾Ý»º´æ
|
unsigned int nSrcDataLen; // [IN] ÊäÈëÊý¾Ý´óС
|
|
enum MvGvspPixelType enDstPixelType; // [IN] Ä¿±êÏñËظñʽ
|
unsigned char* pDstBuffer; // [OUT] Êä³öÊý¾Ý»º´æ
|
unsigned int nDstLen; // [OUT] Êä³öÊý¾Ý´óС
|
unsigned int nDstBufferSize; // [IN] ÌṩµÄÊä³ö»º³åÇø´óС
|
unsigned int nRes[4];
|
}MV_CC_PIXEL_CONVERT_PARAM;
|
|
|
|
// ²É¼¯Ä£Ê½
|
typedef enum _MV_CAM_ACQUISITION_MODE_
|
{
|
MV_ACQ_MODE_SINGLE = 0, // µ¥Ö¡Ä£Ê½
|
MV_ACQ_MODE_MUTLI = 1, // ¶à֡ģʽ
|
MV_ACQ_MODE_CONTINUOUS = 2, // ³ÖÐø²É¼¯Ä£Ê½
|
|
}MV_CAM_ACQUISITION_MODE;
|
|
// ÔöÒæģʽ
|
typedef enum _MV_CAM_GAIN_MODE_
|
{
|
MV_GAIN_MODE_OFF = 0, // ¹Ø±Õ
|
MV_GAIN_MODE_ONCE = 1, // Ò»´Î
|
MV_GAIN_MODE_CONTINUOUS = 2, // Á¬Ðø
|
|
}MV_CAM_GAIN_MODE;
|
|
// Æعâģʽ
|
typedef enum _MV_CAM_EXPOSURE_MODE_
|
{
|
MV_EXPOSURE_MODE_TIMED = 0, // Timed
|
MV_EXPOSURE_MODE_TRIGGER_WIDTH = 1, // TriggerWidth
|
}MV_CAM_EXPOSURE_MODE;
|
|
// ×Ô¶¯Æعâģʽ
|
typedef enum _MV_CAM_EXPOSURE_AUTO_MODE_
|
{
|
MV_EXPOSURE_AUTO_MODE_OFF = 0, // ¹Ø±Õ
|
MV_EXPOSURE_AUTO_MODE_ONCE = 1, // Ò»´Î
|
MV_EXPOSURE_AUTO_MODE_CONTINUOUS = 2, // Á¬Ðø
|
|
}MV_CAM_EXPOSURE_AUTO_MODE;
|
|
typedef enum _MV_CAM_TRIGGER_MODE_
|
{
|
MV_TRIGGER_MODE_OFF = 0, // ¹Ø±Õ
|
MV_TRIGGER_MODE_ON = 1, // ´ò¿ª
|
|
}MV_CAM_TRIGGER_MODE;
|
|
typedef enum _MV_CAM_GAMMA_SELECTOR_
|
{
|
MV_GAMMA_SELECTOR_USER = 1,
|
MV_GAMMA_SELECTOR_SRGB = 2,
|
|
}MV_CAM_GAMMA_SELECTOR;
|
|
typedef enum _MV_CAM_BALANCEWHITE_AUTO_
|
{
|
MV_BALANCEWHITE_AUTO_OFF = 0,
|
MV_BALANCEWHITE_AUTO_ONCE = 2,
|
MV_BALANCEWHITE_AUTO_CONTINUOUS = 1, // Á¬Ðø
|
|
}MV_CAM_BALANCEWHITE_AUTO;
|
|
typedef enum _MV_CAM_TRIGGER_SOURCE_
|
{
|
MV_TRIGGER_SOURCE_LINE0 = 0,
|
MV_TRIGGER_SOURCE_LINE1 = 1,
|
MV_TRIGGER_SOURCE_LINE2 = 2,
|
MV_TRIGGER_SOURCE_LINE3 = 3,
|
MV_TRIGGER_SOURCE_COUNTER0 = 4,
|
|
MV_TRIGGER_SOURCE_SOFTWARE = 7,
|
MV_TRIGGER_SOURCE_FrequencyConverter= 8,
|
|
}MV_CAM_TRIGGER_SOURCE;
|
|
|
// GigEVision IP Configuration
|
#define MV_IP_CFG_STATIC 0x05000000
|
#define MV_IP_CFG_DHCP 0x06000000
|
#define MV_IP_CFG_LLA 0x04000000
|
|
// GigEVision Net Transfer Mode
|
#define MV_NET_TRANS_DRIVER 0x00000001
|
#define MV_NET_TRANS_SOCKET 0x00000002
|
|
|
// ÐÅÏ¢ÀàÐÍ
|
#define MV_MATCH_TYPE_NET_DETECT 0x00000001 // ÍøÂçÁ÷Á¿ºÍ¶ª°üÐÅÏ¢
|
#define MV_MATCH_TYPE_USB_DETECT 0x00000002 // host½ÓÊÕµ½À´×ÔU3VÉ豸µÄ×Ö½Ú×ÜÊý
|
|
|
// ij¸ö½Úµã¶ÔÓ¦µÄ×Ó½Úµã¸öÊý×î´óÖµ
|
#define MV_MAX_XML_NODE_NUM_C 128
|
|
// ½ÚµãÃû³Æ×Ö·û´®×î´ó³¤¶È
|
#define MV_MAX_XML_NODE_STRLEN_C 64
|
|
//½ÚµãStringÖµ×î´ó³¤¶È
|
#define MV_MAX_XML_STRVALUE_STRLEN_C 64
|
|
// ½ÚµãÃèÊö×Ö¶Î×î´ó³¤¶È
|
#define MV_MAX_XML_DISC_STRLEN_C 512
|
|
// ×î¶àµÄµ¥ÔªÊý
|
#define MV_MAX_XML_ENTRY_NUM 10
|
|
// ¸¸½Úµã¸öÊýÉÏÏÞ
|
#define MV_MAX_XML_PARENTS_NUM 8
|
|
//ÿ¸öÒѾʵÏÖµ¥ÔªµÄÃû³Æ³¤¶È
|
#define MV_MAX_XML_SYMBOLIC_STRLEN_C 64
|
|
#define MV_MAX_XML_SYMBOLIC_NUM 64
|
|
//ÖØ·¢°üĬÈÏ×î´ó°üÊýÁ¿
|
|
// È«Æ¥ÅäµÄÒ»ÖÖÐÅÏ¢½á¹¹Ìå
|
typedef struct _MV_ALL_MATCH_INFO_
|
{
|
unsigned int nType; // ÐèÒªÊä³öµÄÐÅÏ¢ÀàÐÍ£¬e.g. MV_MATCH_TYPE_NET_DETECT
|
void* pInfo; // Êä³öµÄÐÅÏ¢»º´æ£¬Óɵ÷ÓÃÕß·ÖÅä
|
unsigned int nInfoSize; // ÐÅÏ¢»º´æµÄ´óС
|
|
}MV_ALL_MATCH_INFO;
|
|
// ÍøÂçÁ÷Á¿ºÍ¶ª°üÐÅÏ¢·´À¡½á¹¹Ì壬¶ÔÓ¦ÀàÐÍΪ MV_MATCH_TYPE_NET_DETECT
|
typedef struct _MV_MATCH_INFO_NET_DETECT_
|
{
|
int64_t nReviceDataSize; // ÒѽÓÊÕÊý¾Ý´óС [ͳ¼ÆStartGrabbingºÍStopGrabbingÖ®¼äµÄÊý¾ÝÁ¿]
|
int64_t nLostPacketCount; // ¶ªÊ§µÄ°üÊýÁ¿
|
unsigned int nLostFrameCount; // ¶ªÖ¡ÊýÁ¿
|
unsigned int nReserved[5]; // ±£Áô
|
}MV_MATCH_INFO_NET_DETECT;
|
|
// hostÊÕµ½´Óu3vÉ豸¶ËµÄ×Ü×Ö½ÚÊý£¬¶ÔÓ¦ÀàÐÍΪ MV_MATCH_TYPE_USB_DETECT
|
typedef struct _MV_MATCH_INFO_USB_DETECT_
|
{
|
int64_t nReviceDataSize; // ÒѽÓÊÕÊý¾Ý´óС [ͳ¼ÆOpenDevicceºÍCloseDeviceÖ®¼äµÄÊý¾ÝÁ¿]
|
unsigned int nRevicedFrameCount; // ÒÑÊÕµ½µÄÖ¡Êý
|
unsigned int nErrorFrameCount; // ´íÎóÖ¡Êý
|
unsigned int nReserved[2]; // ±£Áô
|
}MV_MATCH_INFO_USB_DETECT;
|
|
typedef struct _MV_IMAGE_BASIC_INFO_
|
{
|
// width
|
unsigned short nWidthValue;
|
unsigned short nWidthMin;
|
unsigned int nWidthMax;
|
unsigned int nWidthInc;
|
|
// height
|
unsigned int nHeightValue;
|
unsigned int nHeightMin;
|
unsigned int nHeightMax;
|
unsigned int nHeightInc;
|
|
// framerate
|
float fFrameRateValue;
|
float fFrameRateMin;
|
float fFrameRateMax;
|
|
// ÏñËظñʽ
|
unsigned int enPixelType; // µ±Ç°µÄÏñËظñʽ
|
unsigned int nSupportedPixelFmtNum; // Ö§³ÖµÄÏñËظñʽÖÖÀà
|
unsigned int enPixelList[MV_MAX_XML_SYMBOLIC_NUM];
|
unsigned int nReserved[8];
|
|
}MV_IMAGE_BASIC_INFO;
|
|
// Òì³£ÏûÏ¢ÀàÐÍ
|
#define MV_EXCEPTION_DEV_DISCONNECT 0x00008001 // É豸¶Ï¿ªÁ¬½Ó
|
#define MV_EXCEPTION_VERSION_CHECK 0x00008002 // SDKÓëÇý¶¯°æ±¾²»Æ¥Åä
|
|
|
// É豸µÄ·ÃÎÊģʽ
|
// ¶ÀռȨÏÞ£¬ÆäËûAPPÖ»ÔÊÐí¶ÁCCP¼Ä´æÆ÷
|
#define MV_ACCESS_Exclusive 1
|
// ¿ÉÒÔ´Ó5ģʽÏÂÇÀռȨÏÞ£¬È»ºóÒÔ¶ÀռȨÏÞ´ò¿ª
|
#define MV_ACCESS_ExclusiveWithSwitch 2
|
// ¿ØÖÆȨÏÞ£¬ÆäËûAPPÔÊÐí¶ÁËùÓмĴæÆ÷
|
#define MV_ACCESS_Control 3
|
// ¿ÉÒÔ´Ó5µÄģʽÏÂÇÀռȨÏÞ£¬È»ºóÒÔ¿ØÖÆȨÏÞ´ò¿ª
|
#define MV_ACCESS_ControlWithSwitch 4
|
// ÒԿɱ»ÇÀÕ¼µÄ¿ØÖÆȨÏÞ´ò¿ª
|
#define MV_ACCESS_ControlSwitchEnable 5
|
// ¿ÉÒÔ´Ó5µÄģʽÏÂÇÀռȨÏÞ£¬È»ºóÒԿɱ»ÇÀÕ¼µÄ¿ØÖÆȨÏÞ´ò¿ª
|
#define MV_ACCESS_ControlSwitchEnableWithKey 6
|
// ¶Áģʽ´ò¿ªÉ豸£¬ÊÊÓÃÓÚ¿ØÖÆȨÏÞÏÂ
|
#define MV_ACCESS_Monitor 7
|
|
|
/************************************************************************/
|
/* ·â×°ÁËGenICamµÄC½Ó¿ÚÏà¹Ø²ÎÊý¶¨Òå */
|
/************************************************************************/
|
|
// ÿ¸ö½Úµã¶ÔÓ¦µÄ½Ó¿ÚÀàÐÍ
|
enum MV_XML_InterfaceType
|
{
|
IFT_IValue, //!> IValue interface
|
IFT_IBase, //!> IBase interface
|
IFT_IInteger, //!> IInteger interface
|
IFT_IBoolean, //!> IBoolean interface
|
IFT_ICommand, //!> ICommand interface
|
IFT_IFloat, //!> IFloat interface
|
IFT_IString, //!> IString interface
|
IFT_IRegister, //!> IRegister interface
|
IFT_ICategory, //!> ICategory interface
|
IFT_IEnumeration, //!> IEnumeration interface
|
IFT_IEnumEntry, //!> IEnumEntry interface
|
IFT_IPort, //!> IPort interface
|
};
|
|
// ½ÚµãµÄ·ÃÎÊģʽ
|
enum MV_XML_AccessMode
|
{
|
AM_NI, //!< Not implemented
|
AM_NA, //!< Not available
|
AM_WO, //!< Write Only
|
AM_RO, //!< Read Only
|
AM_RW, //!< Read and Write
|
AM_Undefined, //!< Object is not yet initialized
|
AM_CycleDetect, //!< used internally for AccessMode cycle detection
|
|
};
|
|
enum MV_XML_Visibility
|
{
|
V_Beginner = 0, //!< Always visible
|
V_Expert = 1, //!< Visible for experts or Gurus
|
V_Guru = 2, //!< Visible for Gurus
|
V_Invisible = 3, //!< Not Visible
|
V_Undefined = 99 //!< Object is not yet initialized
|
};
|
|
typedef enum _MV_GIGE_EVENT_
|
{
|
MV_EVENT_ExposureEnd = 1, // ÿ֡µÄÆعâ½áÊø
|
MV_EVENT_FrameStartOvertrigger = 2, // Ö¡¿ªÊ¼´¥·¢
|
MV_EVENT_AcquisitionStartOvertrigger = 3, // È¡Á÷¿ªÊ¼¹ý´¥·¢
|
MV_EVENT_FrameStart = 4, // ÿ֡µÄ¿ªÊ¼
|
MV_EVENT_AcquisitionStart = 5, // ¿ªÊ¼È¡Á÷£¨Á¬Ðø»òµ¥Ö¡Ä£Ê½£©
|
MV_EVENT_EventOverrun = 6 // ʼþ¹ý´¥·¢
|
}MV_GIGE_EVENT;
|
|
|
//
|
|
// µ¥¸ö½Úµã»ù±¾ÊôÐÔ
|
typedef struct _MV_XML_NODE_FEATURE_
|
{
|
enum MV_XML_InterfaceType enType; // ½ÚµãÀàÐÍ
|
enum MV_XML_Visibility enVisivility; //ÊÇ·ñ¿É¼û
|
char strDescription[MV_MAX_XML_DISC_STRLEN_C];//½ÚµãÃèÊö Ä¿Ç°Ôݲ»Ö§³Ö
|
char strDisplayName[MV_MAX_XML_NODE_STRLEN_C];//ÏÔʾÃû³Æ
|
char strName[MV_MAX_XML_NODE_STRLEN_C]; // ½ÚµãÃû
|
char strToolTip[MV_MAX_XML_DISC_STRLEN_C]; //Ìáʾ
|
|
unsigned int nReserved[4];
|
}MV_XML_NODE_FEATURE;
|
|
// ½ÚµãÁбí
|
typedef struct _MV_XML_NODES_LIST_
|
{
|
unsigned int nNodeNum; // ½Úµã¸öÊý
|
MV_XML_NODE_FEATURE stNodes[MV_MAX_XML_NODE_NUM_C];
|
}MV_XML_NODES_LIST;
|
|
|
|
typedef struct _MV_XML_FEATURE_Value_
|
{
|
enum MV_XML_InterfaceType enType; // ½ÚµãÀàÐÍ
|
char strDescription[MV_MAX_XML_DISC_STRLEN_C];//½ÚµãÃèÊö Ä¿Ç°Ôݲ»Ö§³Ö
|
char strDisplayName[MV_MAX_XML_NODE_STRLEN_C];//ÏÔʾÃû³Æ
|
char strName[MV_MAX_XML_NODE_STRLEN_C]; // ½ÚµãÃû
|
char strToolTip[MV_MAX_XML_DISC_STRLEN_C]; //Ìáʾ
|
unsigned int nReserved[4];
|
}MV_XML_FEATURE_Value;
|
|
typedef struct _MV_XML_FEATURE_Base_
|
{
|
enum MV_XML_AccessMode enAccessMode; // ·ÃÎÊģʽ
|
}MV_XML_FEATURE_Base;
|
|
typedef struct _MV_XML_FEATURE_Integer_
|
{
|
char strName[MV_MAX_XML_NODE_STRLEN_C];
|
char strDisplayName[MV_MAX_XML_NODE_STRLEN_C];
|
char strDescription[MV_MAX_XML_DISC_STRLEN_C]; // Ä¿Ç°Ôݲ»Ö§³Ö
|
char strToolTip[MV_MAX_XML_DISC_STRLEN_C];
|
|
enum MV_XML_Visibility enVisivility; //ÊÇ·ñ¿É¼û
|
enum MV_XML_AccessMode enAccessMode; // ·ÃÎÊģʽ
|
int bIsLocked; // ÊÇ·ñËø¶¨¡£0-·ñ£»1-ÊÇ Ä¿Ç°Ôݲ»Ö§³Ö
|
int64_t nValue; // µ±Ç°Öµ
|
int64_t nMinValue; // ×îСֵ
|
int64_t nMaxValue; // ×î´óÖµ
|
int64_t nIncrement; // ÔöÁ¿
|
|
unsigned int nReserved[4];
|
|
}MV_XML_FEATURE_Integer;
|
|
typedef struct _MV_XML_FEATURE_Boolean_
|
{
|
char strName[MV_MAX_XML_NODE_STRLEN_C];
|
char strDisplayName[MV_MAX_XML_NODE_STRLEN_C];
|
char strDescription[MV_MAX_XML_DISC_STRLEN_C]; // Ä¿Ç°Ôݲ»Ö§³Ö
|
char strToolTip[MV_MAX_XML_DISC_STRLEN_C];
|
|
enum MV_XML_Visibility enVisivility; //ÊÇ·ñ¿É¼û
|
enum MV_XML_AccessMode enAccessMode; // ·ÃÎÊģʽ
|
int bIsLocked; // ÊÇ·ñËø¶¨¡£0-·ñ£»1-ÊÇ Ä¿Ç°Ôݲ»Ö§³Ö
|
bool bValue; // µ±Ç°Öµ
|
|
unsigned int nReserved[4];
|
}MV_XML_FEATURE_Boolean;
|
|
typedef struct _MV_XML_FEATURE_Command_
|
{
|
char strName[MV_MAX_XML_NODE_STRLEN_C];
|
char strDisplayName[MV_MAX_XML_NODE_STRLEN_C];
|
char strDescription[MV_MAX_XML_DISC_STRLEN_C]; // Ä¿Ç°Ôݲ»Ö§³Ö
|
char strToolTip[MV_MAX_XML_DISC_STRLEN_C];
|
|
enum MV_XML_Visibility enVisivility; //ÊÇ·ñ¿É¼û
|
enum MV_XML_AccessMode enAccessMode; // ·ÃÎÊģʽ
|
int bIsLocked; // ÊÇ·ñËø¶¨¡£0-·ñ£»1-ÊÇ Ä¿Ç°Ôݲ»Ö§³Ö
|
|
unsigned int nReserved[4];
|
}MV_XML_FEATURE_Command;
|
|
typedef struct _MV_XML_FEATURE_Float_
|
{
|
char strName[MV_MAX_XML_NODE_STRLEN_C];
|
char strDisplayName[MV_MAX_XML_NODE_STRLEN_C];
|
char strDescription[MV_MAX_XML_DISC_STRLEN_C]; // Ä¿Ç°Ôݲ»Ö§³Ö
|
char strToolTip[MV_MAX_XML_DISC_STRLEN_C];
|
|
enum MV_XML_Visibility enVisivility; //ÊÇ·ñ¿É¼û
|
enum MV_XML_AccessMode enAccessMode; // ·ÃÎÊģʽ
|
int bIsLocked; // ÊÇ·ñËø¶¨¡£0-·ñ£»1-ÊÇ Ä¿Ç°Ôݲ»Ö§³Ö
|
double dfValue; // µ±Ç°Öµ
|
double dfMinValue; // ×îСֵ
|
double dfMaxValue; // ×î´óÖµ
|
double dfIncrement; // ÔöÁ¿
|
|
unsigned int nReserved[4];
|
}MV_XML_FEATURE_Float;
|
|
typedef struct _MV_XML_FEATURE_String_
|
{
|
char strName[MV_MAX_XML_NODE_STRLEN_C];
|
char strDisplayName[MV_MAX_XML_NODE_STRLEN_C];
|
char strDescription[MV_MAX_XML_DISC_STRLEN_C]; // Ä¿Ç°Ôݲ»Ö§³Ö
|
char strToolTip[MV_MAX_XML_DISC_STRLEN_C];
|
|
enum MV_XML_Visibility enVisivility; //ÊÇ·ñ¿É¼û
|
enum MV_XML_AccessMode enAccessMode; // ·ÃÎÊģʽ
|
int bIsLocked; // ÊÇ·ñËø¶¨¡£0-·ñ£»1-ÊÇ Ä¿Ç°Ôݲ»Ö§³Ö
|
char strValue[MV_MAX_XML_STRVALUE_STRLEN_C];// µ±Ç°Öµ
|
|
unsigned int nReserved[4];
|
}MV_XML_FEATURE_String;
|
|
typedef struct _MV_XML_FEATURE_Register_
|
{
|
char strName[MV_MAX_XML_NODE_STRLEN_C];
|
char strDisplayName[MV_MAX_XML_NODE_STRLEN_C];
|
char strDescription[MV_MAX_XML_DISC_STRLEN_C]; // Ä¿Ç°Ôݲ»Ö§³Ö
|
char strToolTip[MV_MAX_XML_DISC_STRLEN_C];
|
|
enum MV_XML_Visibility enVisivility; //ÊÇ·ñ¿É¼û
|
enum MV_XML_AccessMode enAccessMode; // ·ÃÎÊģʽ
|
int bIsLocked; // ÊÇ·ñËø¶¨¡£0-·ñ£»1-ÊÇ Ä¿Ç°Ôݲ»Ö§³Ö
|
int64_t nAddrValue; // µ±Ç°Öµ
|
|
unsigned int nReserved[4];
|
}MV_XML_FEATURE_Register;
|
|
typedef struct _MV_XML_FEATURE_Category_
|
{
|
char strDescription[MV_MAX_XML_DISC_STRLEN_C];//½ÚµãÃèÊö Ä¿Ç°Ôݲ»Ö§³Ö
|
char strDisplayName[MV_MAX_XML_NODE_STRLEN_C];//ÏÔʾÃû³Æ
|
char strName[MV_MAX_XML_NODE_STRLEN_C]; // ½ÚµãÃû
|
char strToolTip[MV_MAX_XML_DISC_STRLEN_C]; //Ìáʾ
|
|
enum MV_XML_Visibility enVisivility; //ÊÇ·ñ¿É¼û
|
|
unsigned int nReserved[4];
|
}MV_XML_FEATURE_Category;
|
|
typedef struct _MV_XML_FEATURE_EnumEntry_
|
{
|
char strName[MV_MAX_XML_NODE_STRLEN_C];
|
char strDisplayName[MV_MAX_XML_NODE_STRLEN_C];
|
char strDescription[MV_MAX_XML_DISC_STRLEN_C]; // Ä¿Ç°Ôݲ»Ö§³Ö
|
char strToolTip[MV_MAX_XML_DISC_STRLEN_C];
|
int bIsImplemented;
|
int nParentsNum;
|
MV_XML_NODE_FEATURE stParentsList[MV_MAX_XML_PARENTS_NUM];
|
|
enum MV_XML_Visibility enVisivility; //ÊÇ·ñ¿É¼û
|
int64_t nValue; // µ±Ç°Öµ
|
enum MV_XML_AccessMode enAccessMode; // ·ÃÎÊģʽ
|
int bIsLocked; // ÊÇ·ñËø¶¨¡£0-·ñ£»1-ÊÇ Ä¿Ç°Ôݲ»Ö§³Ö
|
int nReserved[8];
|
|
}MV_XML_FEATURE_EnumEntry;
|
|
|
typedef struct _MV_XML_FEATURE_Enumeration_
|
{
|
enum MV_XML_Visibility enVisivility; //ÊÇ·ñ¿É¼û
|
char strDescription[MV_MAX_XML_DISC_STRLEN_C];//½ÚµãÃèÊö Ä¿Ç°Ôݲ»Ö§³Ö
|
char strDisplayName[MV_MAX_XML_NODE_STRLEN_C];//ÏÔʾÃû³Æ
|
char strName[MV_MAX_XML_NODE_STRLEN_C]; // ½ÚµãÃû
|
char strToolTip[MV_MAX_XML_DISC_STRLEN_C]; //Ìáʾ
|
|
int nSymbolicNum; // SymbolicÊý
|
char strCurrentSymbolic[MV_MAX_XML_SYMBOLIC_STRLEN_C]; // µ±Ç°SymbolicË÷Òý
|
char strSymbolic[MV_MAX_XML_SYMBOLIC_NUM][MV_MAX_XML_SYMBOLIC_STRLEN_C];
|
enum MV_XML_AccessMode enAccessMode; // ·ÃÎÊģʽ
|
int bIsLocked; // ÊÇ·ñËø¶¨¡£0-·ñ£»1-ÊÇ Ä¿Ç°Ôݲ»Ö§³Ö
|
int64_t nValue; // µ±Ç°Öµ
|
|
unsigned int nReserved[4];
|
}MV_XML_FEATURE_Enumeration;
|
|
|
typedef struct _MV_XML_FEATURE_Port_
|
{
|
enum MV_XML_Visibility enVisivility; //ÊÇ·ñ¿É¼û
|
char strDescription[MV_MAX_XML_DISC_STRLEN_C];//½ÚµãÃèÊö Ä¿Ç°Ôݲ»Ö§³Ö
|
char strDisplayName[MV_MAX_XML_NODE_STRLEN_C];//ÏÔʾÃû³Æ
|
char strName[MV_MAX_XML_NODE_STRLEN_C]; // ½ÚµãÃû
|
char strToolTip[MV_MAX_XML_DISC_STRLEN_C]; //Ìáʾ
|
|
enum MV_XML_AccessMode enAccessMode; // ·ÃÎÊģʽ
|
int bIsLocked; // ÊÇ·ñËø¶¨¡£0-·ñ£»1-ÊÇ Ä¿Ç°Ôݲ»Ö§³Ö
|
|
unsigned int nReserved[4];
|
}MV_XML_FEATURE_Port;
|
|
|
|
typedef struct _MV_XML_CAMERA_FEATURE_
|
{
|
enum MV_XML_InterfaceType enType;
|
union
|
{
|
MV_XML_FEATURE_Integer stIntegerFeature;
|
MV_XML_FEATURE_Float stFloatFeature;
|
MV_XML_FEATURE_Enumeration stEnumerationFeature;
|
MV_XML_FEATURE_String stStringFeature;
|
}SpecialFeature;
|
|
}MV_XML_CAMERA_FEATURE;
|
|
|
typedef struct _MVCC_ENUMVALUE_T
|
{
|
unsigned int nCurValue; // µ±Ç°Öµ
|
unsigned int nSupportedNum; // Êý¾ÝµÄÓÐЧÊý¾Ý¸öÊý
|
unsigned int nSupportValue[MV_MAX_XML_SYMBOLIC_NUM];
|
|
unsigned int nReserved[4];
|
}MVCC_ENUMVALUE;
|
|
typedef struct _MVCC_INTVALUE_T
|
{
|
unsigned int nCurValue; // µ±Ç°Öµ
|
unsigned int nMax;
|
unsigned int nMin;
|
unsigned int nInc;
|
|
unsigned int nReserved[4];
|
}MVCC_INTVALUE;
|
|
typedef struct _MVCC_FLOATVALUE_T
|
{
|
float fCurValue; // µ±Ç°Öµ
|
float fMax;
|
float fMin;
|
|
unsigned int nReserved[4];
|
}MVCC_FLOATVALUE;
|
|
typedef struct _MVCC_STRINGVALUE_T
|
{
|
char chCurValue[256]; // µ±Ç°Öµ
|
|
unsigned int nReserved[4];
|
}MVCC_STRINGVALUE;
|
|
#endif /* _MV_CAMERA_PARAMS_H_ */
|