123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187 |
- #pragma once
- #include <afxstr.h>
- #include "DeviceData.h"
- #include "Device_API.h"
- #include <vector>
- using namespace std;
- //探测器状态
- enum ENUM_PANEL_STATUS
- {
- PANEL_CLOSE = 0,
- PANEL_INIT = 1,
- PANEL_SLEEP = 2,
- PANEL_STANDBY = 3,
- PANEL_READY_EXP = 4,
- PANEL_READING_IMAGE = 5,
- PANEL_GET_IMAGE = 6,
- PANEL_OFFSET_CAL = 7,
- PANEL_OFFSET_FINISH = 8,
- PANEL_GAIN_PREPARE = 9,
- PANEL_GAIN_READY_EXP = 10,
- PANEL_GAIN_CAL = 11,
- PANEL_GAIN_EXP_END = 12,
- PANEL_GAIN_EXP_END_NOIMAGE = 13,
- PANEL_GAIN_FINISH = 14,
- PANEL_EXP_END_TIMEOUT = 15,
- PANEL_GAIN_EXP_END_TIMEOUT = 16,
- PANEL_XWINDOW_ON = 17,
- PANEL_XWINDOW_OFF = 18
- };
- //探测器同步模式
- enum ENUM_PANEL_SYNC_MODE
- {
- PANEL_SYNC_HW = 0,
- PANEL_SYNC_SW = 1,
- PANEL_SYNC_AUTO = 2
- };
- //探测器异步事件状态
- enum ENUM_PANEL_EVENT_STATE
- {
- PANEL_EVENT_END_OK = 0,
- PANEL_EVENT_END_ERROR = 1,
- PANEL_EVENT_START = 2
- };
- //探测器原厂校正类型
- enum ENUM_PANEL_FACTORY_CAL_TYPE
- {
- PANEL_FACTORY_CAL_IMAGE = 0, //有图
- PANEL_FACTORY_CAL_NOIMAGE = 1 //无图
- };
- //探测器公共新信息功能列表
- class CSinglePanelCommonDataList
- {
- public:
- CSinglePanelCommonDataList();
- virtual ~CSinglePanelCommonDataList();
- void Init(pCallbackfun pCallback, int nIndex);
- int OnSetup( CString strName, CString strGroup, CString strValue );
- //配置
- CDeviceData m_strcFPDType; //探测器类型
- CDeviceData m_ncSyncMode; //同步模式,取值范围ENUM_PANEL_SYNC_MODE
- CDeviceData m_strcPanelSerial; //探测器序列号
- CDeviceData m_strcFPDFilePath;
- CDeviceData m_bcPreviewEnable; //预览图
- CDeviceData m_ncFPDExpWindowMode;
- CDeviceData m_fcFPDExpWindow;
- CDeviceData m_bcSaveRawDataMode;
- CDeviceData m_ncWidthOffset; //裁剪尺寸
- CDeviceData m_ncHeightOffset;
- CDeviceData m_fcTempratureWarning; //温度警告值
- CDeviceData m_fcWIFIWarning; //WIFI警告值
- CDeviceData m_fcBatteryWarning; //电池警告值
- CDeviceData m_fcTempratureLimit; //温度报警值
- CDeviceData m_fcWIFILimit; //WIFI报警值
- CDeviceData m_fcBatteryLimit; //电池报警值
- CDeviceData m_ncSatValue; //饱和值
- CDeviceData m_ncRequireHWMode; //饱和值
-
- //信息
- CDeviceData m_niIndex; //原始尺寸
- CDeviceData m_niImageBits;
- CDeviceData m_niRawWidth; //原始尺寸
- CDeviceData m_niRawHeight;
- CDeviceData m_niPreviewWidth; //预览图尺寸
- CDeviceData m_niPreviewHeight;
- CDeviceData m_niFactoryCalType; //原厂校正类型,取值范围(ENUM_PANEL_FACTORY_CAL_TYPE)
-
-
- //状态
- CDeviceData m_nsPanelStatus; //探测器状态,取值范围(PANEL_STATUS)
- CDeviceData m_nsActiveWidth; //有效尺寸
- CDeviceData m_nsActiveHeight;
- CDeviceData m_fsExpWindow; //曝光窗口
- CDeviceData m_fsTemprature; //温度
- CDeviceData m_fsWIFI; //WIFI
- CDeviceData m_fsBattery; //电池电量
- CDeviceData m_bsFactoryCorrectionActive; //是否使用原厂校正
- CDeviceData m_bsBatteryCharging; // 是否在充电
- CDeviceData m_strmBaseInfo; // 基本信息
- CDeviceData m_strmMotionStatus; // 探测器陀螺仪状态
- CDeviceData m_strmStorageStatus; // 探测器存储信息
- //报警错误状态
- CDeviceData m_bsAlarmTempratrue; //温度报警
- CDeviceData m_bsAlarmWIFI; //WIFI报警
- CDeviceData m_bsAlarmBattery; //电池报警
- CDeviceData m_bsErrorGetImage; //获取图像失败
- CDeviceData m_bsErrorCommunication; //连接断开或通信失败
- CDeviceData m_bsErrorPowerOff; //探测器关机
- CDeviceData m_bsErrorSleep; //探测器休眠
- CDeviceData m_bsErrorLoadGain; //缺少增益校正文件
- CDeviceData m_bsErrorLoadCorrection;
- CDeviceData m_bsWarnTempratrue; //温度警告
- CDeviceData m_bsWarnWIFI; //WIFI警告
- CDeviceData m_bsWarnBattery; //电池警告
- CDeviceData m_bsWarnExpoRequest;
- //消息
- CDeviceData m_strmPreViewImageHandle; //预览图指针
- CDeviceData m_strmRawImageHandle; //RAW图指针
- //功能参数
- private:
- pCallbackfun m_pCallback;
- };
- class CFPDCommonDataList
- {
- public:
- static const int PANEL_MAX_COUNT = 4; //系统支持的最大探测器数量
- //单个探测器信息功能列表
-
- public:
- CFPDCommonDataList();
- virtual ~CFPDCommonDataList();
- void Init(pCallbackfun pCallback);
- int OnSetup(CString strName, CString strGroup, CString strValue);
- //状态
- CDeviceData m_nsSelectIndex; //当前探测器Index,起始0
- CDeviceData m_bsDEMODevice; //DEMO类型需要设置为true
- //配置
- CDeviceData m_ncPanelCount; //探测器数量,初值为0
- CDeviceData m_strcConfigPath; //配置文件目录路径
- //消息
- CDeviceData m_nmInitStatus; //初始化状态,取值范围:ENUM_PANEL_EVENT_STATE
- CDeviceData m_nmSelectPanelStatus; //切换探测器状态,取值范围:ENUM_PANEL_EVENT_STATE
- CDeviceData m_nmAcquisitionStatus; //开始取图状态,取值范围:ENUM_PANEL_EVENT_STATE
- CDeviceData m_nmOffsetCalibrationStatus; //暗场校正状态,取值范围:ENUM_PANEL_EVENT_STATE
- CDeviceData m_nmCalibrationStatus; //校正状态,取值范围:ENUM_PANEL_EVENT_STATE
- //功能
- //【功能1:切换探测器】
- CDeviceData m_npSelectPanelIndex; //切换探测器的索引
- CDeviceData m_straSelectPanel; //切换探测器
- //【功能2:获取图像】
- CDeviceData m_straStartAcquisition; //开始采集流程
- CDeviceData m_straExpoRequest; //请求曝光
- CDeviceData m_straCancelAcquisition; //取消
- //【功能3:暗场校正】
- CDeviceData m_straOffsetCalibration; //暗场校正
- CDeviceData m_straRecoverImage; //恢复图像
- CDeviceData m_straActiveDetector; //激活探测器
- //【功能4:探测器校正】
- CDeviceData m_straStartCalibration; //校正
- CDeviceData m_straAcceptCalibrationImage; //接受校正图像
- CDeviceData m_straRejectCalibrationImage; //拒绝校正图像
- CDeviceData m_straCancelCalibration; //取消
- CDeviceData m_straCompleteCalibration; //完成校正
- //【功能5:原厂校正设置】
- CDeviceData m_straFactoryOffsetOpen;
- CDeviceData m_straFactoryCorrectionOpen; //打开校正
- CDeviceData m_straFactoryCorrectionClose; //校正关闭
- vector<CSinglePanelCommonDataList> m_panels;
- private:
- pCallbackfun m_pCallback;
- bool PanelsInit(int nCount);
- };
|