|
|
|
|
|
#ifndef _MV_CAMERA_PARAMS_H_
|
|
|
#define _MV_CAMERA_PARAMS_H_
|
|
|
|
|
|
#include "PixelType.h"
|
|
|
|
|
|
#ifndef __cplusplus
|
|
|
typedef char bool;
|
|
|
#define true 1
|
|
|
#define false 0
|
|
|
#endif
|
|
|
|
|
|
// ch:设备类型定义 | en:Device Type Definition
|
|
|
#define MV_UNKNOW_DEVICE 0x00000000 // ch:未知设备类型,保留意义 | en:Unknown Device Type, Reserved
|
|
|
#define MV_GIGE_DEVICE 0x00000001 // ch:GigE设备 | en:GigE Device
|
|
|
#define MV_1394_DEVICE 0x00000002 // ch:1394-a/b 设备 | en:1394-a/b Device
|
|
|
#define MV_USB_DEVICE 0x00000004 // ch:USB3.0 设备 | en:USB3.0 Device
|
|
|
#define MV_CAMERALINK_DEVICE 0x00000008 // ch:CameraLink设备 | en:CameraLink Device
|
|
|
|
|
|
typedef struct _MV_GIGE_DEVICE_INFO_
|
|
|
{
|
|
|
unsigned int nIpCfgOption;
|
|
|
unsigned int nIpCfgCurrent; //IP configuration:bit31-static bit30-dhcp bit29-lla
|
|
|
unsigned int nCurrentIp; //curtent | en:
|
|
|
unsigned int nCurrentSubNetMask; //curtent subnet mask
|
|
|
unsigned int nDefultGateWay; //current gateway | en
|
|
|
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; // ch:网口IP地址 | en:GIGE IP Address
|
|
|
|
|
|
unsigned int nReserved[4];
|
|
|
|
|
|
}MV_GIGE_DEVICE_INFO;
|
|
|
|
|
|
#define INFO_MAX_BUFFER_SIZE 64 //新定义256
|
|
|
typedef struct _MV_USB3_DEVICE_INFO_
|
|
|
{
|
|
|
unsigned char CrtlInEndPoint; // ch:控制输入端点 | en:Control input endpoint
|
|
|
unsigned char CrtlOutEndPoint; // ch:控制输出端点 | en:Control output endpoint
|
|
|
unsigned char StreamEndPoint; // ch:流端点 | en:Flow endpoint
|
|
|
unsigned char EventEndPoint; // ch:事件端点 | en:Event endpoint
|
|
|
unsigned short idVendor; // ch:供应商ID号 | en:Vendor ID Number
|
|
|
unsigned short idProduct; // ch:产品ID号 | en:Device ID Number
|
|
|
unsigned int nDeviceNumber; // ch:设备序列号 | en:Device Serial Number
|
|
|
unsigned char chDeviceGUID[INFO_MAX_BUFFER_SIZE]; // ch:设备GUID号 | en:Device GUID Number
|
|
|
unsigned char chVendorName[INFO_MAX_BUFFER_SIZE]; // ch:供应商名字 | en:Vendor Name
|
|
|
unsigned char chModelName[INFO_MAX_BUFFER_SIZE]; // ch:型号名字 | en:Model Name
|
|
|
unsigned char chFamilyName[INFO_MAX_BUFFER_SIZE]; // ch:家族名字 | en:Family Name
|
|
|
unsigned char chDeviceVersion[INFO_MAX_BUFFER_SIZE]; // ch:设备版本号 | en:Device Version
|
|
|
unsigned char chManufacturerName[INFO_MAX_BUFFER_SIZE]; // ch:制造商名字 | en:Manufacturer Name
|
|
|
unsigned char chSerialNumber[INFO_MAX_BUFFER_SIZE]; // ch:序列号 | en:Serial Number
|
|
|
unsigned char chUserDefinedName[INFO_MAX_BUFFER_SIZE]; // ch:用户自定义名字 | en:User Defined Name
|
|
|
unsigned int nbcdUSB; // ch:支持的USB协议 | en:Support USB Protocol
|
|
|
unsigned int nReserved[3]; // ch:保留字节 | en:Reserved bytes
|
|
|
}MV_USB3_DEVICE_INFO;
|
|
|
|
|
|
typedef struct _MV_CamL_DEV_INFO_
|
|
|
{
|
|
|
unsigned char chPortID[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 int nReserved[38];
|
|
|
}MV_CamL_DEV_INFO;
|
|
|
|
|
|
|
|
|
// ch:设备信息 | en:Device Infomation
|
|
|
typedef struct _MV_CC_DEVICE_INFO_
|
|
|
{
|
|
|
// ch:common info | en:common info
|
|
|
unsigned short nMajorVer;
|
|
|
unsigned short nMinorVer;
|
|
|
unsigned int nMacAddrHigh; // ch:MAC 地址 | en:MAC Address
|
|
|
unsigned int nMacAddrLow;
|
|
|
|
|
|
unsigned int nTLayerType; // ch:设备传输层协议类型,e.g. MV_GIGE_DEVICE | en:Device Transport Layer Protocol Type, e.g. MV_GIGE_DEVICE
|
|
|
|
|
|
unsigned int nReserved[4];
|
|
|
|
|
|
union
|
|
|
{
|
|
|
MV_GIGE_DEVICE_INFO stGigEInfo;
|
|
|
MV_USB3_DEVICE_INFO stUsb3VInfo;
|
|
|
MV_CamL_DEV_INFO stCamLInfo;
|
|
|
// more ...
|
|
|
}SpecialInfo;
|
|
|
|
|
|
}MV_CC_DEVICE_INFO;
|
|
|
|
|
|
// ch:网络传输的相关信息 | en:Network transmission information
|
|
|
typedef struct _MV_NETTRANS_INFO_
|
|
|
{
|
|
|
int64_t nReviceDataSize; // ch:已接收数据大小 [统计StartGrabbing和StopGrabbing之间的数据量] | en:Received Data Size [Calculate the Data Size between StartGrabbing and StopGrabbing]
|
|
|
int nThrowFrameCount; // ch:丢帧数量 | en:Throw frame number
|
|
|
unsigned int nNetRecvFrameCount;
|
|
|
__int64 nRequestResendPacketCount; // 请求重发包数
|
|
|
__int64 nResendPacketCount; // 重发包数
|
|
|
|
|
|
}MV_NETTRANS_INFO;
|
|
|
|
|
|
|
|
|
// ch:最多支持的传输层实例个数 | en:The maximum number of supported transport layer instances
|
|
|
#define MV_MAX_TLS_NUM 8
|
|
|
// ch:最大支持的设备个数 | en:The maximum number of supported devices
|
|
|
#define MV_MAX_DEVICE_NUM 256
|
|
|
|
|
|
// ch:设备信息列表 | en:Device Information List
|
|
|
typedef struct _MV_CC_DEVICE_INFO_LIST_
|
|
|
{
|
|
|
unsigned int nDeviceNum; // ch:在线设备数量 | en:Online Device Number
|
|
|
MV_CC_DEVICE_INFO* pDeviceInfo[MV_MAX_DEVICE_NUM]; // ch:支持最多256个设备 | en:Support up to 256 devices
|
|
|
|
|
|
}MV_CC_DEVICE_INFO_LIST;
|
|
|
|
|
|
|
|
|
// ch:输出帧的信息 | en:Output Frame Information
|
|
|
typedef struct _MV_FRAME_OUT_INFO_
|
|
|
{
|
|
|
unsigned short nWidth; // ch:图像宽 | en:Image Width
|
|
|
unsigned short nHeight; // ch:图像高 | en:Image Height
|
|
|
enum MvGvspPixelType enPixelType; // ch:像素格式 | en:Pixel Type
|
|
|
|
|
|
unsigned int nFrameNum; // ch:帧号 | en:Frame Number
|
|
|
unsigned int nDevTimeStampHigh; // ch:时间戳高32位 | en:Timestamp high 32 bits
|
|
|
unsigned int nDevTimeStampLow; // ch:时间戳低32位 | en:Timestamp low 32 bits
|
|
|
unsigned int nReserved0; // ch:保留,8字节对齐 | en:Reserved, 8-byte aligned
|
|
|
int64_t nHostTimeStamp; // ch:主机生成的时间戳 | en:Host-generated timestamp
|
|
|
|
|
|
unsigned int nFrameLen;
|
|
|
|
|
|
unsigned int nLostPacket; // 本帧丢包数
|
|
|
unsigned int nReserved[2];
|
|
|
}MV_FRAME_OUT_INFO;
|
|
|
|
|
|
// ch:输出帧的信息 | en:Output Frame Information
|
|
|
typedef struct _MV_FRAME_OUT_INFO_EX_
|
|
|
{
|
|
|
unsigned short nWidth; // ch:图像宽 | en:Image Width
|
|
|
unsigned short nHeight; // ch:图像高 | en:Image Height
|
|
|
enum MvGvspPixelType enPixelType; // ch:像素格式 | en:Pixel Type
|
|
|
|
|
|
unsigned int nFrameNum; // ch:帧号 | en:Frame Number
|
|
|
unsigned int nDevTimeStampHigh; // ch:时间戳高32位 | en:Timestamp high 32 bits
|
|
|
unsigned int nDevTimeStampLow; // ch:时间戳低32位 | en:Timestamp low 32 bits
|
|
|
unsigned int nReserved0; // ch:保留,8字节对齐 | en:Reserved, 8-byte aligned
|
|
|
int64_t nHostTimeStamp; // ch:主机生成的时间戳 | en:Host-generated timestamp
|
|
|
|
|
|
unsigned int nFrameLen;
|
|
|
|
|
|
// ch:以下为chunk新增水印信息 | en:The followings are chunk add frame-specific information
|
|
|
// ch:设备水印时标 | en:Device frame-specific time scale
|
|
|
unsigned int nSecondCount;
|
|
|
unsigned int nCycleCount;
|
|
|
unsigned int nCycleOffset;
|
|
|
|
|
|
float fGain;
|
|
|
float fExposureTime;
|
|
|
unsigned int nAverageBrightness; // ch:平均亮度 | en:Average brightness
|
|
|
|
|
|
// ch:白平衡相关 | en:White balance
|
|
|
unsigned int nRed;
|
|
|
unsigned int nGreen;
|
|
|
unsigned int nBlue;
|
|
|
|
|
|
unsigned int nFrameCounter;
|
|
|
unsigned int nTriggerIndex; // ch:触发计数 | en:Trigger Counting
|
|
|
|
|
|
// ch:Line 输入/输出 | en:Line Input/Output
|
|
|
unsigned int nInput; // ch:输入 | en:Input
|
|
|
unsigned int nOutput; // ch:输出 | en:Output
|
|
|
|
|
|
// ch:ROI区域 | en:ROI Region
|
|
|
unsigned short nOffsetX;
|
|
|
unsigned short nOffsetY;
|
|
|
unsigned short nChunkWidth;
|
|
|
unsigned short nChunkHeight;
|
|
|
|
|
|
unsigned int nLostPacket; // ch:本帧丢包数 | en:Lost Pacekt Number In This Frame
|
|
|
|
|
|
unsigned int nReserved[39]; // 保留
|
|
|
}MV_FRAME_OUT_INFO_EX;
|
|
|
|
|
|
// ch:图像结构体,输出图像指针地址及图像信息 | en:Image Struct, output the pointer of Image and the information of the specific image
|
|
|
typedef struct _MV_FRAME_OUT_
|
|
|
{
|
|
|
unsigned char* pBufAddr; // ch:图像指针地址 | en: pointer of image
|
|
|
MV_FRAME_OUT_INFO_EX stFrameInfo; // ch:图像信息 | en:information of the specific image
|
|
|
|
|
|
unsigned int nRes[16]; // ch:保留 | en:reserved
|
|
|
}MV_FRAME_OUT;
|
|
|
|
|
|
typedef struct _MV_DISPLAY_FRAME_INFO_
|
|
|
{
|
|
|
void* hWnd; // ch:窗口句柄 | en:HWND
|
|
|
unsigned char* pData; // ch:显示的数据 | en:Data Buffer
|
|
|
unsigned int nDataLen; // ch:数据长度 | en:Data Size
|
|
|
unsigned short nWidth; // ch:图像宽 | en:Width
|
|
|
unsigned short nHeight; // ch:图像高 | en:Height
|
|
|
enum MvGvspPixelType enPixelType; // ch:像素格式 | en:Pixel format
|
|
|
unsigned int nRes[4];
|
|
|
|
|
|
}MV_DISPLAY_FRAME_INFO;
|
|
|
|
|
|
// ch:保存图片格式 | en:Save image type
|
|
|
enum MV_SAVE_IAMGE_TYPE
|
|
|
{
|
|
|
MV_Image_Undefined = 0,
|
|
|
MV_Image_Bmp = 1,
|
|
|
MV_Image_Jpeg = 2,
|
|
|
MV_Image_Png = 3, // ch:不支持 | en:Not support
|
|
|
MV_Image_Tif = 4, // ch:不支持 | en:Not support
|
|
|
};
|
|
|
// ch:保存图片参数 | en:Save image type
|
|
|
typedef struct _MV_SAVE_IMAGE_PARAM_T_
|
|
|
{
|
|
|
unsigned char* pData; // [IN] ch:输入数据缓存 | en:Input Data Buffer
|
|
|
unsigned int nDataLen; // [IN] ch:输入数据大小 | en:Input Data Size
|
|
|
enum MvGvspPixelType enPixelType; // [IN] ch:输入数据的像素格式 | en:Input Data Pixel Format
|
|
|
unsigned short nWidth; // [IN] ch:图像宽 | en:Image Width
|
|
|
unsigned short nHeight; // [IN] ch:图像高 | en:Image Height
|
|
|
|
|
|
unsigned char* pImageBuffer; // [OUT] ch:输出图片缓存 | en:Output Image Buffer
|
|
|
unsigned int nImageLen; // [OUT] ch:输出图片大小 | en:Output Image Size
|
|
|
unsigned int nBufferSize; // [IN] ch:提供的输出缓冲区大小 | en:Output buffer size provided
|
|
|
enum MV_SAVE_IAMGE_TYPE enImageType; // [IN] ch:输出图片格式 | en:Output Image Format
|
|
|
|
|
|
}MV_SAVE_IMAGE_PARAM;
|
|
|
|
|
|
// ch:图片保存参数 | en:Save Image Parameters
|
|
|
typedef struct _MV_SAVE_IMAGE_PARAM_T_EX_
|
|
|
{
|
|
|
unsigned char* pData; // [IN] ch:输入数据缓存 | en:Input Data Buffer
|
|
|
unsigned int nDataLen; // [IN] ch:输入数据大小 | en:Input Data Size
|
|
|
enum MvGvspPixelType enPixelType; // [IN] ch:输入数据的像素格式 | en:Input Data Pixel Format
|
|
|
unsigned short nWidth; // [IN] ch:图像宽 | en:Image Width
|
|
|
unsigned short nHeight; // [IN] ch:图像高 | en:Image Height
|
|
|
|
|
|
unsigned char* pImageBuffer; // [OUT] ch:输出图片缓存 | en:Output Image Buffer
|
|
|
unsigned int nImageLen; // [OUT] ch:输出图片大小 | en:Output Image Size
|
|
|
unsigned int nBufferSize; // [IN] ch:提供的输出缓冲区大小 | en:Output buffer size provided
|
|
|
enum MV_SAVE_IAMGE_TYPE enImageType; // [IN] ch:输出图片格式 | en:Output Image Format
|
|
|
unsigned int nJpgQuality; // [IN] ch:编码质量, (50-99] | en:Encoding quality, (50-99]
|
|
|
|
|
|
// [IN] ch:Bayer格式转为RGB24的插值方法 0-最近邻 1-双线性 2-Hamilton (如果传入其它值则默认为最近邻)
|
|
|
// [IN] en:Interpolation method of convert Bayer to RGB24 0-nearest neighbour 1-bilinearity 2-Hamilton
|
|
|
unsigned int iMethodValue;
|
|
|
unsigned int nReserved[3];
|
|
|
|
|
|
}MV_SAVE_IMAGE_PARAM_EX;
|
|
|
|
|
|
// ch:图像转换结构体 | en:Pixel convert structure
|
|
|
typedef struct _MV_PIXEL_CONVERT_PARAM_T_
|
|
|
{
|
|
|
unsigned short nWidth; // [IN] ch:图像宽 | en:Width
|
|
|
unsigned short nHeight; // [IN] ch:图像高 | en:Height
|
|
|
|
|
|
enum MvGvspPixelType enSrcPixelType; // [IN] ch:源像素格式 | en:Source pixel format
|
|
|
unsigned char* pSrcData; // [IN] ch:输入数据缓存 | en:Input data buffer
|
|
|
unsigned int nSrcDataLen; // [IN] ch:输入数据大小 | en:Input data size
|
|
|
|
|
|
enum MvGvspPixelType enDstPixelType; // [IN] ch:目标像素格式 | en:Destination pixel format
|
|
|
unsigned char* pDstBuffer; // [OUT] ch:输出数据缓存 | en:Output data buffer
|
|
|
unsigned int nDstLen; // [OUT] ch:输出数据大小 | en:Output data size
|
|
|
unsigned int nDstBufferSize; // [IN] ch:提供的输出缓冲区大小 | en:Provided outbut buffer size
|
|
|
unsigned int nRes[4];
|
|
|
}MV_CC_PIXEL_CONVERT_PARAM;
|
|
|
|
|
|
// ch:录像格式定义 | en:Record Format Type
|
|
|
typedef enum _MV_RECORD_FORMAT_TYPE_
|
|
|
{
|
|
|
MV_FormatType_Undefined = 0,
|
|
|
MV_FormatType_AVI = 1,
|
|
|
|
|
|
}MV_RECORD_FORMAT_TYPE;
|
|
|
|
|
|
// ch:录像参数 | en:Record Parameters
|
|
|
typedef struct _MV_CC_RECORD_PARAM_T_
|
|
|
{
|
|
|
enum MvGvspPixelType enPixelType; // [IN] 输入数据的像素格式
|
|
|
|
|
|
unsigned short nWidth; // [IN] 图像宽(指定目标参数时需为2的倍数)
|
|
|
unsigned short nHeight; // [IN] 图像高(指定目标参数时需为2的倍数)
|
|
|
|
|
|
float fFrameRate; // [IN] 帧率fps(1/16-120)
|
|
|
unsigned int nBitRate; // [IN] 码率kbps(128kbps-16Mbps)
|
|
|
|
|
|
MV_RECORD_FORMAT_TYPE enRecordFmtType; // [IN] 录像格式
|
|
|
|
|
|
char* strFilePath; // [IN] 录像文件存放路径(如果路径中存在中文,需转成utf-8)
|
|
|
|
|
|
unsigned int nRes[8];
|
|
|
|
|
|
}MV_CC_RECORD_PARAM;
|
|
|
|
|
|
// ch:录像数据 | en:Record Data
|
|
|
typedef struct _MV_CC_INPUT_FRAME_INFO_T_
|
|
|
{
|
|
|
unsigned char* pData; // [IN] 图像数据指针
|
|
|
unsigned int nDataLen; // [IN] 图像大小
|
|
|
|
|
|
unsigned int nRes[8];
|
|
|
|
|
|
}MV_CC_INPUT_FRAME_INFO;
|
|
|
|
|
|
// ch:采集模式 | en:Acquisition mode
|
|
|
typedef enum _MV_CAM_ACQUISITION_MODE_
|
|
|
{
|
|
|
MV_ACQ_MODE_SINGLE = 0, // ch:单帧模式 | en:Single Mode
|
|
|
MV_ACQ_MODE_MUTLI = 1, // ch:多帧模式 | en:Multi Mode
|
|
|
MV_ACQ_MODE_CONTINUOUS = 2, // ch:持续采集模式 | en:Continuous Mode
|
|
|
|
|
|
}MV_CAM_ACQUISITION_MODE;
|
|
|
|
|
|
// ch:增益模式 | en:Gain Mode
|
|
|
typedef enum _MV_CAM_GAIN_MODE_
|
|
|
{
|
|
|
MV_GAIN_MODE_OFF = 0, // ch:关闭 | en:Single Mode
|
|
|
MV_GAIN_MODE_ONCE = 1, // ch:一次 | en:Multi Mode
|
|
|
MV_GAIN_MODE_CONTINUOUS = 2, // ch:连续 | en:Continuous Mode
|
|
|
|
|
|
}MV_CAM_GAIN_MODE;
|
|
|
|
|
|
// ch:曝光模式 | en:Exposure Mode
|
|
|
typedef enum _MV_CAM_EXPOSURE_MODE_
|
|
|
{
|
|
|
MV_EXPOSURE_MODE_TIMED = 0, // Timed
|
|
|
MV_EXPOSURE_MODE_TRIGGER_WIDTH = 1, // TriggerWidth
|
|
|
}MV_CAM_EXPOSURE_MODE;
|
|
|
|
|
|
// ch:自动曝光模式 | en:Auto Exposure Mode
|
|
|
typedef enum _MV_CAM_EXPOSURE_AUTO_MODE_
|
|
|
{
|
|
|
MV_EXPOSURE_AUTO_MODE_OFF = 0, // ch:关闭 | en:Off
|
|
|
MV_EXPOSURE_AUTO_MODE_ONCE = 1, // ch:一次 | en:Once
|
|
|
MV_EXPOSURE_AUTO_MODE_CONTINUOUS = 2, // ch:连续 | en:Continuous
|
|
|
|
|
|
}MV_CAM_EXPOSURE_AUTO_MODE;
|
|
|
|
|
|
typedef enum _MV_CAM_TRIGGER_MODE_
|
|
|
{
|
|
|
MV_TRIGGER_MODE_OFF = 0, // ch:关闭 | en:Off
|
|
|
MV_TRIGGER_MODE_ON = 1, // ch:打开 | en:ON
|
|
|
|
|
|
}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, // ch:连续 | en:Continuous
|
|
|
|
|
|
}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;
|
|
|
|
|
|
typedef enum _MV_GIGE_TRANSMISSION_TYPE_
|
|
|
{
|
|
|
MV_GIGE_TRANSTYPE_UNICAST = 0x0, // ch:表示单播(默认) | en:Unicast mode
|
|
|
MV_GIGE_TRANSTYPE_MULTICAST = 0x1, // ch:表示组播 | en:Multicast mode
|
|
|
MV_GIGE_TRANSTYPE_LIMITEDBROADCAST = 0x2, // ch:表示局域网内广播,暂不支持 | en:Limited broadcast mode,not support
|
|
|
MV_GIGE_TRANSTYPE_SUBNETBROADCAST = 0x3, // ch:表示子网内广播,暂不支持 | en:Subnet broadcast mode,not support
|
|
|
MV_GIGE_TRANSTYPE_CAMERADEFINED = 0x4, // ch:表示从相机获取,暂不支持 | en:Transtype from camera,not support
|
|
|
MV_GIGE_TRANSTYPE_UNICAST_DEFINED_PORT = 0x5, // ch:表示用户自定义应用端接收图像数据Port号 | en:User Defined Receive Data Port
|
|
|
MV_GIGE_TRANSTYPE_UNICAST_WITHOUT_RECV = 0x00010000, // ch:表示设置了单播,但本实例不接收图像数据 | en:Unicast without receive data
|
|
|
MV_GIGE_TRANSTYPE_MULTICAST_WITHOUT_RECV = 0x00010001, // ch:表示组播模式,但本实例不接收图像数据 | en:Multicast without receive data
|
|
|
}MV_GIGE_TRANSMISSION_TYPE;
|
|
|
|
|
|
// 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
|
|
|
|
|
|
// CameraLink Baud Rates (CLUINT32)
|
|
|
#define MV_CAML_BAUDRATE_9600 0x00000001
|
|
|
#define MV_CAML_BAUDRATE_19200 0x00000002
|
|
|
#define MV_CAML_BAUDRATE_38400 0x00000004
|
|
|
#define MV_CAML_BAUDRATE_57600 0x00000008
|
|
|
#define MV_CAML_BAUDRATE_115200 0x00000010
|
|
|
#define MV_CAML_BAUDRATE_230400 0x00000020
|
|
|
#define MV_CAML_BAUDRATE_460800 0x00000040
|
|
|
#define MV_CAML_BAUDRATE_921600 0x00000080
|
|
|
#define MV_CAML_BAUDRATE_AUTOMAX 0x40000000
|
|
|
|
|
|
|
|
|
// ch:信息类型 | en:Information Type
|
|
|
#define MV_MATCH_TYPE_NET_DETECT 0x00000001 // ch:网络流量和丢包信息 | en:Network traffic and packet loss information
|
|
|
#define MV_MATCH_TYPE_USB_DETECT 0x00000002 // ch:host接收到来自U3V设备的字节总数 | en:The total number of bytes host received from U3V device
|
|
|
|
|
|
|
|
|
// ch:某个节点对应的子节点个数最大值 | en:The maximum number of child nodes corresponding to a node
|
|
|
#define MV_MAX_XML_NODE_NUM_C 128
|
|
|
|
|
|
// ch:节点名称字符串最大长度 | en:The maximum length of node name string
|
|
|
#define MV_MAX_XML_NODE_STRLEN_C 64
|
|
|
|
|
|
// ch:节点String值最大长度 | en:The maximum length of Node String
|
|
|
#define MV_MAX_XML_STRVALUE_STRLEN_C 64
|
|
|
|
|
|
// ch:节点描述字段最大长度 | en:The maximum length of the node description field
|
|
|
#define MV_MAX_XML_DISC_STRLEN_C 512
|
|
|
|
|
|
// ch:最多的单元数 | en:The maximum number of units
|
|
|
#define MV_MAX_XML_ENTRY_NUM 10
|
|
|
|
|
|
// ch:父节点个数上限 | en:The maximum number of parent nodes
|
|
|
#define MV_MAX_XML_PARENTS_NUM 8
|
|
|
|
|
|
// ch:每个已经实现单元的名称长度 | en:The length of the name of each unit that has been implemented
|
|
|
#define MV_MAX_XML_SYMBOLIC_STRLEN_C 64
|
|
|
|
|
|
#define MV_MAX_XML_SYMBOLIC_NUM 64
|
|
|
|
|
|
// ch:重发包默认最大包数量 | en:The default maximum number of retransmission packets
|
|
|
|
|
|
// ch:全匹配的一种信息结构体 | en:A fully matched information structure
|
|
|
typedef struct _MV_ALL_MATCH_INFO_
|
|
|
{
|
|
|
unsigned int nType; // ch:需要输出的信息类型,e.g. MV_MATCH_TYPE_NET_DETECT | en:Information type need to output ,e.g. MV_MATCH_TYPE_NET_DETECT
|
|
|
void* pInfo; // ch:输出的信息缓存,由调用者分配 | en:Output information cache, which is allocated by the caller
|
|
|
unsigned int nInfoSize; // ch:信息缓存的大小 | en:Information cache size
|
|
|
|
|
|
}MV_ALL_MATCH_INFO;
|
|
|
|
|
|
// ch:网络流量和丢包信息反馈结构体,对应类型为 MV_MATCH_TYPE_NET_DETECT
|
|
|
// en:Network traffic and packet loss feedback structure, the corresponding type is MV_MATCH_TYPE_NET_DETECT
|
|
|
typedef struct _MV_MATCH_INFO_NET_DETECT_
|
|
|
{
|
|
|
int64_t nReviceDataSize; // ch:已接收数据大小 [统计StartGrabbing和StopGrabbing之间的数据量] | en:Received data size
|
|
|
int64_t nLostPacketCount; // ch:丢失的包数量 | en:Number of packets lost
|
|
|
unsigned int nLostFrameCount; // ch:丢帧数量 | en:Number of frames lost
|
|
|
unsigned int nNetRecvFrameCount; // ch:保留 | en:Reserved
|
|
|
__int64 nRequestResendPacketCount; // 请求重发包数
|
|
|
__int64 nResendPacketCount; // 重发包数
|
|
|
}MV_MATCH_INFO_NET_DETECT;
|
|
|
|
|
|
// ch:host收到从u3v设备端的总字节数,对应类型为 MV_MATCH_TYPE_USB_DETECT | en:The total number of bytes host received from the u3v device side, the corresponding type is MV_MATCH_TYPE_USB_DETECT
|
|
|
typedef struct _MV_MATCH_INFO_USB_DETECT_
|
|
|
{
|
|
|
int64_t nReviceDataSize; // ch:已接收数据大小 [统计OpenDevicce和CloseDevice之间的数据量] | en:Received data size
|
|
|
unsigned int nRevicedFrameCount; // ch:已收到的帧数 | en:Number of frames received
|
|
|
unsigned int nErrorFrameCount; // ch:错误帧数 | en:Number of error frames
|
|
|
unsigned int nReserved[2]; // ch:保留 | en:Reserved
|
|
|
}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;
|
|
|
|
|
|
// ch:像素格式 | en:pixel format
|
|
|
unsigned int enPixelType; // ch:当前的像素格式 | en:Current pixel format
|
|
|
unsigned int nSupportedPixelFmtNum; // ch:支持的像素格式种类 | en:Support pixel format
|
|
|
unsigned int enPixelList[MV_MAX_XML_SYMBOLIC_NUM];
|
|
|
unsigned int nReserved[8];
|
|
|
|
|
|
}MV_IMAGE_BASIC_INFO;
|
|
|
|
|
|
// ch: 异常消息类型 | en:Exception message type
|
|
|
#define MV_EXCEPTION_DEV_DISCONNECT 0x00008001 // ch:设备断开连接 | en:The device is disconnected
|
|
|
#define MV_EXCEPTION_VERSION_CHECK 0x00008002 // ch:SDK与驱动版本不匹配 | en:SDK does not match the driver version
|
|
|
|
|
|
|
|
|
// ch:设备的访问模式 | en:Device Access Mode
|
|
|
// ch:独占权限,其他APP只允许读CCP寄存器 | en:Exclusive authority, other APP is only allowed to read the CCP register
|
|
|
#define MV_ACCESS_Exclusive 1
|
|
|
// ch:可以从5模式下抢占权限,然后以独占权限打开 | en:You can seize the authority from the 5 mode, and then open with exclusive authority
|
|
|
#define MV_ACCESS_ExclusiveWithSwitch 2
|
|
|
// ch:控制权限,其他APP允许读所有寄存器 | en:Control authority, allows other APP reading all registers
|
|
|
#define MV_ACCESS_Control 3
|
|
|
// ch:可以从5的模式下抢占权限,然后以控制权限打开 | en:You can seize the authority from the 5 mode, and then open with control authority
|
|
|
#define MV_ACCESS_ControlWithSwitch 4
|
|
|
// ch:以可被抢占的控制权限打开 | en:Open with seized control authority
|
|
|
#define MV_ACCESS_ControlSwitchEnable 5
|
|
|
// ch:可以从5的模式下抢占权限,然后以可被抢占的控制权限打开 | en:You can seize the authority from the 5 mode, and then open with seized control authority
|
|
|
#define MV_ACCESS_ControlSwitchEnableWithKey 6
|
|
|
// ch:读模式打开设备,适用于控制权限下 | en:Open with read mode and is available under control authority
|
|
|
#define MV_ACCESS_Monitor 7
|
|
|
|
|
|
|
|
|
/************************************************************************/
|
|
|
/* 封装了GenICam的C接口相关参数定义 */
|
|
|
/* Package of GenICam C interface-related parameters definition */
|
|
|
/************************************************************************/
|
|
|
|
|
|
// ch:每个节点对应的接口类型 | en:Interface type corresponds to each node
|
|
|
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
|
|
|
};
|
|
|
|
|
|
// ch:节点的访问模式 | en:Node Access Mode
|
|
|
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
|
|
|
};
|
|
|
|
|
|
//Event事件回调信息 | en:Event callback infomation
|
|
|
#define MAX_EVENT_NAME_SIZE 128//相机Event事件名称最大长度 | en:Max length of event name
|
|
|
|
|
|
typedef struct _MV_EVENT_OUT_INFO_
|
|
|
{
|
|
|
char EventName[MAX_EVENT_NAME_SIZE]; //Event名称 | en:Event name
|
|
|
|
|
|
unsigned short nEventID; //Event号 | en:Event ID
|
|
|
unsigned short nStreamChannel; //流通道序号 | en:Circulation number
|
|
|
|
|
|
unsigned int nBlockIdHigh; //帧号高位 | en:BlockId high
|
|
|
unsigned int nBlockIdLow; //帧号低位 | en:BlockId low
|
|
|
|
|
|
unsigned int nTimestampHigh; //时间戳高位 | en:Timestramp high
|
|
|
unsigned int nTimestampLow; //时间戳低位 | en:Timestramp low
|
|
|
|
|
|
void * pEventData; //Event数据 | en:Event data
|
|
|
unsigned int nEventDataSize; //Event数据长度 | en:Event data len
|
|
|
|
|
|
unsigned int nReserved[16]; //预留 | en:Reserved
|
|
|
}MV_EVENT_OUT_INFO;
|
|
|
|
|
|
// ch:文件存取 | en:File Access
|
|
|
typedef struct _MV_CC_FILE_ACCESS_T
|
|
|
{
|
|
|
const char * pUserFileName; //用户文件名 | en:User file name
|
|
|
const char * pDevFileName; //设备文件名 | en:Device file name
|
|
|
|
|
|
unsigned int nReserved[32]; //预留 | en:Reserved
|
|
|
}MV_CC_FILE_ACCESS;
|
|
|
|
|
|
// ch:文件存取进度 | en:File Access Progress
|
|
|
typedef struct _MV_CC_FILE_ACCESS_PROGRESS_T
|
|
|
{
|
|
|
int64_t nCompleted; //已完成的长度 | en:Completed Length
|
|
|
int64_t nTotal; //总长度 | en:Total Length
|
|
|
|
|
|
unsigned int nReserved[8]; //预留 | en:Reserved
|
|
|
}MV_CC_FILE_ACCESS_PROGRESS;
|
|
|
|
|
|
// ch:传输模式,可以为单播模式、组播模式等 | en:Transmission type
|
|
|
typedef struct _MV_TRANSMISSION_TYPE_T
|
|
|
{
|
|
|
MV_GIGE_TRANSMISSION_TYPE enTransmissionType; //传输模式 | en:Transmission type
|
|
|
unsigned int nDestIp; //目标IP,组播模式下有意义 | en:Destination IP
|
|
|
unsigned short nDestPort; //目标Port,组播模式下有意义 | en:Destination port
|
|
|
|
|
|
unsigned int nReserved[32]; //预留 | en:Reserved
|
|
|
}MV_TRANSMISSION_TYPE;
|
|
|
|
|
|
// ch:动作命令信息 | en:Action Command
|
|
|
typedef struct _MV_ACTION_CMD_INFO_T
|
|
|
{
|
|
|
unsigned int nDeviceKey; //设备密钥
|
|
|
unsigned int nGroupKey; //组键
|
|
|
unsigned int nGroupMask; //组掩码
|
|
|
|
|
|
unsigned int bActionTimeEnable; //只有设置成1时Action Time才有效,非1时无效
|
|
|
int64_t nActionTime; //预定的时间,和主频有关
|
|
|
|
|
|
const char* pBroadcastAddress; //广播包地址
|
|
|
unsigned int nTimeOut; //等待ACK的超时时间,如果为0表示不需要ACK
|
|
|
|
|
|
unsigned int nReserved[16]; //预留 | en:Reserved
|
|
|
|
|
|
}MV_ACTION_CMD_INFO;
|
|
|
|
|
|
// ch:动作命令返回信息 | en:Action Command Result
|
|
|
typedef struct _MV_ACTION_CMD_RESULT_T
|
|
|
{
|
|
|
unsigned char strDeviceAddress[12 + 3 + 1]; //IP address of the device
|
|
|
|
|
|
//status code returned by the device
|
|
|
int nStatus;//1.0x0000:success.
|
|
|
//2.0x8001:Command is not supported by the device.
|
|
|
//3.0x8013:The device is not synchronized to a master clock to be used as time reference.
|
|
|
//4.0x8015:A device queue or packet data has overflowed.
|
|
|
//5.0x8016:The requested scheduled action command was requested at a time that is already past.
|
|
|
|
|
|
unsigned int nReserved[4]; //预留 | en:Reserved
|
|
|
|
|
|
}MV_ACTION_CMD_RESULT;
|
|
|
|
|
|
// ch:动作命令返回信息列表 | en:Action Command Result List
|
|
|
typedef struct _MV_ACTION_CMD_RESULT_LIST_T
|
|
|
{
|
|
|
unsigned int nNumResults; //返回值个数
|
|
|
MV_ACTION_CMD_RESULT* pResults;
|
|
|
|
|
|
}MV_ACTION_CMD_RESULT_LIST;
|
|
|
|
|
|
// ch:单个节点基本属性 | en:Single Node Basic Attributes
|
|
|
typedef struct _MV_XML_NODE_FEATURE_
|
|
|
{
|
|
|
enum MV_XML_InterfaceType enType; // ch:节点类型 | en:Node Type
|
|
|
enum MV_XML_Visibility enVisivility; // ch:是否可见 | en:Is visibility
|
|
|
char strDescription[MV_MAX_XML_DISC_STRLEN_C];// ch:节点描述 目前暂不支持 | en:Node Description, NOT SUPPORT NOW
|
|
|
char strDisplayName[MV_MAX_XML_NODE_STRLEN_C];// ch:显示名称 | en:Display Name
|
|
|
char strName[MV_MAX_XML_NODE_STRLEN_C]; // ch:节点名 | en:Node Name
|
|
|
char strToolTip[MV_MAX_XML_DISC_STRLEN_C]; // ch:提示 | en:Notice
|
|
|
|
|
|
unsigned int nReserved[4];
|
|
|
}MV_XML_NODE_FEATURE;
|
|
|
|
|
|
// ch:节点列表 | en:Node List
|
|
|
typedef struct _MV_XML_NODES_LIST_
|
|
|
{
|
|
|
unsigned int nNodeNum; // ch:节点个数 | en:Node Number
|
|
|
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; // ch:节点类型 | en:Node Type
|
|
|
char strDescription[MV_MAX_XML_DISC_STRLEN_C];// ch:节点描述 目前暂不支持 | en:Node Description, NOT SUPPORT NOW
|
|
|
char strDisplayName[MV_MAX_XML_NODE_STRLEN_C];// ch:显示名称 | en:Display Name
|
|
|
char strName[MV_MAX_XML_NODE_STRLEN_C]; // ch:节点名 | en:Node Name
|
|
|
char strToolTip[MV_MAX_XML_DISC_STRLEN_C]; // ch:提示 | en:Notice
|
|
|
unsigned int nReserved[4];
|
|
|
}MV_XML_FEATURE_Value;
|
|
|
|
|
|
typedef struct _MV_XML_FEATURE_Base_
|
|
|
{
|
|
|
enum MV_XML_AccessMode enAccessMode; // ch:访问模式 | en:Access Mode
|
|
|
}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]; // ch:目前暂不支持 | en:NOT SUPPORT NOW
|
|
|
char strToolTip[MV_MAX_XML_DISC_STRLEN_C];
|
|
|
|
|
|
enum MV_XML_Visibility enVisivility; //是否可见 | en:Visible
|
|
|
enum MV_XML_AccessMode enAccessMode; // ch:访问模式 | en:Access Mode
|
|
|
int bIsLocked; // ch:是否锁定。0-否;1-是 目前暂不支持 | en:Locked. 0-NO; 1-YES, NOT SUPPORT NOW
|
|
|
int64_t nValue; // ch:当前值 | en:Current Value
|
|
|
int64_t nMinValue; // ch:最小值 | en:Min Value
|
|
|
int64_t nMaxValue; // ch:最大值 | en:Max Value
|
|
|
int64_t nIncrement; // ch:增量 | en:Increment
|
|
|
|
|
|
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]; // ch:目前暂不支持 | en:NOT SUPPORT NOW
|
|
|
char strToolTip[MV_MAX_XML_DISC_STRLEN_C];
|
|
|
|
|
|
enum MV_XML_Visibility enVisivility; // ch:是否可见 | en:Visible
|
|
|
enum MV_XML_AccessMode enAccessMode; // ch:访问模式 | en:Access Mode
|
|
|
int bIsLocked; // ch:是否锁定。0-否;1-是 目前暂不支持 | en:Locked. 0-NO; 1-YES, NOT SUPPORT NOW
|
|
|
bool bValue; // ch:当前值 | en:Current Value
|
|
|
|
|
|
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]; // ch:目前暂不支持 | en:NOT SUPPORT NOW
|
|
|
char strToolTip[MV_MAX_XML_DISC_STRLEN_C];
|
|
|
|
|
|
enum MV_XML_Visibility enVisivility; // ch:是否可见 | en:Visible
|
|
|
enum MV_XML_AccessMode enAccessMode; // ch:访问模式 | en:Access Mode
|
|
|
int bIsLocked; // ch:是否锁定。0-否;1-是 目前暂不支持 | en:Locked. 0-NO; 1-YES, NOT SUPPORT NOW
|
|
|
|
|
|
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]; // ch:目前暂不支持 | en:NOT SUPPORT NOW
|
|
|
char strToolTip[MV_MAX_XML_DISC_STRLEN_C];
|
|
|
|
|
|
enum MV_XML_Visibility enVisivility; //是否可见 | en:Visible
|
|
|
enum MV_XML_AccessMode enAccessMode; // ch:访问模式 | en:Access Mode
|
|
|
int bIsLocked; // ch:是否锁定。0-否;1-是 目前暂不支持 | en:Locked. 0-NO; 1-YES, NOT SUPPORT NOW
|
|
|
double dfValue; // ch:当前值 | en:Current Value
|
|
|
double dfMinValue; // ch:最小值 | en:Min Value
|
|
|
double dfMaxValue; // ch:最大值 | en:Max Value
|
|
|
double dfIncrement; // ch:增量 | en:Increment
|
|
|
|
|
|
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]; // ch:目前暂不支持 | en:NOT SUPPORT NOW
|
|
|
char strToolTip[MV_MAX_XML_DISC_STRLEN_C];
|
|
|
|
|
|
enum MV_XML_Visibility enVisivility; // ch:是否可见 | en:Visible
|
|
|
enum MV_XML_AccessMode enAccessMode; // ch:访问模式 | en:Access Mode
|
|
|
int bIsLocked; // ch:是否锁定。0-否;1-是 目前暂不支持 | en:Locked. 0-NO; 1-YES, NOT SUPPORT NOW
|
|
|
char strValue[MV_MAX_XML_STRVALUE_STRLEN_C];// ch:当前值 | en:Current Value
|
|
|
|
|
|
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]; // ch:目前暂不支持 | en:NOT SUPPORT NOW
|
|
|
char strToolTip[MV_MAX_XML_DISC_STRLEN_C];
|
|
|
|
|
|
enum MV_XML_Visibility enVisivility; // ch:是否可见 | en:Visible
|
|
|
enum MV_XML_AccessMode enAccessMode; // ch:访问模式 | en:Access Mode
|
|
|
int bIsLocked; // ch:是否锁定。0-否;1-是 目前暂不支持 | en:Locked. 0-NO; 1-YES, NOT SUPPORT NOW
|
|
|
int64_t nAddrValue; // ch:当前值 | en:Current Value
|
|
|
|
|
|
unsigned int nReserved[4];
|
|
|
}MV_XML_FEATURE_Register;
|
|
|
|
|
|
typedef struct _MV_XML_FEATURE_Category_
|
|
|
{
|
|
|
char strDescription[MV_MAX_XML_DISC_STRLEN_C];// ch:节点描述 目前暂不支持 | en:Node Description, NOT SUPPORT NOW
|
|
|
char strDisplayName[MV_MAX_XML_NODE_STRLEN_C];// ch:显示名称 | en:Display Name
|
|
|
char strName[MV_MAX_XML_NODE_STRLEN_C]; // ch:节点名 | en:Node Name
|
|
|
char strToolTip[MV_MAX_XML_DISC_STRLEN_C]; // ch:提示 | en:Notice
|
|
|
|
|
|
enum MV_XML_Visibility enVisivility; // ch:是否可见 | en:Visible
|
|
|
|
|
|
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]; // ch:目前暂不支持 | en:NOT SUPPORT NOW
|
|
|
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; // ch:是否可见 | en:Visible
|
|
|
int64_t nValue; // ch:当前值 | en:Current Value
|
|
|
enum MV_XML_AccessMode enAccessMode; // ch:访问模式 | en:Access Mode
|
|
|
int bIsLocked; // ch:是否锁定。0-否;1-是 目前暂不支持 | en:Locked. 0-NO; 1-YES, NOT SUPPORT NOW
|
|
|
int nReserved[8];
|
|
|
|
|
|
}MV_XML_FEATURE_EnumEntry;
|
|
|
|
|
|
|
|
|
typedef struct _MV_XML_FEATURE_Enumeration_
|
|
|
{
|
|
|
enum MV_XML_Visibility enVisivility; // ch:是否可见 | en:Visible
|
|
|
char strDescription[MV_MAX_XML_DISC_STRLEN_C];// ch:节点描述 目前暂不支持 | en:Node Description, NOT SUPPORT NOW
|
|
|
char strDisplayName[MV_MAX_XML_NODE_STRLEN_C];// ch:显示名称 | en:Display Name
|
|
|
char strName[MV_MAX_XML_NODE_STRLEN_C]; // ch:节点名 | en:Node Name
|
|
|
char strToolTip[MV_MAX_XML_DISC_STRLEN_C]; // ch:提示 | en:Notice
|
|
|
|
|
|
int nSymbolicNum; // ch:Symbolic数 | en:Symbolic Number
|
|
|
char strCurrentSymbolic[MV_MAX_XML_SYMBOLIC_STRLEN_C]; // ch:当前Symbolic索引 | en:Current Symbolic Index
|
|
|
char strSymbolic[MV_MAX_XML_SYMBOLIC_NUM][MV_MAX_XML_SYMBOLIC_STRLEN_C];
|
|
|
enum MV_XML_AccessMode enAccessMode; // ch:访问模式 | en:Access Mode
|
|
|
int bIsLocked; // ch:是否锁定。0-否;1-是 目前暂不支持 | en:Locked. 0-NO; 1-YES, NOT SUPPORT NOW
|
|
|
int64_t nValue; // ch:当前值 | en:Current Value
|
|
|
|
|
|
unsigned int nReserved[4];
|
|
|
}MV_XML_FEATURE_Enumeration;
|
|
|
|
|
|
|
|
|
typedef struct _MV_XML_FEATURE_Port_
|
|
|
{
|
|
|
enum MV_XML_Visibility enVisivility; // ch:是否可见 | en:Visible
|
|
|
char strDescription[MV_MAX_XML_DISC_STRLEN_C];// ch:节点描述 目前暂不支持 | en:Node Description, NOT SUPPORT NOW
|
|
|
char strDisplayName[MV_MAX_XML_NODE_STRLEN_C];// ch:显示名称 | en:Display Name
|
|
|
char strName[MV_MAX_XML_NODE_STRLEN_C]; // ch:节点名 | en:Node Name
|
|
|
char strToolTip[MV_MAX_XML_DISC_STRLEN_C]; // ch:提示 | en:Notice
|
|
|
|
|
|
enum MV_XML_AccessMode enAccessMode; // ch:访问模式 | en:Access Mode
|
|
|
int bIsLocked; // ch:是否锁定。0-否;1-是 目前暂不支持 | en:Locked. 0-NO; 1-YES, NOT SUPPORT NOW
|
|
|
|
|
|
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; // ch:当前值 | en:Current Value
|
|
|
unsigned int nSupportedNum; // ch:数据的有效数据个数 | en:Number of valid data
|
|
|
unsigned int nSupportValue[MV_MAX_XML_SYMBOLIC_NUM];
|
|
|
|
|
|
unsigned int nReserved[4];
|
|
|
}MVCC_ENUMVALUE;
|
|
|
|
|
|
typedef struct _MVCC_INTVALUE_T
|
|
|
{
|
|
|
unsigned int nCurValue; // ch:当前值 | en:Current Value
|
|
|
unsigned int nMax;
|
|
|
unsigned int nMin;
|
|
|
unsigned int nInc;
|
|
|
|
|
|
unsigned int nReserved[4];
|
|
|
}MVCC_INTVALUE;
|
|
|
|
|
|
typedef struct _MVCC_INTVALUE_EX_T
|
|
|
{
|
|
|
int64_t nCurValue; // ch:当前值 | en:Current Value
|
|
|
int64_t nMax;
|
|
|
int64_t nMin;
|
|
|
int64_t nInc;
|
|
|
|
|
|
unsigned int nReserved[16];
|
|
|
}MVCC_INTVALUE_EX;
|
|
|
|
|
|
typedef struct _MVCC_FLOATVALUE_T
|
|
|
{
|
|
|
float fCurValue; // ch:当前值 | en:Current Value
|
|
|
float fMax;
|
|
|
float fMin;
|
|
|
|
|
|
unsigned int nReserved[4];
|
|
|
}MVCC_FLOATVALUE;
|
|
|
|
|
|
typedef struct _MVCC_STRINGVALUE_T
|
|
|
{
|
|
|
char chCurValue[256]; // ch:当前值 | en:Current Value
|
|
|
|
|
|
int64_t nMaxLength;
|
|
|
unsigned int nReserved[2];
|
|
|
}MVCC_STRINGVALUE;
|
|
|
|
|
|
#endif /* _MV_CAMERA_PARAMS_H_ */
|