123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426 |
- #pragma once
- #include <string>
- #pragma region DEFINITION
- //探测器异步事件状态
- enum ENUM_PANEL_EVENT_STATE
- {
- PANEL_EVENT_END_OK = 0,
- PANEL_EVENT_END_ERROR = 1,
- PANEL_EVENT_START = 2,
- PANEL_EVENT_SUCCESS = 3,
- PANEL_EVENT_END = 4,
- PANEL_EVENT_BEGIN = 5,
- PANEL_EVENT_TIMEOUT = 6
- };
- enum ENUM_EXPOSE_STATUS
- {
- DOSE_ACCEPT = 0,
- DOSE_TOO_HIGH = 1,
- DOSE_TOO_LOW = 2,
- DOSE_OBJECT = 3
- };
- //控制模块给DPC模块反馈的信息类型
- typedef enum
- {
- EVT_LEVEL_CONFIGURATION = 0x00,
- EVT_LEVEL_INFORMATOION = 0x01,
- EVT_LEVEL_STATUS = 0x02,
- EVT_LEVEL_DATA = 0x03,
- EVT_LEVEL_WARNING = 0x04,
- EVT_LEVEL_ERROR = 0x05,
- } CcosEventLevel;
- typedef enum
- {
- EVT_CONF_PANEL_SERIAL = 0x00,
- EVT_CONF_RAW_WIDTH = 0x01,
- EVT_CONF_RAW_HIGHT = 0x02,
- EVT_CONF_RAW_BITS = 0x03,
- EVT_CONF_PIXELSPACE = 0x04,
- EVT_CONF_PREVIEW_WIDTH = 0x05,
- EVT_CONF_PREVIEW_HIGHT = 0x06,
- EVT_CONF_MODULE_TYPE = 0x07,
- EVT_CONF_MODULE_IP = 0x08,
- EVT_CONF_MODULE_SN = 0x09,
- EVT_CONF_FIRWARE_UPDATE = 0x0A,
- EVT_CONF_PART_NUMBER = 0x0B,
- EVT_CONF_BATTERY_SN = 0x0C,
- EVT_CONF_WIFI_SSID = 0x0D,
- EVT_CONF_IFBOARD = 0x0E,
- EVT_CONF_DATECODE = 0x0F,
- EVT_CONF_LIFETIME = 0x10,
- } CcosEventConfigID;
- typedef enum
- {
- EVT_INFO_POWER_ON = 0x00,
- EVT_INFO_BATTERY_CAPACITY = 0x01,
- EVT_INFO_BATTERY_TEMPERATURE = 0x02,
- EVT_INFO_BATTERY_CHARGES = 0x03,
- EVT_INFO_WIFI_DATARATE = 0x04,
- EVT_INFO_WIFI_CHANNEL = 0x05,
- EVT_INFO_WIFI_SIGNALPOWER = 0x06,
- EVT_INFO_WIFI_NOISEPOWER = 0x07,
- EVT_INFO_FIRMWARE = 0x08,
- EVT_INFO_SHOCKSENSOR_INFO = 0x09,
- EVT_INFO_CALIBRATIOIN_TIME = 0x0A,
- EVT_INFO_FPVOLTAGE = 0x0B,
- EVT_INFO_CALIBRATIOIN_TIMEL = 0x0C, //长曝光模式
- } CcosEventInfoID;
- typedef enum
- {
- EVT_STATUS_INIT = 0x00,
- EVT_STATUS_MOTION = 0x01,
- EVT_STATUS_UPDATE_FIRMWARE = 0x02,
- EVT_STATUS_SELFTEST = 0x03,
- EVT_STATUS_DETECTORSHARE = 0x04,
- EVT_STATUS_SINGLEINIT = 0x05,
- EVT_STATUS_SELECTPANEL = 0x06,
- EVT_STATUS_PANEL = 0x07,
- EVT_STATUS_CALIBRATIOIN = 0x08,
- EVT_STATUS_SAVECALIB = 0x09,
- EVT_STATUS_SAVEDEFECT = 0x0A,
- EVT_STATUS_ACQUISITION = 0x0B,
- EVT_STATUS_SINGLEEXP = 0x0C,
- EVT_STATUS_IMAGEPENDING = 0x0D,
- EVT_STATUS_TEMPERATURE = 0x0E,
- EVT_STATUS_WIFI = 0x0F,
- EVT_STATUS_BATTERY_VALUE = 0x10,
- EVT_STATUS_BATTERY_CHARGING = 0x11,
- EVT_STATUS_SHOCK_SENSOR = 0x12,
- EVT_STATUS_HALL_SENSOR = 0x13,
- EVT_STATUS_PING = 0x14,
- EVT_STATUS_PMSNOTOPEN = 0x15,
- EVT_STATUS_RESTOREFILES = 0x16,
- EVT_STATUS_LASTERROR = 0x17,
- EVT_STATUS_RESET = 0x18,
- } CcosEventStatusID;
- typedef enum
- {
- EVT_DATA_RAW_IMAGE = 0x00,
- EVT_DATA_PREVIEW_IMAGE = 0x01,
- EVT_DATA_DOSEPARAM = 0x02,
- } CcosEventDataID;
- typedef enum
- {
- EVT_ERR_COMMUNICATE = 0x00,
- EVT_ERR_EXP_REQUEST = 0x01,
- EVT_ERR_GET_IMAGE = 0x02,
- EVT_ERR_MAX_NUMBER = 0x03,
- EVT_ERR_SN_NOTINLIST = 0x04,
- EVT_ERR_POWER_OFF = 0x05,
- EVT_ERR_INIT_FAILED = 0x06,
- } CcosEventErrorID;
- enum ENUM_PANEL_RESET
- {
- PANEL_RESET_BEGIN = 1, //
- PANEL_RESET_OK = 2, //
- PANEL_RESET_ERROR = 3
- };
- //探测器状态
- enum ENUM_PANEL_STATUS
- {
- PANEL_CLOSE = 0,
- PANEL_STANDBY = 1,
- PANEL_READY_EXP = 2,
- PANEL_XWINDOW_ON = 3,
- PANEL_XWINDOW_OFF = 4,
- PANEL_START_TRANSMIT = 5,
- PANEL_END_TRANSMIT = 6,
- PANEL_START_ACQ = 7,
- PANEL_END_ACQ = 8,
- PANEL_EXP_END_TIMEOUT = 9,
- PANEL_OFFSET_CAL = 10,
- PANEL_OFFSET_FINISH = 11,
- PANEL_GAIN_CAL = 12,
- PANEL_GAIN_FINISH = 13,
- PANEL_DEFECT_CAL = 14,
- PANEL_DEFECT_FINISH = 15,
- PANEL_AEC_PRE_END = 16,
- PANEL_INIT = 21,
- PANEL_SLEEP = 22,
- PANEL_GET_IMAGE = 23,
- PANEL_GAIN_PREPARE = 24,
- PANEL_GAIN_READY_EXP = 25,
- };
- enum
- {
- NOCAL,
- CAL_START,
- CAL_CONFIRM,
- CAL_REJECT,
- CAL_ABORT,
- CAL_END
- };
- enum CCOS_OFFSET_STAUTS
- {
- OFFSET_IDLE = 0,
- OFFSET_RUNNING = 1,
- OFFSET_ERROR = 2
- };
- /***
- * 加载探测器模式配置(不同探测器根据需要增删改)
- ***/
- struct DetModeInfo
- {
- int nLogicMode;
- string strExamType;
- int nImageWidth;
- int nImageHeight;
- int nWidthOffset;
- int nHeightOffset;
- int nRawImgWidth;
- int nRawImgHeight;
- int nPhySizeInfoBit; //探测器位数
- int nSensitivity; //单位: ugy
- bool bPreviewEnable;
- int nPreviewWidth;
- int nPreviewHeight;
- int nPixelPitch;
- int nSyncType;
- int nXwindow;
- bool bIsSaveRaw;
- int nRotateAngle;
- int nBinningDx;
- int nBinningDy;
- int nGainValue;
- int nFrequency;
- int nFrameCount;
- int nWorkStation;
- int nOperationMode;
- int nExpTime;
- int nTriggerType;
- int nExiThreshold;
- DetModeInfo()
- {
- nLogicMode = 0;
- strExamType = "";
- nImageWidth = 0;
- nImageHeight = 0;
- nWidthOffset = 0;
- nHeightOffset = 0;
- nRawImgWidth = 0;
- nRawImgHeight = 0;
- nPhySizeInfoBit = 0;
- nSensitivity = 0;
- bPreviewEnable = false;
- nPreviewWidth = 0;
- nPreviewHeight = 0;
- nPixelPitch = 0;
- nSyncType = 0;
- nXwindow = 0;
- bIsSaveRaw = false;
- nRotateAngle = 0;
- nBinningDx = 0;
- nBinningDy = 0;
- nGainValue = 0;
- nFrequency = 0;
- nFrameCount = 0;
- nWorkStation = 0;
- nOperationMode = 100;
- nExpTime = 500;
- nTriggerType = 0;
- nExiThreshold = 500;
- }
- };
- /***
- * 加载探测器校正配置
- ***/
- struct DetCalibNodeInfo
- {
- int nImgCount; //当前计量点需要曝光的次数
- float fDose;
- DetCalibNodeInfo()
- {
- nImgCount = 0;
- fDose = 0.0f;
- }
- };
- struct DetCalibInfo
- {
- int nDetCalibNodeCount;
- DetCalibNodeInfo* pDetCalibNodeInfo;
- DetCalibInfo()
- {
- nDetCalibNodeCount = 0;
- pDetCalibNodeInfo = nullptr;
- }
- };
- struct DeviceIndexStruct
- {
- std::string strDeviceName; //探测器名称
- std::string strWiredIP;
- std::string strWirelessIP;
- std::string strLocalIP;
- int nPort;
- std::string strFPDSN;
- bool bInitOK;
- bool bConnectStatus;
- string strCalibrationDate;
- string strCalibrationTime;
- int nMaxImgHeight;
- int nMaxImgWidth;
- int nSyncMode;
-
- int nWifiWarning;
- int nWifiLimit;
- int nBatteryWarning;
- int nBatteryLimit;
- float fTemperLowLimit;
- float fTemperMinWarn;
- float fTemperMaxWarn;
- float fTemperMaxLimit;
-
- float fFactorEXI2UGY; //探测器EXI -> UGY 转换系数
-
- bool bSupportDDR; //是否支持DDR采集模式
- int nMaxFrameNum;
- int nRADDelayTime;
- int nOffsetInterval;
- float fMaxFrameRate;
- DetModeInfo AcqModeInfo;
- DetCalibInfo stDetCalibInfo;
- DeviceIndexStruct()
- {
- bInitOK = false;
- bConnectStatus = false;
- strWiredIP = "192.168.0.0";
- strWirelessIP = "192.168.0.0";
- strLocalIP = "192.168.0.0";
- nPort = 0;
- strFPDSN = "XXX";
- nMaxImgHeight = 0;
- nMaxImgWidth = 0;
- nSyncMode = 0;
- strCalibrationDate = "1970/01/01";
- strCalibrationTime = "00:00:00";
- nWifiWarning = 0;
- nWifiLimit = 0;
- nBatteryWarning = 0;
- nBatteryLimit = 0;
- fTemperLowLimit = 0.0;
- fTemperMinWarn = 0.0;
- fTemperMaxWarn = 0.0;
- fTemperMaxLimit = 0.0;
- fFactorEXI2UGY = 0.0;
- strDeviceName = "";
- bSupportDDR = false;
- nMaxFrameNum = 3;
- nRADDelayTime = 0;
- fMaxFrameRate = 15.0f;
- }
- DeviceIndexStruct& operator= (const DeviceIndexStruct& copySource)
- {
- bInitOK = copySource.bInitOK;
- bConnectStatus = copySource.bConnectStatus;
- nMaxImgHeight = copySource.nMaxImgHeight;
- nMaxImgWidth = copySource.nMaxImgWidth;
- nSyncMode = copySource.nSyncMode;
- nWifiWarning = copySource.nWifiWarning;
- nWifiLimit = copySource.nWifiLimit;
- nBatteryWarning = copySource.nBatteryWarning;
- nBatteryLimit = copySource.nBatteryLimit;
- fTemperLowLimit = copySource.fTemperLowLimit;
- fTemperMinWarn = copySource.fTemperMinWarn;
- fTemperMaxWarn = copySource.fTemperMaxWarn;
- fTemperMaxLimit = copySource.fTemperMaxLimit;
- fFactorEXI2UGY = copySource.fFactorEXI2UGY;
- strDeviceName = copySource.strDeviceName;
- // 拷贝的逻辑实现,避免浅复制问题
- nMaxFrameNum = copySource.nMaxFrameNum;
- strWiredIP = copySource.strWiredIP;
- strWirelessIP = copySource.strWirelessIP;
- strLocalIP = copySource.strLocalIP;
- nPort = copySource.nPort;
- strFPDSN = copySource.strFPDSN;
- return *this;
- }
- };
- typedef enum
- {
- FD_INIT_NULL = -1,
- FD_INIT_FAILED = 0,
- FD_INIT_SUCCESS = 1,
- }fd_init_status;
- enum
- {
- GRID_CONF_AUTO = 0,
- GRID_CONF_YES = 1,
- GRID_CONF_NO = 2,
- };
- enum
- {
- GRID_STATE_ERROR = -3,
- GRID_STATE_PARAM_ERROR = -2,
- GRID_STATE_PARAM_NULL = -1,
- GRID_STATE_NO = 0,
- GRID_STATE_VERTICAL = 1,
- GRID_STATE_HORIZONTAL = 2,
- };
- enum TEMP_STATUS
- {
- TEMP_NORMAL = 0,
- TEMP_WARNING, //1
- TEMP_TOO_HIGH, //2
- TEMP_TOO_LOW, //3
- };
- enum APP_STATUS
- {
- APP_STATUS_IDLE = 0,
- APP_STATUS_WORK_BEGIN, //1
- APP_STATUS_WORK_END, //2
- APP_STATUS_DETSHARE_BEGIN, //3
- APP_STATUS_DETSHAR_END, //4
- APP_STATUS_CAL_BEGIN, //5
- APP_STATUS_CAL_END, // 6
- APP_STATUS_WORK_IN_SENSITIVITY, //7
- APP_STATUS_MAX,
- };
- #pragma endregion DEFINITION
|