879 lines
49 KiB
C
879 lines
49 KiB
C
#ifndef _MV_CODEREADER_PARAMS_H_
|
||
#define _MV_CODEREADER_PARAMS_H_
|
||
|
||
#include "MvCodeReaderPixelType.h"
|
||
|
||
#ifndef __cplusplus
|
||
typedef char bool;
|
||
#define true 1
|
||
#define false 0
|
||
#endif
|
||
|
||
/********************************宏定义类型************************************************************/
|
||
// 设备类型定义
|
||
#define MV_CODEREADER_UNKNOW_DEVICE 0x00000000 // 未知设备类型
|
||
#define MV_CODEREADER_GIGE_DEVICE 0x00000001 // GigE设备
|
||
#define MV_CODEREADER_1394_DEVICE 0x00000002 // 1394-a/b 设备
|
||
#define MV_CODEREADER_USB_DEVICE 0x00000004 // USB3.0 设备
|
||
#define MV_CODEREADER_CAMERALINK_DEVICE 0x00000008 // CameraLink设备
|
||
#define MV_CODEREADER_ID_DEVICE 0x00000010
|
||
|
||
// 异常消息类型
|
||
#define MV_CODEREADER_EXCEPTION_DEV_DISCONNECT 0x00008001 // 设备断开连接
|
||
#define MV_CODEREADER_EXCEPTION_VERSION_CHECK 0x00008002 // SDK与驱动版本不匹配
|
||
|
||
// 设备的访问模式
|
||
// 独占权限,其他APP只允许读CCP寄存器
|
||
#define MV_CODEREADER_ACCESS_Exclusive 1
|
||
// 可以从5模式下抢占权限,然后以独占权限打开
|
||
#define MV_CODEREADER_ACCESS_ExclusiveWithSwitch 2
|
||
// 控制权限,其他APP允许读所有寄存器
|
||
#define MV_CODEREADER_ACCESS_Control 3
|
||
// 可以从5的模式下抢占权限,然后以控制权限打开
|
||
#define MV_CODEREADER_ACCESS_ControlWithSwitch 4
|
||
// 以可被抢占的控制权限打开
|
||
#define MV_CODEREADER_ACCESS_ControlSwitchEnable 5
|
||
// 可以从5的模式下抢占权限,然后以可被抢占的控制权限打开
|
||
#define MV_CODEREADER_ACCESS_ControlSwitchEnableWithKey 6
|
||
// 读模式打开设备,适用于控制权限下
|
||
#define MV_CODEREADER_ACCESS_Monitor 7
|
||
|
||
// 设备信息最大长度
|
||
#define INFO_MAX_BUFFER_SIZE 64 // 最大信息长度
|
||
|
||
// 最大支持的设备个数
|
||
#define MV_CODEREADER_MAX_DEVICE_NUM 256
|
||
|
||
// 最大类型个数(适用于枚举类型)
|
||
#define MV_CODEREADER_MAX_XML_SYMBOLIC_NUM 64 // 支持最大枚举类型最大参数
|
||
|
||
// GigEVision IP配置方式
|
||
#define MV_CODEREADER_IP_CFG_STATIC 0x05000000 // 静态IP
|
||
#define MV_CODEREADER_IP_CFG_DHCP 0x06000000 // DHCP
|
||
#define MV_CODEREADER_IP_CFG_LLA 0x04000000 // LLA
|
||
|
||
// Event事件回调信息
|
||
#define MV_CODEREADER_MAX_EVENT_NAME_SIZE 128 // 相机Event事件名称最大长度
|
||
|
||
// 最大条码长度
|
||
#define MV_CODEREADER_MAX_BCR_CODE_LEN 256
|
||
// 最大条码长度扩展
|
||
#define MV_CODEREADER_MAX_BCR_CODE_LEN_EX 4096
|
||
// 最大OCR长度
|
||
#define MV_CODEREADER_MAX_OCR_LEN 128
|
||
|
||
// 一次最多输出条码个数
|
||
#define MAX_CODEREADER_BCR_COUNT 200
|
||
// 一次最多输出条码个数
|
||
#define MAX_CODEREADER_BCR_COUNT_EX 300
|
||
|
||
// 最大数据缓存
|
||
#define MV_CODEREADER_MAX_RESULT_SIZE (1024*64)
|
||
|
||
// 一次输出最大抠图个数
|
||
#define MAX_CODEREADER_WAYBILL_COUNT 50
|
||
// 一次输出最大OCR个数
|
||
#define MAX_CODEREADER_OCR_COUNT 100
|
||
|
||
// 输出协议类型
|
||
#define CommuPtlSmartSDK 1 // SamrtSDK协议
|
||
#define CommuPtlTcpIP 2 // TCPIP协议
|
||
#define CommuPtlSerial 3 // Serial协议
|
||
|
||
// 升级最大支持的设备个数
|
||
#define MV_CODEREADER_MAX_UPGARDEDEVICE_NUM 100
|
||
|
||
/************************************************************************/
|
||
/* 抠图参数,内部有默认值,可以不设置 */
|
||
/************************************************************************/
|
||
#define KEY_WAYBILL_ABILITY "WAYBILL_Ability" // 算法能力集,含面单提取[0x1],图像增强[0x2],码提取[0x4],Box拷贝模块[0x8],面单提取模块[0x10],模块最大编号[0x3F]
|
||
#define KEY_WAYBILL_MAX_WIDTH "WAYBILL_Max_Width" // 算法最大宽度,默认5472,范围[0,65535]
|
||
#define KEY_WAYBILL_MAX_HEIGHT "WAYBILL_Max_Height" // 算法最大高度,默认3648,范围[0,65535]
|
||
#define KEY_WAYBILL_OUTPUTIMAGETYPE "WAYBILL_OutputImageType" // 面单抠图输出的图片格式,默认Jpg,范围[1,3],1为Mono8,2为Jpg,3为Bmp
|
||
#define KEY_WAYBILL_JPGQUALITY "WAYBILL_JpgQuality" // jpg编码质量,默认80,范围[1,100]
|
||
#define KEY_WAYBILL_ENHANCEENABLE "WAYBILL_EnhanceEnable" // 图像增强使能,默认0,范围[0,1]
|
||
|
||
#define KEY_WAYBILL_MINWIDTH "WAYBILL_MinWidth" // waybill最小宽, 宽是长边, 高是短边,默认100,范围[15,2592]
|
||
#define KEY_WAYBILL_MINHEIGHT "WAYBILL_MinHeight" // waybill最小高,默认100,范围[10,2048]
|
||
#define KEY_WAYBILL_MAXWIDTH "WAYBILL_MaxWidth" // waybill最大宽, 宽是长边, 高是短边,默认3072,最小值15
|
||
#define KEY_WAYBILL_MAXHEIGHT "WAYBILL_MaxHeight" // waybill最大高,默认2048,最小值10
|
||
#define KEY_WAYBILL_MORPHTIMES "WAYBILL_MorphTimes" // 膨胀次数,默认0,范围[0,10]
|
||
#define KEY_WAYBILL_GRAYLOW "WAYBILL_GrayLow" // 面单上条码和字符灰度最小值,默认0,范围[0,255]
|
||
#define KEY_WAYBILL_GRAYMID "WAYBILL_GrayMid" // 面单上灰度中间值,用于区分条码和背景,默认70,范围[0,255]
|
||
#define KEY_WAYBILL_GRAYHIGH "WAYBILL_GrayHigh" // 面单上背景灰度最大值,默认130,范围[0,255]
|
||
#define KEY_WAYBILL_BINARYADAPTIVE "WAYBILL_BinaryAdaptive" // 自适应二值化,默认1,范围[0,1]
|
||
#define KEY_WAYBILL_BOUNDARYROW "WAYBILL_BoundaryRow" // 面单抠图行方向扩边,默认0,范围[0,2000]
|
||
#define KEY_WAYBILL_BOUNDARYCOL "WAYBILL_BoundaryCol" // 面单抠图列方向扩边,默认0,范围[0,2000]
|
||
#define KEY_WAYBILL_MAXBILLBARHEIGTHRATIO "WAYBILL_MaxBillBarHightRatio" // 最大面单和条码高度比例,默认20,范围[1,100]
|
||
#define KEY_WAYBILL_MAXBILLBARWIDTHRATIO "WAYBILL_MaxBillBarWidthRatio" // 最大面单和条码宽度比例,默认5,范围[1,100]
|
||
#define KEY_WAYBILL_MINBILLBARHEIGTHRATIO "WAYBILL_MinBillBarHightRatio" // 最小面单和条码高度比例,默认5,范围[1,100]
|
||
#define KEY_WAYBILL_MINBILLBARWIDTHRATIO "WAYBILL_MinBillBarWidthRatio" // 最小面单和条码宽度比例,默认2,范围[1,100]
|
||
#define KEY_WAYBILL_ENHANCEMETHOD "WAYBILL_EnhanceMethod" // 增强方法,最小值/默认值/不进行增强[0x1],线性拉伸[0x2],直方图拉伸[0x3],直方图均衡化[0x4],亮度校正/最大值[0x5]
|
||
#define KEY_WAYBILL_ENHANCECLIPRATIOLOW "WAYBILL_ClipRatioLow" // 增强拉伸低阈值比例,默认1,范围[0,100]
|
||
#define KEY_WAYBILL_ENHANCECLIPRATIOHIGH "WAYBILL_ClipRatioHigh" // 增强拉伸高阈值比例,默认99,范围[0,100]
|
||
#define KEY_WAYBILL_ENHANCECONTRASTFACTOR "WAYBILL_ContrastFactor" // 对比度系数,默认100,范围[1,10000]
|
||
#define KEY_WAYBILL_ENHANCESHARPENFACTOR "WAYBILL_SharpenFactor" // 锐化系数,默认0,范围[0,10000]
|
||
#define KEY_WAYBILL_SHARPENKERNELSIZE "WAYBILL_KernelSize" // 锐化滤波核大小,默认3,范围[3,15]
|
||
#define KEY_WAYBILL_CODEBOUNDARYROW "WAYBILL_CodeBoundaryRow" // 码单抠图行方向扩边,默认0,范围[0,2000]
|
||
#define KEY_WAYBILL_CODEBOUNDARYCOL "WAYBILL_CodeBoundaryCol" // 码单抠图列方向扩边,默认0,范围[0,2000]
|
||
|
||
/************************************************结构体类型**************************************************************/
|
||
|
||
// GigE设备信息
|
||
typedef struct _MV_CODEREADER_GIGE_DEVICE_INFO_
|
||
{
|
||
unsigned int nIpCfgOption; // 设备支持的IP类型
|
||
unsigned int nIpCfgCurrent; // 设备当前IP类型
|
||
unsigned int nCurrentIp; // 设备当前IP
|
||
unsigned int nCurrentSubNetMask; // 设备当前子网掩码
|
||
unsigned int nDefultGateWay; // 设备默认网关
|
||
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 nCurUserIP; // 当前占用设备的用户IP
|
||
unsigned int nReserved[3]; // 保留字节
|
||
|
||
}MV_CODEREADER_GIGE_DEVICE_INFO;
|
||
|
||
// U3V设备信息
|
||
typedef struct _MV_CODEREADER_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_CODEREADER_USB3_DEVICE_INFO;
|
||
|
||
// 设备信息
|
||
typedef struct _MV_CODEREADER_DEVICE_INFO_
|
||
{
|
||
unsigned short nMajorVer; // 设备主版本号
|
||
unsigned short nMinorVer; // 设备次版本号
|
||
unsigned int nMacAddrHigh; // 设备MAC地址高位
|
||
unsigned int nMacAddrLow; // 设备MAC地址低位
|
||
unsigned int nTLayerType; // 设备传输层协议类型
|
||
|
||
// 是否为指定系列型号相机
|
||
// true -指定系列型号相机 false- 非指定系列型号相机
|
||
bool bSelectDevice; // ch:选择设备 |en:Choose device
|
||
unsigned int nReserved[3]; // 保留字节
|
||
union
|
||
{
|
||
MV_CODEREADER_GIGE_DEVICE_INFO stGigEInfo; // GigE设备信息
|
||
MV_CODEREADER_USB3_DEVICE_INFO stUsb3VInfo; // U3V设备信息
|
||
// more ...
|
||
}SpecialInfo;
|
||
|
||
}MV_CODEREADER_DEVICE_INFO;
|
||
|
||
// 设备信息列表
|
||
typedef struct _MV_CODEREADER_DEVICE_INFO_LIST_
|
||
{
|
||
unsigned int nDeviceNum; // 在线设备数量
|
||
MV_CODEREADER_DEVICE_INFO* pDeviceInfo[MV_CODEREADER_MAX_DEVICE_NUM]; // 设备信息(支持最多256个设备)
|
||
|
||
}MV_CODEREADER_DEVICE_INFO_LIST;
|
||
|
||
// 输出帧信息
|
||
typedef struct _MV_CODEREADER_FRAME_OUT_INFO_
|
||
{
|
||
unsigned short nWidth; // 图像宽
|
||
unsigned short nHeight; // 图像高
|
||
enum MvCodeReaderGvspPixelType 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_CODEREADER_FRAME_OUT_INFO;
|
||
|
||
// ch:Chunk内容 | en:The content of ChunkData
|
||
typedef struct _MV_CODEREADER_CHUNK_DATA_CONTENT_
|
||
{
|
||
unsigned char* pChunkData;
|
||
unsigned int nChunkID;
|
||
unsigned int nChunkLen;
|
||
unsigned int nReserved[8]; // 保留
|
||
}MV_CODEREADER_CHUNK_DATA_CONTENT;
|
||
|
||
// 输出帧信息
|
||
typedef struct _MV_CODEREADER_FRAME_OUT_INFO_EX_
|
||
{
|
||
unsigned short nWidth; // 图像宽
|
||
unsigned short nHeight; // 图像高
|
||
enum MvCodeReaderGvspPixelType 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; // ROI X轴偏移
|
||
unsigned short nOffsetY; // ROI Y轴偏移
|
||
unsigned short nChunkWidth; // Chunk宽度
|
||
unsigned short nChunkHeight; // Chunk高度
|
||
unsigned int nLostPacket; // 本帧丢包数
|
||
unsigned int nUnparsedChunkNum; //未解析的Chunkdata个数
|
||
union
|
||
{
|
||
MV_CODEREADER_CHUNK_DATA_CONTENT* pUnparsedChunkContent;
|
||
int64_t nAligning;
|
||
}UnparsedChunkList;
|
||
|
||
unsigned int nReserved[36]; // 保留字节
|
||
}MV_CODEREADER_FRAME_OUT_INFO_EX;
|
||
|
||
// 图像显示信息
|
||
typedef struct _MV_CODEREADER_DISPLAY_FRAME_INFO_
|
||
{
|
||
void* hWnd; // 显示窗口句柄
|
||
unsigned char* pData; // 源图像数据
|
||
unsigned int nDataLen; // 源图像数据长度
|
||
unsigned short nWidth; // 源图像宽
|
||
unsigned short nHeight; // 源图像高
|
||
enum MvCodeReaderGvspPixelType enPixelType; // 源图像像素格式
|
||
unsigned int nRes[4]; // 保留字节
|
||
}MV_CODEREADER_DISPLAY_FRAME_INFO;
|
||
|
||
// 保存图片格式
|
||
enum MV_CODEREADER_IAMGE_TYPE
|
||
{
|
||
MV_CODEREADER_Image_Undefined = 0,
|
||
MV_CODEREADER_Image_Mono8 = 1,
|
||
MV_CODEREADER_Image_Jpeg = 2,
|
||
MV_CODEREADER_Image_Bmp = 3,
|
||
MV_CODEREADER_Image_RGB24 = 4,
|
||
MV_CODEREADER_Image_Png = 5, // Png图像(暂不支持)
|
||
MV_CODEREADER_Image_Tif = 6, // Tif图像(暂不支持)
|
||
};
|
||
|
||
// 保存图片参数
|
||
typedef struct _MV_CODEREADER_SAVE_IMAGE_PARAM_T_
|
||
{
|
||
unsigned char* pData; // 输入数据缓存
|
||
unsigned int nDataLen; // 输入数据大小
|
||
enum MvCodeReaderGvspPixelType enPixelType; // 输入数据的像素格式
|
||
unsigned short nWidth; // 图像宽
|
||
unsigned short nHeight; // 图像高
|
||
|
||
unsigned char* pImageBuffer; // 输出图片缓存
|
||
unsigned int nImageLen; // 输出图片大小
|
||
unsigned int nBufferSize; // 提供的输出缓冲区大小
|
||
enum MV_CODEREADER_IAMGE_TYPE enImageType; // 输出图片格式
|
||
}MV_CODEREADER_SAVE_IMAGE_PARAM;
|
||
|
||
// 图片保存参数
|
||
typedef struct _MV_CODEREADER_SAVE_IMAGE_PARAM_T_EX_
|
||
{
|
||
unsigned char* pData; // 输入数据缓存
|
||
unsigned int nDataLen; // 输入数据大小
|
||
enum MvCodeReaderGvspPixelType enPixelType; // 输入数据的像素格式
|
||
unsigned short nWidth; // 图像宽
|
||
unsigned short nHeight; // 图像高
|
||
|
||
unsigned char* pImageBuffer; // 输出图片缓存
|
||
unsigned int nImageLen; // 输出图片大小
|
||
unsigned int nBufferSize; // 提供的输出缓冲区大小
|
||
enum MV_CODEREADER_IAMGE_TYPE enImageType; // 输出图片格式
|
||
unsigned int nJpgQuality; // 编码质量, (50-99]
|
||
|
||
// 格式转为RGB24的插值方法 0-最近邻 1-双线性 2-Hamilton (如果传入其它值则默认为最近邻)
|
||
unsigned int iMethodValue; // 插值方式
|
||
unsigned int nReserved[3]; // 保留字节
|
||
}MV_CODEREADER_SAVE_IMAGE_PARAM_EX;
|
||
|
||
// 事件回调信息
|
||
typedef struct _MV_CODEREADER_EVENT_OUT_INFO_
|
||
{
|
||
char EventName[MV_CODEREADER_MAX_EVENT_NAME_SIZE]; // Event名称
|
||
unsigned short nEventID; // Event号
|
||
unsigned short nStreamChannel; // 流通道序号
|
||
unsigned int nBlockIdHigh; // 帧号高位
|
||
unsigned int nBlockIdLow; // 帧号低位
|
||
unsigned int nTimestampHigh; // 时间戳高位
|
||
unsigned int nTimestampLow; // 时间戳低位
|
||
void * pEventData; // Event数据
|
||
unsigned int nEventDataSize; // Event数据长度
|
||
|
||
unsigned int nReserved[16]; // 预留
|
||
}MV_CODEREADER_EVENT_OUT_INFO;
|
||
|
||
// 文件存取
|
||
typedef struct _MV_CODEREADER_FILE_ACCESS_T
|
||
{
|
||
const char * pUserFileName; // 用户文件名
|
||
const char * pDevFileName; // 设备文件名
|
||
unsigned int nReserved[32]; // 预留字节
|
||
}MV_CODEREADER_FILE_ACCESS;
|
||
|
||
// 文件存取进度
|
||
typedef struct _MV_CODEREADER_FILE_ACCESS_PROGRESS_T
|
||
{
|
||
int64_t nCompleted; // 已完成的长度
|
||
int64_t nTotal; // 总长度
|
||
unsigned int nReserved[8]; // 预留字节
|
||
}MV_CODEREADER_FILE_ACCESS_PROGRESS;
|
||
|
||
// Enum类型值
|
||
typedef struct _MV_CODEREADER_ENUMVALUE_T
|
||
{
|
||
unsigned int nCurValue; // 当前值
|
||
unsigned int nSupportedNum; // 有效数据个数
|
||
unsigned int nSupportValue[MV_CODEREADER_MAX_XML_SYMBOLIC_NUM]; // 支持的枚举类型
|
||
unsigned int nReserved[4]; // 保留字节
|
||
}MV_CODEREADER_ENUMVALUE;
|
||
|
||
// Int类型值
|
||
typedef struct _MV_CODEREADER_INTVALUE_T
|
||
{
|
||
unsigned int nCurValue; // 当前值
|
||
unsigned int nMax; // 最大值
|
||
unsigned int nMin; // 最小值
|
||
unsigned int nInc; // 增量值
|
||
unsigned int nReserved[4]; // 保留字节
|
||
}MV_CODEREADER_INTVALUE;
|
||
|
||
// Int类型值
|
||
typedef struct _MV_CODEREADER_INTVALUE_EX_T
|
||
{
|
||
int64_t nCurValue; // 当前值
|
||
int64_t nMax; // 最大值
|
||
int64_t nMin; // 最小值
|
||
int64_t nInc; // 增量值
|
||
unsigned int nReserved[16]; // 保留字节
|
||
}MV_CODEREADER_INTVALUE_EX;
|
||
|
||
// Float类型值
|
||
typedef struct _MV_CODEREADER_FLOATVALUE_T
|
||
{
|
||
float fCurValue; // 当前值
|
||
float fMax; // 最大值
|
||
float fMin; // 最小值
|
||
unsigned int nReserved[4]; // 保留字节
|
||
}MV_CODEREADER_FLOATVALUE;
|
||
|
||
// String类型值
|
||
typedef struct _MV_CODEREADER_STRINGVALUE_T
|
||
{
|
||
char chCurValue[256]; // 当前值
|
||
int64_t nMaxLength; // 最大长度
|
||
unsigned int nReserved[2]; // 保留字节
|
||
}MV_CODEREADER_STRINGVALUE;
|
||
|
||
|
||
// Int型坐标
|
||
typedef struct _MV_CODEREADER_POINT_I_
|
||
{
|
||
int x; // x坐标
|
||
int y; // y坐标
|
||
}MV_CODEREADER_POINT_I;
|
||
|
||
// Float型坐标
|
||
typedef struct _MV_CODEREADER_POINT_F_
|
||
{
|
||
float x; // x坐标
|
||
float y; // y坐标
|
||
}MV_CODEREADER_POINT_F;
|
||
|
||
// 输出帧信息
|
||
typedef struct _MV_CODEREADER_IMAGE_OUT_INFO_
|
||
{
|
||
unsigned short nWidth; // 图像宽
|
||
unsigned short nHeight; // 图像高
|
||
enum MvCodeReaderGvspPixelType enPixelType; // 像素或图片格式
|
||
|
||
unsigned int nTriggerIndex; // 触发序号
|
||
unsigned int nFrameNum; // 帧号
|
||
unsigned int nFrameLen; // 当前帧数据大小
|
||
unsigned int nTimeStampHigh; // 时间戳高32位
|
||
unsigned int nTimeStampLow; // 时间戳低32位
|
||
|
||
unsigned int nResultType; // 输出消息类型
|
||
|
||
unsigned char chResult[MV_CODEREADER_MAX_RESULT_SIZE]; // 根据消息类型对应不同结构体
|
||
bool bIsGetCode; // 是否读到条码
|
||
|
||
unsigned char* pImageWaybill; // 面单图像
|
||
unsigned int nImageWaybillLen; // 面单数据大小
|
||
enum MV_CODEREADER_IAMGE_TYPE enWaybillImageType; // 面单图像类型
|
||
|
||
unsigned int bFlaseTrigger; // 是否误触发
|
||
unsigned int nFocusScore; // 聚焦得分
|
||
|
||
unsigned int nChannelID; // 对应Stream通道序号
|
||
unsigned int nImageCost; // 帧图像在相机内部的处理耗时
|
||
|
||
unsigned int nReserved[6]; // 保留字节
|
||
}MV_CODEREADER_IMAGE_OUT_INFO;
|
||
|
||
// 条码信息
|
||
typedef struct _MV_CODEREADER_BCR_INFO_
|
||
{
|
||
unsigned int nID; // 条码ID
|
||
char chCode[MV_CODEREADER_MAX_BCR_CODE_LEN]; // 字符
|
||
unsigned int nLen; // 字符长度
|
||
unsigned int nBarType; // 条码类型
|
||
|
||
MV_CODEREADER_POINT_I pt[4]; // 条码位置
|
||
|
||
// 一维码:以图像x正轴为基准,顺时针0-3600度;二维码:以图像x正轴为基准,逆时针0-3600度
|
||
int nAngle; // 条码角度(10倍)(0~3600)
|
||
unsigned int nMainPackageId; // 主包ID
|
||
unsigned int nSubPackageId; // 次包ID
|
||
unsigned short sAppearCount; // 条码被识别的次数
|
||
unsigned short sPPM; // PPM(10倍)
|
||
unsigned short sAlgoCost; // 算法耗时
|
||
unsigned short sSharpness; // 图像清晰度(10倍)
|
||
} MV_CODEREADER_BCR_INFO;
|
||
|
||
// 条码信息列表
|
||
typedef struct _MV_CODEREADER_RESULT_BCR_
|
||
{
|
||
unsigned int nCodeNum; // 条码数量
|
||
MV_CODEREADER_BCR_INFO stBcrInfo[MAX_CODEREADER_BCR_COUNT]; // 条码信息
|
||
unsigned int nReserved[4]; // 保留字节
|
||
}MV_CODEREADER_RESULT_BCR;
|
||
|
||
// 条码质量(质量分5等[0,4], 越高等质量越好; 1D指一维码,2D指二维码)
|
||
typedef struct _MV_CODEREADER_CODE_INFO_
|
||
{
|
||
// 等级
|
||
int nOverQuality; // 总体质量评分(1D/2D共用)
|
||
int nDeCode; // 译码评分(1D/2D共用)
|
||
int nSCGrade; // Symbol Contrast对比度质量评分(1D/2D共用)
|
||
int nModGrade; // modulation模块均匀性评分(1D/2D共用)
|
||
|
||
// 2D等级
|
||
int nFPDGrade; // fixed_pattern_damage评分
|
||
int nANGrade; // axial_nonuniformity码轴规整性评分
|
||
int nGNGrade; // grid_nonuniformity基础grid均匀性质量评分
|
||
int nUECGrade; // unused_error_correction未使用纠错功能评分
|
||
int nPGHGrade; // Print Growth Horizontal 打印伸缩(水平)评分
|
||
int nPGVGrade; // Print Growth Veritical 打印伸缩(垂直)评分
|
||
|
||
// 分数
|
||
float fSCScore; // Symbol Contrast对比度质量分数(1D/2D共用)
|
||
float fModScore; // modulation模块均匀性分数(1D/2D共用)
|
||
|
||
// 2D分数
|
||
float fFPDScore; // fixed_pattern_damage分数
|
||
float fAnScore; // axial_nonuniformity码轴规整性分数
|
||
float fGNScore; // grid_nonuniformity基础grid均匀性质量分数
|
||
float fUECScore; // unused_error_correction未使用纠错功能分数
|
||
float fPGHScore; // Print Growth Horizontal 打印伸缩(水平)分数
|
||
float fPGVScore; // Print Growth Veritical 打印伸缩(垂直)分数
|
||
|
||
int nRMGrade; // reflectance margin反射率余量评分
|
||
float fRMScore; // reflectance margin反射率余量分数
|
||
|
||
// 1D等级
|
||
int n1DEdgeGrade; // edge determination 边缘确定度质量等级
|
||
int n1DMinRGrade; // minimum reflectance 最小反射率质量等级
|
||
int n1DMinEGrade; // minimum edge contrast 最小边缘对比度质量等级
|
||
int n1DDcdGrade; // decodability 可译码性质量等级
|
||
int n1DDefGrade; // defects 缺陷质量等级
|
||
int n1DQZGrade; // quiet zone 静区质量等级
|
||
|
||
// 1D分数
|
||
float f1DEdgeScore; // edge determination 边缘确定度分数
|
||
float f1DMinRScore; // minimum reflectance 最小反射率分数
|
||
float f1DMinEScore; // minimum edge contrast 最小边缘对比度分数
|
||
float f1DDcdScore; // decodability 可译码性分数
|
||
float f1DDefScore; // defects 缺陷分数
|
||
float f1DQZScore; // quiet zone 静区分数
|
||
|
||
int nReserved[18]; //预留
|
||
} MV_CODEREADER_CODE_INFO;
|
||
|
||
// 带质量信息的BCR信息
|
||
typedef struct _MV_CODEREADER_BCR_INFO_EX_
|
||
{
|
||
unsigned int nID; // 条码ID
|
||
char chCode[MV_CODEREADER_MAX_BCR_CODE_LEN]; // 字符识别长度为256
|
||
unsigned int nLen; // 字符长度
|
||
unsigned int nBarType; // 条码类型
|
||
MV_CODEREADER_POINT_I pt[4]; // 条码位置
|
||
MV_CODEREADER_CODE_INFO stCodeQuality; // 条码质量评价
|
||
|
||
// 一维码:以图像x正轴为基准,顺时针0-3600度;二维码:以图像x正轴为基准,逆时针0-3600度
|
||
int nAngle; // 条码角度(10倍)(0~3600)
|
||
unsigned int nMainPackageId; // 主包ID
|
||
unsigned int nSubPackageId; // 次包ID
|
||
unsigned short sAppearCount; // 条码被识别的次数
|
||
unsigned short sPPM; // PPM(10倍)
|
||
unsigned short sAlgoCost; // 算法耗时(ms)
|
||
unsigned short sSharpness; // 清晰度
|
||
bool bIsGetQuality; // 是否支持二维码质量评级
|
||
unsigned int nIDRScore; // 读码评分
|
||
unsigned int n1DIsGetQuality; // 是否支持一维码质量评级(0-不支持 1-支持)
|
||
unsigned int nTotalProcCost; // 从触发开始到APP输出时间统计(ms)
|
||
unsigned int nTriggerTimeTvHigh; // 触发开始时间高32位(s)
|
||
unsigned int nTriggerTimeTvLow; // 触发开始时间低32位(s)
|
||
unsigned int nTriggerTimeUtvHigh; // 触发开始时间低32位(us)
|
||
unsigned int nTriggerTimeUtvLow; // 触发开始时间低32位(us)
|
||
unsigned int nReserved[24]; // 预留
|
||
} MV_CODEREADER_BCR_INFO_EX;
|
||
|
||
// 条码信息加条码质量列表
|
||
typedef struct _MV_CODEREADER_RESULT_BCR_EX_
|
||
{
|
||
unsigned int nCodeNum; // 条码数量
|
||
MV_CODEREADER_BCR_INFO_EX stBcrInfoEx[MAX_CODEREADER_BCR_COUNT]; // 条码信息
|
||
unsigned int nReserved[4]; // 保留字节
|
||
}MV_CODEREADER_RESULT_BCR_EX;
|
||
|
||
// 带质量信息且条码字符扩展的BCR信息
|
||
typedef struct _MV_CODEREADER_BCR_INFO_EX_2_
|
||
{
|
||
unsigned int nID; // 条码ID
|
||
char chCode[MV_CODEREADER_MAX_BCR_CODE_LEN_EX]; // 字符可识别长度扩展至4096
|
||
unsigned int nLen; // 字符实际真实长度
|
||
unsigned int nBarType; // 条码类型
|
||
MV_CODEREADER_POINT_I pt[4]; // 条码位置
|
||
MV_CODEREADER_CODE_INFO stCodeQuality; // 条码质量评价
|
||
|
||
// 一维码:以图像x正轴为基准,顺时针0-3600度;二维码:以图像x正轴为基准,逆时针0-3600度
|
||
int nAngle; // 条码角度(10倍)(0~3600)
|
||
unsigned int nMainPackageId; // 主包ID
|
||
unsigned int nSubPackageId; // 次包ID
|
||
unsigned short sAppearCount; // 条码被识别的次数
|
||
unsigned short sPPM; // PPM(10倍)
|
||
unsigned short sAlgoCost; // 算法耗时(ms)
|
||
unsigned short sSharpness; // 清晰度
|
||
bool bIsGetQuality; // 是否支持二维码质量评级
|
||
unsigned int nIDRScore; // 读码评分
|
||
unsigned int n1DIsGetQuality; // 是否支持一维码质量评级(0-不支持 1-支持)
|
||
unsigned int nTotalProcCost; // 从触发开始到APP输出时间统计(ms)
|
||
unsigned int nTriggerTimeTvHigh; // 触发开始时间高32位(s)
|
||
unsigned int nTriggerTimeTvLow; // 触发开始时间低32位(s)
|
||
unsigned int nTriggerTimeUtvHigh; // 触发开始时间低32位(us)
|
||
unsigned int nTriggerTimeUtvLow; // 触发开始时间低32位(us)
|
||
int nReserved[59]; // 预留
|
||
} MV_CODEREADER_BCR_INFO_EX2;
|
||
|
||
// 条码信息字符扩展加条码质量列表
|
||
typedef struct _MV_CODEREADER_RESULT_BCR_EX_2_
|
||
{
|
||
unsigned int nCodeNum; // 条码数量(扩展)
|
||
MV_CODEREADER_BCR_INFO_EX2 stBcrInfoEx2[MAX_CODEREADER_BCR_COUNT_EX]; // 条码信息(条码字符扩展)
|
||
unsigned int nReserved[8]; // 保留字节
|
||
}MV_CODEREADER_RESULT_BCR_EX2;
|
||
|
||
// 抠图面单信息
|
||
typedef struct _MV_CODEREADER_WAYBILL_INFO_
|
||
{
|
||
// 面单坐标信息
|
||
float fCenterX; // 中心点列坐标
|
||
float fCenterY; // 中心点行坐标
|
||
float fWidth; // 矩形宽度,宽度为长半轴
|
||
float fHeight; // 矩形高度,高度为短半轴
|
||
float fAngle; // 矩形角度
|
||
float fConfidence; // 置信度
|
||
|
||
// 面单图片
|
||
unsigned char* pImageWaybill;
|
||
unsigned int nImageLen;
|
||
|
||
unsigned int nOcrRowNum; // 当前面单内的ocr行数
|
||
unsigned int nReserved[11];
|
||
}MV_CODEREADER_WAYBILL_INFO;
|
||
|
||
// 面单信息列表
|
||
typedef struct _MV_CODEREADER_WAYBILL_LIST_
|
||
{
|
||
unsigned int nWaybillNum; // 面单数量
|
||
enum MV_CODEREADER_IAMGE_TYPE enWaybillImageType; // 面单图像类型,可选择bmp、raw、jpg输出
|
||
MV_CODEREADER_WAYBILL_INFO stWaybillInfo[MAX_CODEREADER_WAYBILL_COUNT]; // 面单信息
|
||
unsigned int nOcrAllNum; // 所有面单内的OCR总行数 面单1(ocr)+面单2(ocr)+...
|
||
unsigned int nReserved[3]; // 保留字节
|
||
}MV_CODEREADER_WAYBILL_LIST;
|
||
|
||
// OCR基础信息
|
||
typedef struct _MV_CODEREADER_OCR_ROW_INFO_
|
||
{
|
||
unsigned int nID; // OCR ID
|
||
unsigned int nOcrLen; // OCR字符实际真实长度
|
||
char chOcr[MV_CODEREADER_MAX_OCR_LEN]; // 识别到的OCR字符
|
||
float fCharConfidence; // 字符行整体置信度
|
||
unsigned int nOcrRowCenterX; // 单行OCR中心点列坐标
|
||
unsigned int nOcrRowCenterY; // 单行OCR中心点行坐标
|
||
unsigned int nOcrRowWidth; // 单行OCR矩形宽度,宽度为长半轴
|
||
unsigned int nOcrRowHeight; // 单行OCR矩形高度,高度为短半轴
|
||
float fOcrRowAngle; // 单行OCR矩形角度
|
||
float fDeteConfidence; // 单行OCR定位置信度
|
||
unsigned short sOcrAlgoCost; // OCR算法耗时 单位ms
|
||
|
||
unsigned short sReserved; // 预留
|
||
int nReserved[31];
|
||
}MV_CODEREADER_OCR_ROW_INFO;
|
||
|
||
// OCR信息列表
|
||
typedef struct _MV_CODEREADER_OCR_INFO_LIST_
|
||
{
|
||
unsigned int nOCRAllNum; // 所有面单内的OCR总行数
|
||
MV_CODEREADER_OCR_ROW_INFO stOcrRowInfo[MAX_CODEREADER_OCR_COUNT]; // OCR行基础信息
|
||
int nReserved[8]; // 保留字节
|
||
}MV_CODEREADER_OCR_INFO_LIST;
|
||
|
||
// 图像输出信息扩展(OCR信息)
|
||
typedef struct _MV_CODEREADER_IMAGE_OUT_INFO_EX_
|
||
{
|
||
unsigned short nWidth; // 图像宽
|
||
unsigned short nHeight; // 图像高
|
||
enum MvCodeReaderGvspPixelType enPixelType; // 像素或图片格式
|
||
|
||
unsigned int nTriggerIndex; // 触发序号
|
||
unsigned int nFrameNum; // 帧号
|
||
unsigned int nFrameLen; // 当前帧数据大小
|
||
unsigned int nTimeStampHigh; // 时间戳高32位
|
||
unsigned int nTimeStampLow; // 时间戳低32位
|
||
unsigned int bFlaseTrigger; // 是否误触发
|
||
unsigned int nFocusScore; // 聚焦得分
|
||
bool bIsGetCode; // 是否读到条码
|
||
MV_CODEREADER_RESULT_BCR* pstCodeList; // 条码信息列表
|
||
MV_CODEREADER_WAYBILL_LIST* pstWaybillList; // 面单信息
|
||
|
||
unsigned int nEventID; // 事件ID
|
||
unsigned int nChannelID; // 对应Stream通道序号
|
||
unsigned int nImageCost; // 帧图像在相机内部的处理耗时
|
||
|
||
union
|
||
{
|
||
MV_CODEREADER_OCR_INFO_LIST* pstOcrList; // OCR信息
|
||
int64_t nAligning;
|
||
}UnparsedOcrList;
|
||
|
||
unsigned int nReserved[4]; // 保留字节
|
||
}MV_CODEREADER_IMAGE_OUT_INFO_EX;
|
||
|
||
// 图像输出信息扩展(条码信息扩展,条码最大个数,条码字符长度扩展为4096)
|
||
typedef struct _MV_CODEREADER_IMAGE_OUT_INFO_EX_2_
|
||
{
|
||
unsigned short nWidth; // 图像宽
|
||
unsigned short nHeight; // 图像高
|
||
enum MvCodeReaderGvspPixelType enPixelType; // 像素或图片格式
|
||
|
||
unsigned int nTriggerIndex; // 触发序号
|
||
unsigned int nFrameNum; // 帧号
|
||
unsigned int nFrameLen; // 当前帧数据大小
|
||
unsigned int nTimeStampHigh; // 时间戳高32位
|
||
unsigned int nTimeStampLow; // 时间戳低32位
|
||
unsigned int bFlaseTrigger; // 是否误触发
|
||
unsigned int nFocusScore; // 聚焦得分
|
||
bool bIsGetCode; // 是否读到条码
|
||
MV_CODEREADER_RESULT_BCR_EX* pstCodeListEx; // 条码信息列表
|
||
|
||
MV_CODEREADER_WAYBILL_LIST* pstWaybillList; // 面单信息
|
||
|
||
unsigned int nEventID; // 事件ID
|
||
unsigned int nChannelID; // 对应Stream通道序号
|
||
unsigned int nImageCost; // 帧图像在相机内部的处理耗时
|
||
|
||
union
|
||
{
|
||
MV_CODEREADER_RESULT_BCR_EX2* pstCodeListEx2; // 条码信息(条码字符长度扩展)建议以该扩展条码字符的条码信息解析条码
|
||
int64_t nAligning;
|
||
}UnparsedBcrList;
|
||
|
||
union
|
||
{
|
||
MV_CODEREADER_OCR_INFO_LIST* pstOcrList; // OCR信息
|
||
int64_t nAligning;
|
||
}UnparsedOcrList;
|
||
|
||
unsigned int nReserved[26]; // 保留字节
|
||
}MV_CODEREADER_IMAGE_OUT_INFO_EX2;
|
||
|
||
// 触发信息
|
||
typedef struct _MV_CODEREADER_TRIGGER_INFO_DATA_
|
||
{
|
||
unsigned int nTriggerIndex; // 触发序号 即同步触发号
|
||
unsigned int nTriggerFlag; //触发状态 (1开始 0结束)
|
||
|
||
// 当前的触发状态对应的时间戳(分高、低位传输各4个字节)
|
||
unsigned int nTriggerTimeHigh; // 触发时间高4位
|
||
unsigned int nTriggerTimeLow; // 触发时间低4位
|
||
|
||
unsigned int nOriginalTrigger; // 原生触发号(相机自带的触发号)
|
||
unsigned short nIsForceOver; // 是否强制结束(0--正常结束 1--强制结束 属于相机内部机制主动传输 上层无法设置生效)
|
||
unsigned short nIsMainCam; // 主从标记 1--主相机 0--从相机
|
||
int64_t nHostTimeStamp; // 主机生成的时间戳
|
||
unsigned int reserved[30]; // 预留
|
||
}MV_CODEREADER_TRIGGER_INFO_DATA;
|
||
|
||
// 触发模式
|
||
typedef enum _MV_CODEREADER_TRIGGER_MODE_
|
||
{
|
||
MV_CODEREADER_TRIGGER_MODE_OFF = 0, // 触发关闭
|
||
MV_CODEREADER_TRIGGER_MODE_ON = 1, // 触发打开
|
||
}MV_CODEREADER_TRIGGER_MODE;
|
||
|
||
// 触发源
|
||
typedef enum _MV_CODEREADER_TRIGGER_SOURCE_
|
||
{
|
||
MV_CODEREADER_TRIGGER_SOURCE_LINE0 = 0, // Line0
|
||
MV_CODEREADER_TRIGGER_SOURCE_LINE1 = 1, // Line1
|
||
MV_CODEREADER_TRIGGER_SOURCE_LINE2 = 2, // Line2
|
||
MV_CODEREADER_TRIGGER_SOURCE_LINE3 = 3, // Line3
|
||
MV_CODEREADER_TRIGGER_SOURCE_COUNTER0 = 4, // 计数器0触发
|
||
MV_CODEREADER_TRIGGER_SOURCE_TCPSERVERSTART = 5, // Tcp服务器触发
|
||
MV_CODEREADER_TRIGGER_SOURCE_UDPSTART = 6, // Udp触发
|
||
MV_CODEREADER_TRIGGER_SOURCE_SOFTWARE = 7, // 软触发
|
||
MV_CODEREADER_TRIGGER_SOURCE_SERIALSTART = 8, // 串口触发
|
||
MV_CODEREADER_TRIGGER_SOURCE_SELFTRIGGER = 9, // 自触发
|
||
MV_CODEREADER_TRIGGER_SOURCE_MAINSUB = 10, // 主从触发
|
||
MV_CODEREADER_TRIGGER_SOURCE_TCPCLIENTSTART = 12, // Tcp客户端触发
|
||
|
||
}MV_CODEREADER_TRIGGER_SOURCE;
|
||
|
||
// 条码类型
|
||
typedef enum _MV_CODEREADER_CODE_TYPE_
|
||
{
|
||
MV_CODEREADER_CODE_NONE = 0, // 无可识别条码
|
||
|
||
// 二维码
|
||
MV_CODEREADER_TDCR_DM = 1, // DM码
|
||
MV_CODEREADER_TDCR_QR = 2, // QR码
|
||
MV_CODEREADER_TDCR_MICROQR = 140, // MicroQR码
|
||
|
||
// 一维码
|
||
MV_CODEREADER_BCR_EAN8 = 8, // EAN8码
|
||
MV_CODEREADER_BCR_UPCE = 9, // UPCE码
|
||
MV_CODEREADER_BCR_UPCA = 12, // UPCA码
|
||
MV_CODEREADER_BCR_EAN13 = 13, // EAN13码
|
||
MV_CODEREADER_BCR_ISBN13 = 14, // ISBN13码
|
||
MV_CODEREADER_BCR_CODABAR = 20, // 库德巴码
|
||
MV_CODEREADER_BCR_ITF25 = 25, // 交叉25码
|
||
MV_CODEREADER_BCR_CODE39 = 39, // Code 39
|
||
MV_CODEREADER_BCR_CODE93 = 93, // Code 93
|
||
MV_CODEREADER_BCR_CODE128 = 128, // Code 128
|
||
|
||
MV_CODEREADER_TDCR_PDF417 = 131, // PDF417码
|
||
|
||
MV_CODEREADER_BCR_MATRIX25 = 26, // MATRIX25码
|
||
MV_CODEREADER_BCR_MSI = 30, // MSI码
|
||
MV_CODEREADER_BCR_CODE11 = 31, // code11
|
||
MV_CODEREADER_BCR_INDUSTRIAL25 = 32, // industrial25
|
||
MV_CODEREADER_BCR_CHINAPOST = 33, // 中国邮政码
|
||
MV_CODEREADER_BCR_ITF14 = 27, // 交叉14码
|
||
|
||
MV_CODEREADER_BCR_PHARMACODE = 36, // Pharmacode码
|
||
MV_CODEREADER_BCR_PHARMACODE2D = 37, // Pharmacode Two Track码
|
||
|
||
MV_CODEREADER_TDCR_ECC140 = 133, // ECC140码制
|
||
MV_CODEREADER_TDCR_AZTEC = 132, // AZTEC码
|
||
|
||
}MV_CODEREADER_CODE_TYPE;
|
||
|
||
|
||
|
||
// 节点访问模式
|
||
enum MV_CODEREADER_XML_AccessMode
|
||
{
|
||
MV_CODEREADER_AM_NI, // 节点未实现
|
||
MV_CODEREADER_AM_NA, // 节点不可达
|
||
MV_CODEREADER_AM_WO, // 节点只写
|
||
MV_CODEREADER_AM_RO, // 节点只读
|
||
MV_CODEREADER_AM_RW, // 节点可读可写
|
||
MV_CODEREADER_AM_Undefined, // 节点未定义
|
||
MV_CODEREADER_AM_CycleDetect, // 节点需周期检测
|
||
};
|
||
|
||
// 每个节点对应的接口类型
|
||
enum MV_CODEREADER_XML_InterfaceType
|
||
{
|
||
MV_CODEREADER_IFT_IValue, // Value类型值
|
||
MV_CODEREADER_IFT_IBase, // Base类型值
|
||
MV_CODEREADER_IFT_IInteger, // Integer类型值
|
||
MV_CODEREADER_IFT_IBoolean, // Boolean类型值
|
||
MV_CODEREADER_IFT_ICommand, // Command类型值
|
||
MV_CODEREADER_IFT_IFloat, // Float类型值
|
||
MV_CODEREADER_IFT_IString, // String类型值
|
||
MV_CODEREADER_IFT_IRegister, // Register类型值
|
||
MV_CODEREADER_IFT_ICategory, // Category类型值
|
||
MV_CODEREADER_IFT_IEnumeration, // Enumeration类型值
|
||
MV_CODEREADER_IFT_IEnumEntry, // EnumEntry类型值
|
||
MV_CODEREADER_IFT_IPort, // Port类型值
|
||
};
|
||
|
||
// 输出信息类型
|
||
enum MvCodeReaderType
|
||
{
|
||
CodeReader_ResType_NULL = 0, // 没有结果输出
|
||
CodeReader_ResType_BCR = 1, // 输出信息为BCR(对应结构体 MV_CODEREADER_RESULT_BCR)
|
||
};
|
||
|
||
/************************************************************************/
|
||
/* 升级相关高级参数 */
|
||
/************************************************************************/
|
||
|
||
// 设备运行状态
|
||
enum MV_CODEREADER_PROGRAM_STATE
|
||
{
|
||
MV_CODEREADER_PROGRAM_UNKNOWN, // 未知状态
|
||
MV_CODEREADER_PROGRAM_RUNNING, // 设备正在运行
|
||
MV_CODEREADER_PROGRAM_STOP // 设备停止运行
|
||
};
|
||
|
||
// 设备当前连接状态
|
||
typedef enum _MV_CODEREADER_DEVICE_CONNECT_STATUS_
|
||
{
|
||
MV_CODEREADER_DEVICE_STATUS_FREE = 1, // 空闲状态
|
||
MV_CODEREADER_DEVICE_STATUS_BASE = 2, // 第三方连接状态
|
||
|
||
}MV_CODEREADER_DEVICE_CONNECT_STATUS;
|
||
|
||
//明场/暗场矫正模式
|
||
typedef enum _MV_CODEREADER_FIELD_CORRECT_MODE_
|
||
{
|
||
MV_CODEREADER_DARK_FILED_CORRECT = 0, // 暗场校验
|
||
MV_CODEREADER_BRIGHT_FILED_CORRECT = 1, // 明场校验
|
||
MV_CODEREADER_INVAILED_FILED_CORRECT = 2, // 无效校验
|
||
|
||
}MV_CODEREADER_FIELD_CORRECT_MODE;
|
||
|
||
#endif /* _MV_CODEREADER_PARAMS_H_ */
|