// Copyright (c) 2002-2015 ECOM. All Rights Reserved. // All the information contained in this file remain the sole and exclusive // property of ECOM and shall not be disclosed by the recipient to a third // party without the prior consent of ECOM. /*! \file ECOM-types.h Abstract: This module defines the ECOM data structures. It includes : - . */ #ifndef _ECOM_TYPES_H #define _ECOM_TYPES_H #include "DeviceConf_API.h" #include "HWStructure.h" #ifdef __cplusplus extern "C" { #endif #define FPD_HEADER_LEN 4096 #define LEN_16 16 #define LEN_8 8 typedef enum{ ERR_SUCCESS = 0, ERR_GENERAL = 1, LOAD_ERROR = 100, ERR_LOAD_OFFSET_REF = LOAD_ERROR + 1, ERR_LOAD_GAIN = LOAD_ERROR + 2, ERR_LOAD_DEFECTMAP = LOAD_ERROR + 3, ERR_LOAD_BADLINE = LOAD_ERROR + 4, ERR_SAVE_GAIN = LOAD_ERROR + 5, ERR_SAVE_DEFECTMAP = LOAD_ERROR + 6, }ecom_error; typedef struct { int nImageType; int nImageWidth; int nImageHeight; int nSaturationValue; int nGainRefNum; int nSaveRawDataMode; int nLicense; float fXwindow; CString strPanelName; CString strExposeMode; }Struct_EcomCalib; struct FPDImageHeader { float fFPDHeaderVersion; int nImageType; // int nImageWidth; int nImageHeight; int nImageBits; int nFactorEXI2UGY; float fImageReferUGY; float fTemperature; float fPixelSpace; char strViewDimension[LEN_16]; char strDetectorID[LEN_16]; char strCalibDate[LEN_8]; char strCalibTime[LEN_16]; char strBinning[LEN_16]; FPDImageHeader() { fFPDHeaderVersion = 0.0; nImageType = 0; //0full 1Preivew nImageWidth = 3000; nImageHeight = 3000; nImageBits = 16; nFactorEXI2UGY = 150; fImageReferUGY =0.0f; fTemperature = 0.0f; fPixelSpace = 0.148f; strcpy_s(strViewDimension,LEN_16,"43\\43"); strcpy_s(strDetectorID,LEN_16,"2012/12/21"); memcpy(strCalibDate,"20150510",LEN_8); strcpy_s(strCalibTime,LEN_16,"192108"); strcpy_s(strBinning,LEN_16,"1\\1"); } }; typedef struct DeviceIndexStruct { int Realindex; int HWindex; CString strAppConfFilePath; //配置文件路径 CString strDeviceName; //探测器名称 int nSyncMode; int nCalibrationMode; int nPanelExpWindowMode; int nSaveRawDataMode; int nSaturationValue; int nGridSuppressed; int nPanelID; int nCOMPort; int nPanelChannel; int nDoseOfEXI; int nRequirehwMode; float fStandardUgy; CString strPanelSerial; CString strFPDConfFilePath;//探测器自身配置文件路径 CString strIPAddress; bool bPreviewEnable; float fTemperWarning; float fTemperLimit; float fCurrentTemperValue; int nWifiWarning; int nWifiLimit; int nCurrentWifiValue; int nBatteryWarning; int nBatteryLimit; int nCurrentBatteryValue; float fPixelSpace; //像素大小 //ECM信息相关 int nImageBits; int nRawWidth; int nRawHeight; int nFullImageWidth; int nFullImageHeight; int nPreviewWidth; int nPreviewHeight; int nWidthOffset; int nHeightOffset; // CalibModeInfo vecCalibInfo; vector vecRefrenceCal; DeviceIndexStruct() { Realindex = 0; HWindex = 0; strAppConfFilePath = _T(""); //配置文件路径 strDeviceName = _T(""); //探测器名称 nSyncMode = 0; nCalibrationMode = 0; nPanelExpWindowMode = 0; nSaveRawDataMode = 0; nSaturationValue = 0; nGridSuppressed = 0; nPanelID = 0; nCOMPort = 0; nPanelChannel =0 ; nDoseOfEXI = 0; nRequirehwMode = 0; strPanelSerial = _T(""); strFPDConfFilePath = _T("");//探测器自身配置文件路径 fStandardUgy = 0.0; bPreviewEnable = false; fTemperWarning = 0.0; fTemperLimit = 0.0; fCurrentTemperValue = 0.0; nWifiWarning = 0; nWifiLimit = 0; nCurrentWifiValue = 0; nBatteryWarning = 0; nBatteryLimit = 0; nCurrentBatteryValue = 0; fPixelSpace = 0.143f; //ECM信息相关 nImageBits = 0; nRawWidth = 0; nRawHeight = 0; nFullImageWidth = 0; nFullImageHeight = 0; nPreviewWidth = 0; nPreviewHeight = 0; nWidthOffset = 0; nHeightOffset = 0; } }; typedef enum APPLICATION_STATUS { APPLICATION_IDLE = 0, APPLICATION_WORK_STATUS , APPLICATION_CAL_STATUS, APPLICATION_CAL_END_STATUS, //校正中最后一次曝光获知 }; #ifdef __cplusplus } #endif #endif