|
|
|
|
|
#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 nReserved[3]; // 保留
|
|
|
}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 int nReserved[41]; // 保留
|
|
|
}MV_FRAME_OUT_INFO_EX;
|
|
|
|
|
|
// 保存图片格式
|
|
|
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]
|
|
|
unsigned int nReserved[4];
|
|
|
|
|
|
}MV_SAVE_IMAGE_PARAM_EX;
|
|
|
|
|
|
|
|
|
|
|
|
// 采集模式
|
|
|
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设备的字节总数
|
|
|
|
|
|
|
|
|
// 某个节点对应的子节点个数最大值
|
|
|
#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_ */
|