527 lines
14 KiB
C
527 lines
14 KiB
C
|
|
#ifndef _CommDef_H_
|
|||
|
|
#define _CommDef_H_
|
|||
|
|
|
|||
|
|
#ifndef _byte_def_
|
|||
|
|
#define _byte_def_
|
|||
|
|
typedef unsigned char BYTE, Byte, byte;
|
|||
|
|
#endif
|
|||
|
|
|
|||
|
|
#include <thread>
|
|||
|
|
#include <chrono>
|
|||
|
|
using namespace std;
|
|||
|
|
|
|||
|
|
#define DefaultImageWidth 1280
|
|||
|
|
#define DefaultImageHeight 1024
|
|||
|
|
#define DefaultMaxImageSize (1920*1080*4)
|
|||
|
|
#define BUFF_SIZE 1040
|
|||
|
|
#define MAX_UP_SIZE 20*1024*1024
|
|||
|
|
#define MAX_FRAME_LENGTH 32768 // 每包最大128字节有效数据
|
|||
|
|
#define MAX_QUALITY_PARAMS 100 //质量评估计算指标个数
|
|||
|
|
|
|||
|
|
|
|||
|
|
typedef unsigned short UINT16;
|
|||
|
|
|
|||
|
|
|
|||
|
|
////////////////////////////////////////////////////
|
|||
|
|
|
|||
|
|
|
|||
|
|
#include <QString>
|
|||
|
|
#include <QSerialPort>
|
|||
|
|
|
|||
|
|
enum EUFormatType
|
|||
|
|
{
|
|||
|
|
ETYPE_BIT = 0, //二进制
|
|||
|
|
ETYPE_OX = 1, //带0x
|
|||
|
|
ETYPE_UX = 2, //不带0x
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
enum EUConvertType
|
|||
|
|
{
|
|||
|
|
ECONVERT_OX = 0, //不带0x开头转换为0x开头的
|
|||
|
|
ECONVERT_BIT = 1, //不带0x开头的转换成二进制(前面加12个字节)
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
//机芯版本
|
|||
|
|
enum EUSetSystemType
|
|||
|
|
{
|
|||
|
|
SYSTEM_FPGA_ISP1 = 0, //老版本ISP
|
|||
|
|
SYSTEM_FPGA_ISP2 = 1, //新版本ISP
|
|||
|
|
SYSTEM_ASIC = 2, //ASIC机芯
|
|||
|
|
SYSTEM_BUTT
|
|||
|
|
};
|
|||
|
|
// 像素类型
|
|||
|
|
|
|||
|
|
/*
|
|||
|
|
* @class Settings
|
|||
|
|
* @brief 串口参数设置
|
|||
|
|
*
|
|||
|
|
* @param name 串口名称
|
|||
|
|
* @param baudRate 波特率
|
|||
|
|
* @param stringBaudRate 波特率字符串
|
|||
|
|
*/
|
|||
|
|
struct ComSettings
|
|||
|
|
{
|
|||
|
|
QString name;
|
|||
|
|
qint32 baudRate;
|
|||
|
|
QString stringBaudRate;
|
|||
|
|
QSerialPort::DataBits dataBits;
|
|||
|
|
QString stringDataBits;
|
|||
|
|
QSerialPort::Parity parity;
|
|||
|
|
QString stringParity;
|
|||
|
|
QSerialPort::StopBits stopBits;
|
|||
|
|
QString stringStopBits;
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
|
|||
|
|
/************************************************
|
|||
|
|
**调光算法设置信息
|
|||
|
|
************************************************/
|
|||
|
|
typedef struct tagTG
|
|||
|
|
{
|
|||
|
|
int Y8MapIdx;
|
|||
|
|
//去锅盖
|
|||
|
|
bool DeGuoGaiArith;
|
|||
|
|
bool GuoGaiModel;
|
|||
|
|
|
|||
|
|
//时域滤波
|
|||
|
|
bool IsTimeFilter;
|
|||
|
|
int TFSigma;
|
|||
|
|
|
|||
|
|
//竖纹
|
|||
|
|
int DestripArithIdx;
|
|||
|
|
int StripWeight;
|
|||
|
|
int StripStd;
|
|||
|
|
|
|||
|
|
//去噪
|
|||
|
|
int DenoiseArith;
|
|||
|
|
int DenoiseStd;
|
|||
|
|
|
|||
|
|
//增强
|
|||
|
|
int DDEArith;
|
|||
|
|
int DDEParam;
|
|||
|
|
int IDEArith;
|
|||
|
|
//bool CalcNUC = false;
|
|||
|
|
int FlagT;
|
|||
|
|
//bool CalcSNR = false;
|
|||
|
|
|
|||
|
|
bool DeBadPixel;
|
|||
|
|
bool Clahe;
|
|||
|
|
unsigned short* GuogaiB;
|
|||
|
|
|
|||
|
|
tagTG()
|
|||
|
|
{
|
|||
|
|
Y8MapIdx = 0;
|
|||
|
|
DeGuoGaiArith = false;
|
|||
|
|
GuoGaiModel = false;
|
|||
|
|
IsTimeFilter = false;
|
|||
|
|
TFSigma = 10;
|
|||
|
|
DestripArithIdx = 0;
|
|||
|
|
StripWeight = 3700;
|
|||
|
|
StripStd = 50;
|
|||
|
|
DenoiseArith = 0;
|
|||
|
|
DenoiseStd = 50;
|
|||
|
|
DDEArith = 0;
|
|||
|
|
DDEParam = 1;
|
|||
|
|
IDEArith = 0;
|
|||
|
|
FlagT = 0;
|
|||
|
|
DeBadPixel = false;
|
|||
|
|
Clahe = false;
|
|||
|
|
GuogaiB = NULL;
|
|||
|
|
}
|
|||
|
|
}TG;
|
|||
|
|
|
|||
|
|
/************************************************
|
|||
|
|
**机芯参数一键设置信息
|
|||
|
|
************************************************/
|
|||
|
|
typedef struct tagEngInfo{
|
|||
|
|
ushort Fps; //帧频
|
|||
|
|
ushort Width; //分辨率宽
|
|||
|
|
ushort Height; //分辨率高
|
|||
|
|
ushort SoftVerA; //软核版本号
|
|||
|
|
ushort SoftVerX; //软核版本号
|
|||
|
|
ushort SoftVerY; //软核版本号
|
|||
|
|
ushort SoftYear; //软核版本年
|
|||
|
|
ushort SoftMon; //软核版本月
|
|||
|
|
ushort SoftDay; //软核版本日
|
|||
|
|
ushort LogicVerA; //逻辑版本号
|
|||
|
|
ushort LogicVerX; //逻辑版本号
|
|||
|
|
ushort LogicVerY; //逻辑版本号
|
|||
|
|
ulong SENIdNum; //机器识别码
|
|||
|
|
tagEngInfo()
|
|||
|
|
{
|
|||
|
|
Fps = 50;
|
|||
|
|
Width = 640;
|
|||
|
|
Height = 512;
|
|||
|
|
SoftVerA = 1;
|
|||
|
|
SoftVerX = 0;
|
|||
|
|
SoftVerY = 0;
|
|||
|
|
SoftYear = 2021;
|
|||
|
|
SoftMon = 12;
|
|||
|
|
SoftDay = 25;
|
|||
|
|
LogicVerA = 1;
|
|||
|
|
LogicVerX = 0;
|
|||
|
|
LogicVerY = 0;
|
|||
|
|
SENIdNum = 0;
|
|||
|
|
}
|
|||
|
|
}EngInfo;
|
|||
|
|
|
|||
|
|
typedef struct tagSenInfo{
|
|||
|
|
ushort AccWkTime; //设置工作时间
|
|||
|
|
ushort SENIntMode; //积分模式
|
|||
|
|
ushort SENUPCOL; //UPCOL
|
|||
|
|
ushort SENUPROW; //UPROW
|
|||
|
|
ushort OpenWindowSW; //开窗开关
|
|||
|
|
ushort ADSHIFT; //AD延迟
|
|||
|
|
ushort MultSampSw; //多倍采样开关
|
|||
|
|
ushort AspectSw; //采样相位开关
|
|||
|
|
ushort MultSampStPix; //输出起始点
|
|||
|
|
ushort AspectValue; //相位值
|
|||
|
|
ushort MultSampNum; //参与平均点数
|
|||
|
|
ushort AdSeqType; //排列顺序
|
|||
|
|
ushort AdValidSrc; //数据有效选择
|
|||
|
|
tagSenInfo()
|
|||
|
|
{
|
|||
|
|
AccWkTime = 100;
|
|||
|
|
SENIntMode = 0;
|
|||
|
|
SENUPCOL = 1;
|
|||
|
|
SENUPROW = 1;
|
|||
|
|
OpenWindowSW = 0;
|
|||
|
|
ADSHIFT = 12;
|
|||
|
|
MultSampSw = 0;
|
|||
|
|
AspectSw = 0;
|
|||
|
|
MultSampStPix = 3;
|
|||
|
|
AspectValue = 0;
|
|||
|
|
MultSampNum = 1;
|
|||
|
|
AdSeqType = 1;
|
|||
|
|
AdValidSrc = 0;
|
|||
|
|
}
|
|||
|
|
}SenInfo;
|
|||
|
|
|
|||
|
|
typedef struct tagVCoreInfo{
|
|||
|
|
ushort SyncMode; //同步模式
|
|||
|
|
ushort IntTime[16]; //各档位积分时间
|
|||
|
|
ushort ImgMode; //视频源模式
|
|||
|
|
ushort LvdsVMode; //LVDS视频模式
|
|||
|
|
ushort TestVMode; //测试画面
|
|||
|
|
ushort TestVScope; //测试图像作用域
|
|||
|
|
ushort Freeze; //图像冻结开关
|
|||
|
|
ushort CharSw; //字符开关
|
|||
|
|
ushort VideoSw; //模拟视频开关
|
|||
|
|
tagVCoreInfo()
|
|||
|
|
{
|
|||
|
|
SyncMode = 0;
|
|||
|
|
ImgMode = 0;
|
|||
|
|
LvdsVMode = 1;
|
|||
|
|
TestVMode = 1;
|
|||
|
|
TestVScope = 2;
|
|||
|
|
Freeze = 0;
|
|||
|
|
CharSw = 1;
|
|||
|
|
VideoSw = 1;
|
|||
|
|
}
|
|||
|
|
}VCoreInfo;
|
|||
|
|
|
|||
|
|
typedef struct tagXFilterInfo{
|
|||
|
|
ushort XFilterMode; //时域滤波开关
|
|||
|
|
ushort XFilterPar; //时域滤波强度
|
|||
|
|
ushort Y8NoiseMode; //Y8去噪开关
|
|||
|
|
ushort Y8NoiseThres; //Y8去噪参数
|
|||
|
|
tagXFilterInfo()
|
|||
|
|
{
|
|||
|
|
XFilterMode = 1;
|
|||
|
|
XFilterPar = 3;
|
|||
|
|
Y8NoiseMode = 1;
|
|||
|
|
Y8NoiseThres = 1;
|
|||
|
|
}
|
|||
|
|
}XFilterInfo;
|
|||
|
|
|
|||
|
|
typedef struct tagBpInfo{
|
|||
|
|
ushort BPThres; //坏点阈值
|
|||
|
|
ushort ReplaceMode; //坏点替换方式
|
|||
|
|
ushort ReplaceSw; //坏点替换开关
|
|||
|
|
ushort ReplaceType; //坏点替换开关
|
|||
|
|
tagBpInfo()
|
|||
|
|
{
|
|||
|
|
BPThres = 25;
|
|||
|
|
ReplaceMode = 0;
|
|||
|
|
ReplaceSw = 1;
|
|||
|
|
ReplaceType = 0;
|
|||
|
|
}
|
|||
|
|
}BpInfo;
|
|||
|
|
|
|||
|
|
|
|||
|
|
typedef struct tagAutoBpInfo{
|
|||
|
|
ushort AutoBPSw; //动态坏点开关
|
|||
|
|
ushort BPLoopFrms; //坏点考察帧数
|
|||
|
|
ushort NoiseH; //判断平坦阈值
|
|||
|
|
ushort BPDiffTres; //平坦区域判断坏点阈值
|
|||
|
|
tagAutoBpInfo()
|
|||
|
|
{
|
|||
|
|
AutoBPSw = 0;
|
|||
|
|
BPLoopFrms = 8;
|
|||
|
|
NoiseH = 200;
|
|||
|
|
BPDiffTres = 20;
|
|||
|
|
}
|
|||
|
|
}AutoBpInfo;
|
|||
|
|
|
|||
|
|
typedef struct tagGGInfo{
|
|||
|
|
ushort GGSw; //锅盖开关
|
|||
|
|
tagGGInfo()
|
|||
|
|
{
|
|||
|
|
GGSw = 0;
|
|||
|
|
}
|
|||
|
|
}GGInfo;
|
|||
|
|
|
|||
|
|
typedef struct tagReStripeInfo{
|
|||
|
|
ushort ReStripeSw; //去竖条开关
|
|||
|
|
ushort ReStripeHoriSw; //去横纹开关
|
|||
|
|
ushort RestripeWinSize; //窗口大小
|
|||
|
|
ushort MoveThres; //运动检测阈值
|
|||
|
|
ushort ReStripeSigmaIndex; //sigma值
|
|||
|
|
ushort ReStripeThres; //Thres值
|
|||
|
|
ushort ReStripeWeight; //权重
|
|||
|
|
ushort ReStripeHoriThres; //横纹阈值
|
|||
|
|
tagReStripeInfo()
|
|||
|
|
{
|
|||
|
|
ReStripeSw = 1;
|
|||
|
|
ReStripeHoriSw = 1;
|
|||
|
|
RestripeWinSize = 9;
|
|||
|
|
MoveThres = 1;
|
|||
|
|
ReStripeSigmaIndex = 70;
|
|||
|
|
ReStripeThres = 15;
|
|||
|
|
ReStripeWeight = 3700;
|
|||
|
|
ReStripeHoriThres = 15;
|
|||
|
|
}
|
|||
|
|
}ReStripeInfo;
|
|||
|
|
|
|||
|
|
typedef struct tagNlMeansInfo{
|
|||
|
|
ushort NlMeansSw; //空域开关
|
|||
|
|
ushort NlMeansThres; //空域强度
|
|||
|
|
ushort MoveCompensateSw; //运动补偿开关
|
|||
|
|
|
|||
|
|
tagNlMeansInfo()
|
|||
|
|
{
|
|||
|
|
NlMeansSw = 1;
|
|||
|
|
NlMeansThres = 2;
|
|||
|
|
MoveCompensateSw = 1;
|
|||
|
|
}
|
|||
|
|
}NlMeansInfo;
|
|||
|
|
|
|||
|
|
typedef struct tagDDEInfo{
|
|||
|
|
ushort DDEDegree; //DDE强度
|
|||
|
|
ushort DDESw; //DDE开关
|
|||
|
|
ushort DDEY8Degree; //DDE强度
|
|||
|
|
tagDDEInfo()
|
|||
|
|
{
|
|||
|
|
DDEDegree = 1;
|
|||
|
|
DDESw = 1;
|
|||
|
|
DDEY8Degree = 1;
|
|||
|
|
}
|
|||
|
|
}DDEInfo;
|
|||
|
|
|
|||
|
|
typedef struct tagIDEInfo{
|
|||
|
|
ushort IDESw; //IDE开关
|
|||
|
|
ushort IDESigmaIndex; //sigma值
|
|||
|
|
ushort IDEPar; //强度
|
|||
|
|
tagIDEInfo()
|
|||
|
|
{
|
|||
|
|
IDESw = 0;
|
|||
|
|
IDESigmaIndex = 25;
|
|||
|
|
IDEPar = 0;
|
|||
|
|
}
|
|||
|
|
}IDEInfo;
|
|||
|
|
|
|||
|
|
typedef struct tagBBHEInfo{
|
|||
|
|
ushort LightMode; //调光模式
|
|||
|
|
ushort LineBright; //Y8Range
|
|||
|
|
ushort LineContrast; //Y8Mean
|
|||
|
|
ushort Y8Range; //Y8Range
|
|||
|
|
ushort Y8Mean; //Y8Mean
|
|||
|
|
ushort LinePer; //LinePer
|
|||
|
|
ushort HistPer; //HistPer
|
|||
|
|
ushort TL; //TL
|
|||
|
|
ushort TR; //TR
|
|||
|
|
ushort Contrast; //Contrast
|
|||
|
|
ushort Bright; //Bright
|
|||
|
|
ushort ConLimit; //ConLimit
|
|||
|
|
ushort RangeChangeSw; //RangeChange开关
|
|||
|
|
ushort Y8ABCSw; //Y8_adjust开关
|
|||
|
|
ushort Y16OutStream; //Y16数据流输出
|
|||
|
|
ushort Y8OutStream; //Y8数据流输出
|
|||
|
|
tagBBHEInfo()
|
|||
|
|
{
|
|||
|
|
LightMode =2;
|
|||
|
|
Y8Range =230;
|
|||
|
|
Y8Mean =40;
|
|||
|
|
LinePer =1;
|
|||
|
|
HistPer =1;
|
|||
|
|
TL =300;
|
|||
|
|
TR =100;
|
|||
|
|
Contrast =50;
|
|||
|
|
Bright =50;
|
|||
|
|
ConLimit =6144;
|
|||
|
|
RangeChangeSw =1;
|
|||
|
|
Y8ABCSw =1;
|
|||
|
|
LineBright = 50;
|
|||
|
|
LineContrast = 50;
|
|||
|
|
Y16OutStream = 1;
|
|||
|
|
Y8OutStream = 1;
|
|||
|
|
}
|
|||
|
|
}BBHEInfo;
|
|||
|
|
|
|||
|
|
typedef struct tagCLAHEInfo{
|
|||
|
|
ushort CLAHESw; //分块调光开关
|
|||
|
|
ushort CLAHELimit; //分块调光参数
|
|||
|
|
ushort CLAHEUseSw; //使用计算开关
|
|||
|
|
tagCLAHEInfo()
|
|||
|
|
{
|
|||
|
|
CLAHESw = 0;
|
|||
|
|
CLAHELimit = 410;
|
|||
|
|
CLAHEUseSw = 0;
|
|||
|
|
}
|
|||
|
|
}CLAHEInfo;
|
|||
|
|
|
|||
|
|
typedef struct tagDehazeInfo{
|
|||
|
|
ushort DehazeSw; //去雾开关
|
|||
|
|
ushort DehazeSelect; //去雾表号
|
|||
|
|
tagDehazeInfo()
|
|||
|
|
{
|
|||
|
|
DehazeSw = 0;
|
|||
|
|
DehazeSelect = 1;
|
|||
|
|
}
|
|||
|
|
}DehazeInfo;
|
|||
|
|
|
|||
|
|
typedef struct tagPaletteInfo{
|
|||
|
|
ushort HotSelect; //极性
|
|||
|
|
ushort Psec; //伪彩
|
|||
|
|
tagPaletteInfo()
|
|||
|
|
{
|
|||
|
|
HotSelect = 0;
|
|||
|
|
Psec = 0;
|
|||
|
|
}
|
|||
|
|
}PaletteInfo;
|
|||
|
|
|
|||
|
|
typedef struct tagGeomTransInfo{
|
|||
|
|
ushort MirrorMode; //镜像
|
|||
|
|
ushort ZoomRatio; //无极放大
|
|||
|
|
ushort Zoom; //电子放大
|
|||
|
|
tagGeomTransInfo()
|
|||
|
|
{
|
|||
|
|
MirrorMode = 0;
|
|||
|
|
ZoomRatio = 1000;
|
|||
|
|
Zoom = 0;
|
|||
|
|
}
|
|||
|
|
}GeomTransInfo;
|
|||
|
|
|
|||
|
|
typedef struct tagCursorInfo{
|
|||
|
|
ushort CursorType; //光标类型
|
|||
|
|
ushort CursorX; //光标X坐标
|
|||
|
|
ushort CursorY; //光标Y坐标
|
|||
|
|
ushort CursorXCenter; //中心放大X坐标
|
|||
|
|
ushort CursorYCenter; //中心放大Y坐标
|
|||
|
|
tagCursorInfo()
|
|||
|
|
{
|
|||
|
|
CursorType = 0;
|
|||
|
|
CursorX = 320;
|
|||
|
|
CursorY = 256;
|
|||
|
|
CursorXCenter = 320;
|
|||
|
|
CursorYCenter = 256;
|
|||
|
|
}
|
|||
|
|
}CursorInfo;
|
|||
|
|
|
|||
|
|
typedef struct tagAutoFocusInfo{
|
|||
|
|
ushort WinX; //自动聚焦窗X坐标
|
|||
|
|
ushort WinY; //自动聚焦窗Y坐标
|
|||
|
|
ushort WinLen; //自动聚焦窗宽
|
|||
|
|
tagAutoFocusInfo()
|
|||
|
|
{
|
|||
|
|
WinX =320;
|
|||
|
|
WinY =256;
|
|||
|
|
WinLen =256;
|
|||
|
|
}
|
|||
|
|
}AutoFocusInfo;
|
|||
|
|
|
|||
|
|
typedef struct tagSoftStateInfo{
|
|||
|
|
ushort AutoBaseMode; //本底档位模式
|
|||
|
|
ushort AutoIntMode; //积分档位模式
|
|||
|
|
ushort AutoBCMode; //亮度/对比度模式
|
|||
|
|
ushort ADMax; //ADMax
|
|||
|
|
ushort ADMin; //ADMin
|
|||
|
|
ushort FovFlag1; //FovFlag1
|
|||
|
|
ushort FovFlag2; //FovFlag1
|
|||
|
|
ushort SceneType; //场景类型
|
|||
|
|
tagSoftStateInfo()
|
|||
|
|
{
|
|||
|
|
AutoBaseMode = 0;
|
|||
|
|
AutoIntMode = 1;
|
|||
|
|
AutoBCMode = 0;
|
|||
|
|
ADMax = 8000;
|
|||
|
|
ADMin = 4000;
|
|||
|
|
FovFlag1 = 1500;
|
|||
|
|
FovFlag2 = 2500;
|
|||
|
|
SceneType = 0;
|
|||
|
|
}
|
|||
|
|
}SoftStateInfo;
|
|||
|
|
|
|||
|
|
typedef struct tagAutoSetInfo{
|
|||
|
|
EngInfo Eng;
|
|||
|
|
SenInfo Sen;
|
|||
|
|
VCoreInfo VCore;
|
|||
|
|
XFilterInfo XFilter;
|
|||
|
|
BpInfo Bp;
|
|||
|
|
AutoBpInfo AutoBp;
|
|||
|
|
GGInfo GG;
|
|||
|
|
ReStripeInfo ReStripe;
|
|||
|
|
NlMeansInfo NlMeans;
|
|||
|
|
DDEInfo DDE;
|
|||
|
|
IDEInfo IDE;
|
|||
|
|
BBHEInfo BBHE;
|
|||
|
|
CLAHEInfo CLAHE;
|
|||
|
|
DehazeInfo Dehaze;
|
|||
|
|
PaletteInfo Palette;
|
|||
|
|
GeomTransInfo GeomTrans;
|
|||
|
|
CursorInfo Cursor;
|
|||
|
|
AutoFocusInfo AutoFocus;
|
|||
|
|
SoftStateInfo SoftState;
|
|||
|
|
|
|||
|
|
}AutoSetInfo;
|
|||
|
|
|
|||
|
|
typedef struct tag_ImageAssessRect
|
|||
|
|
{
|
|||
|
|
UINT16 xpos; //像素起始X坐标
|
|||
|
|
UINT16 ypos; //像素起始y坐标
|
|||
|
|
UINT16 width; //像素宽度
|
|||
|
|
UINT16 height; //像素高度
|
|||
|
|
}ImageAssessRect;
|
|||
|
|
|
|||
|
|
typedef struct tag_ImageX16Mix
|
|||
|
|
{
|
|||
|
|
UINT16 nImageWidth; //图像宽度
|
|||
|
|
UINT16 nImageHeight; //图像高度
|
|||
|
|
int nHighTempre; //高温本底温度
|
|||
|
|
int nLowTempre; //低温本底温度
|
|||
|
|
}ImageX16Mix;
|
|||
|
|
|
|||
|
|
typedef struct tag_ImageY8BadPoint
|
|||
|
|
{
|
|||
|
|
UINT16 nImageWidth; //图像宽度
|
|||
|
|
UINT16 nImageHeight; //图像高度
|
|||
|
|
int nWinHalf; //检测半径
|
|||
|
|
int nThresh; //检测阈值
|
|||
|
|
int nPos; //无效区域位置
|
|||
|
|
|
|||
|
|
}ImageY8BadPoint;
|
|||
|
|
|
|||
|
|
typedef struct tagUpdataHead
|
|||
|
|
{
|
|||
|
|
int devid; //文件类型
|
|||
|
|
int softNum; //文件编号
|
|||
|
|
int majVer; //大版本
|
|||
|
|
int subVer; //小版本
|
|||
|
|
int year;
|
|||
|
|
int month;
|
|||
|
|
int day;
|
|||
|
|
|
|||
|
|
}UpdataHead;
|
|||
|
|
|
|||
|
|
#endif // _CommDef_H
|