123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556 |
- #pragma once
- #include <map>
- //转存文件内容使用
- #include <shellapi.h>
- #include "CcosLock.h"
- #include "ResDataObject.h"
- #include "CCOS.Dev.FPD.TrixellDR.h"
- #include "PanelSerialXMLControl.h" //加载、处理PanelSerial.xml
- //SDK头文件
- #include "include/pixradlib.h"
- #include "ZSKKCalibration.h"
- #ifndef EDETSTATUS
- #define EDETSTATUS
- enum eDetStatus
- {
- DetStatus_NotIni,
- DetStatus_NotConn,
- DetStatus_Sleep,
- DetStatus_Standby,
- DetStatus_Work,
- DetStatus_Acquire,
- DetStatus_Offset,
- DetStatus_XrayCalibration,
- };
- #endif // !EDETSTATUS
- //探测器状态
- enum ENUM_EXPOSURE_STATUS
- {
- EXP_NULL = 0,
- EXP_START_ACQ = 1,
- EXP_XWINDOW_ON = 2,
- EXP_XWINDOW_OFF = 3,
- EXP_READING = 4,
- EXP_IMAGE = 5,
- EXP_END_ACQ = 6
- };
- //探测器同步模式
- enum ENUM_PANEL_SYNC_MODE
- {
- PANEL_SYNC_HW = 10,
- PANEL_SYNC_SW = 11,
- PANEL_SYNC_AUTO = 12
- };
- ////探测器异步事件状态
- //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_SHARE_EVENT_STATE
- //{
- // PANEL_CONNECT_ERROR = 0,
- // PANEL_ATTACH_START = 1,
- // PANEL_CONNECT_OK = 2,
- // PANEL_DISCONNECT_SUCCESS = 3,
- // PANEL_DISCONNECT_ERROR = 4,
- // PANEL_ATTACH_OVER = 5,
- // PANEL_ATTACH_FAILED = 6,
- // PANEL_ATTACH_NULL = 7,
- //};
- //enum ENUM_EXPOSE_STATUS
- //{
- // DOSE_ACCEPT = 0,
- // DOSE_TOO_HIGH = 1,
- // DOSE_TOO_LOW = 2,
- // DOSE_OBJECT = 3
- //
- //};
- enum
- {
- REQUIRE_HW_MIX,
- REQUIRE_HW_AUTO,
- REQUIRE_HW_DEL,
- };
- #ifndef EDETOPERATIONMODE
- #define EDETOPERATIONMODE
- enum eDetOperationMode
- {
- PIX_OM_RAD = 1,
- PIX_OM_TOMO,
- PIX_OM_AED = 3
- };
- #endif // !EDETOPERATIONMODE
- #ifndef EDETPIXIMGTYPE
- #define EDETPIXIMGTYPE
- enum eDetPixImgType
- {
- PIX_IMG_NONE,
- PIX_IMG_PRE,
- PIX_IMG_RAW,
- PIX_IMG_FULL = 4
- };
- #endif // !EDETPIXIMGTYPE
- #ifndef EDETINITRESULT
- #define EDETINITRESULT
- enum INIT_RESULT
- {
- INIT_FAILED,
- INIT_CONNECT_ERR,
- INIT_SUCCESS,
- INIT_FIRMWARE
- };
- #endif // !EDETINITRESULT
- class TrixellCtrl : public CcosLock
- {
- //探测器信息
- struct CPanelStatus
- {
- string strPanelType; //探测器类型,AddDPC时赋值
- string strPanelSN; //探测器序列号,连接成功后获取信息时被赋值
- bool bIsPortable;
- bool bCharging;
- bool bStatusPolling;
- bool bDC_AED;
- bool bDarkCalibDone; //offset刷新结束
- bool bAEDDarkCalibDone;
- bool bLTEDarkCalibDone; //长曝光offset刷新结束
- string strModuleIP; //探测器IP地址,attach或收到init回调时赋值
- bool bBatteryTooLow;
- bool bConnectStatus; //是否连接
- bool bImagePending;
- bool bIsLoadRef; //是否加载了校正文件,加载过了不用再次加载
- int nBattery; //电池电量
- bool bInitOK; //初始化过程探测器连接完毕,用于重连判断
- bool bNeedUpdateFW; //是否需要固件升级的标记位
- bool bSelftested; //Selftest执行完毕
- int nTotalShockNumber; //探测器的shocksenseor总数
- int nFWStatus; //探测器固件状态
- string strPartNumber; //产品编号,连接成功后获取信息时被赋值
- correction_type eCorrectType[3]; //校正类型 All或者offset
- ResDataObject objPanelConfig;
- bool bHaveAutonumousMode; //是否支持离线采集
- bool bAutonumousMode; //true: 离线模式;false:在线模式
- CPanelStatus()
- {
- strPanelType = "";
- strPanelSN = "";
- bIsPortable = false;
- bCharging = false;
- bStatusPolling = false;
- bDC_AED = false;
- bDarkCalibDone = false;
- bAEDDarkCalibDone = false;
- bLTEDarkCalibDone = false;
- strModuleIP = "";
- bBatteryTooLow = false;
- bConnectStatus = false;
- bImagePending = false;
- bIsLoadRef = false;
- nBattery = 0;
- bInitOK = false;
- bNeedUpdateFW = false;
- bSelftested = false;
- nTotalShockNumber = -1;
- nFWStatus = -1;
- strPartNumber = "";
- bHaveAutonumousMode = false;
- bAutonumousMode = false;
- }
- };
- public:
- TrixellCtrl(/*Logger *pLog*/);
- ~TrixellCtrl();
- bool AddDPCs(FPDDeviceTrixell* pDrvDPC, ResDataObject& Configuration, DeviceIndexStruct& DeviceStruct);
- bool DelDPCs(FPDDeviceTrixell* pDrvDPC);
- int GetDPCsCount();
- bool ActivePanel(FPDDeviceTrixell* pDrvDPC);
- bool SwitchPanel(int nPanelId);
- bool EnterExam(APP_STATUS eStatus);
- bool Connect(string strWorkPath, FPDDeviceTrixell* pDrvDPC);
- void DisConnect(FPDDeviceTrixell* pDrvDPC);
- void SetAttachFPDInfo(string strFPDType, int nDetectorID);
- bool AttachDetector(FPDDeviceTrixell* pDrvDPC);
- void CancelAttach();
- RET_STATUS SetSyncMode(SYNC_MODE nSyncMode, HARDWARE_TRIGGER_MODE TriggerMode);
- bool SelectExamMode(int nLogicMode, FPDDeviceTrixell* pDrvDPC);
- RET_STATUS SetFrameRate(FLOAT frameRate, FPDDeviceTrixell* pDrvDPC);
- RET_STATUS StartAcquisition(FPDDeviceTrixell* pDrvDPC);
- RET_STATUS StopAcquisition(FPDDeviceTrixell* pDrvDPC);
- RET_STATUS PrepareAcquisition(FPDDeviceTrixell* pDrvDPC);
- RET_STATUS ActiveCalibration(CCOS_CALIBRATION_TYPE Type);
- RET_STATUS StartCalibration(FPDDeviceTrixell* pDrvDPC);
- RET_STATUS GetDoseRequest(float& DoseReq, FPDDeviceTrixell* pDrvDPC);
- RET_STATUS AbortCalibration(FPDDeviceTrixell* pDrvDPC);
- RET_STATUS PrepareCalibration(FPDDeviceTrixell* pDrvDPC);
- RET_STATUS PostCalibration(FPDDeviceTrixell* pDrvDPC);
- RET_STATUS CompleteCalibration(FPDDeviceTrixell* pDrvDPC);
- bool SetLTEMode(bool bEnable);
- bool RecoverLastImage();
- bool WakeupDetector(int nDetectorID);
-
- bool LoadDLL(string strWorkPath = "");
- static void EventCallback(const event_id eventID, const Event* eventData, void* customData);
- //static void OutputCallback(const char* string, void* customData);
- static void RsprogressCallback(const unsigned int transferred_bytes, const unsigned int total_bytes, void* customData);
- void ProcessEvent(const event_id eventID, const Event* eventData);
- bool ProcessEventError(string strEventName, error_status err, int nDetectorID = -1);
- bool TestError(error_status err, int nFpdID = -1, string strFuncName = "");
- bool TestRSError(rs_error_status err, int nFpdID = -1, string strFuncName = "");
- int InitDetector(bool bAttachProcess = false, int nDetectorID = -1);
- bool CloseDetector();
- bool ConnectDetector(bool bAttachProcess, int nDetectorID);
- bool ConnectDetectorInFWUpdating(int nDetectorID);
- bool DisconnectDetector(int nDetectorID);
- bool LockPixrad(string strPosition = "", int nTimeout = 65000); //等待耗时操作执行完毕,耗时1分钟
- void UnlockPixrad(string strPosition = "");
- bool GetConfigParameters(int nDetectorID);
- bool SetFpdExamMode(string strPanelType, int nOmMode, int nAppMode, bool bEnable); //激活探测器特殊模式 aed/tomo
- bool RefreshOffset(bool bEnablePreview, int nOmMode, int nAppMode, bool bWaitOver = true); //刷新单一模式offset
- //bool RefreshAllOffset(); //刷新全部模式offset
- bool LoadReference(int nAppMode, int nDetectorID, bool bLTEenable = false);
- bool LoadReferenceEx(application_mode aMode, operating_mode oMode, unsigned short usDetectorMode, unsigned short usGainID, unsigned short usDMID);
- bool ConfigPixradSDK(ResDataObject ResConfig);
- bool GetSystemState(system_state& stState);
- bool SetSystemState(system_state stState);
- bool SetApplicationParam(int nAppMode); //设置应用参数
- bool ActiveGainCalibration();
- void OnProcessImg();
- void SaveRawFunc(eDetPixImgType eImgType, WORD* pInImg);
- bool ResumeSequence(bool bLock); //校正时触发SDK进行下一步操作
- bool GetEffectiveImage(WORD* pOutImg, WORD* pInImg, int nInWidth);
- //static DWORD __stdcall RefreshOffsetThread(PVOID pvoid);
- //void OnRefreshOffset(); //offset 刷新
- void OnProcessDarkEnd();
- void StartModuleThread();
- static DWORD __stdcall onModuleThread(PVOID pvoid);
- bool OnModuleConnect();
- bool ModifyModuleFPDConf(string strDetectorIP, string strHostIP);
- bool ModifyFPDsIPConf();
- bool ModifyFPDIPConf(string strConfPath, string strDetectorIP, string strHostIP = "");
- //bool ModifyDRFPDIPConf(string strDetectorIP, string strConfPath);
- bool ModifyOLDFPDIPConf(string strDetectorIP, string strConfPath, string strHostIP);
- bool ModifyOLDFPDIPConfEx(string strDetectorIP, string strConfPath);
- bool SetIRPort(string strDetectorType, int nPort);
- bool CopyFile2Folder(string strSrcPath, string strDstPath);
- bool SetStatusPolling(int nDetectorID, bool bEnable);
- bool SetDetectorStatusPolling(int nDetectorID, bool bEnable);
- bool GetHardwareStatus(int nDetectorID);
- bool GetDetectorHardwareStatus(int nDetectorID);
- bool GetDetectorWifiStatus(int nDetectorID);
- bool GetDetectorInformation(int nDetectorID, bool bRequireVoltage = false);
- void SimulateShockSensor(int nDetectorID, bool bSend = true);
- bool UploadSensitivity(int nDetectorID = -1);
- bool DownloadSensitivity(int nDetectorID = -1);
- bool UploadReferences(int nDetectorID = -1);
- bool DownloadReferences(bool bLTEenable = false, int nDetectorID = -1);
- bool UploadDefectCalibrationFiles(int nDetectorID = -1);
- bool UploadDefectMap(int nDetectorID = -1);
- bool DownloadDefectMap(int nDetectorID = -1);
- bool RestoreCalibrationData(bool bLTEenable = false, int nDetectorID = -1);
- bool UploadtoDetector(string strFilePath, string strFileName, int nDetectorID = -1);
- bool DownloadfromDetector(string strFilePath, string strFileName, int nDetectorID = -1);
- bool IsPortablePanel(string strPanelType);
- bool FactoryCorrectionActive(bool bAttachProcess, int nDetectorID = -1);
- bool SelfTestFPD(int nDetectorID = -1);
- bool GetCalibrationTime(int nDetectorID = -1);
- bool GetModeMatchInfo();
- bool SetActiveDetector(unsigned short usDetectorID);
- bool GetActiveDetector(unsigned short& usDetectorID);
- void ConfFeedback(int nEventID, int nDetectorID = -1, const char* pszMsg = "", int nParam1 = 0, float fParam2 = 0, int nPtrParamLen = 0, void* pParam = NULL);
- void InfoFeedback(int nEventID, int nDetectorID = -1, int nParam1 = 0, float fParam2 = 0, const char* pszMsg = "", int nPtrParamLen = 0, void* pParam = NULL);
- void StatusFeedback(int nEventID, int nParam1 = 0, const char* pszMsg = "", int nDetectorID = -1, float fParam2 = 0, int nPtrParamLen = 0, void* pParam = NULL);
- void DataFeedback(int nEventID, void* pParam = NULL, int nParam1 = 0, float fParam2 = 0, const char* pszMsg = "", int nPtrParamLen = 0, int nDetectorID = -1);
- void WarnFeedback(int nEventID, const char* pszMsg = "", int nParam1 = 0, float fParam2 = 0, int nPtrParamLen = 0, void* pParam = NULL, int nDetectorID = -1);
- void ErrorFeedback(int nEventID, const char* pszMsg = "", int nDetectorID = -1, int nParam1 = 0, float fParam2 = 0, int nPtrParamLen = 0, void* pParam = NULL);
- bool IRFuncSetting(bool bModifyConfig, bool bInvokeAPI);
- static DWORD __stdcall onFPDScanThread(PVOID pvoid);
- bool SetConnectConf(bool bConnect, int nDetectorID);
- bool GetConnectConf(int nDetectorID);
- bool IsConnected(string strIP);
- //void SetAttachFPDInfo(string strFPDType, int nDetectorID);
- bool CheckFileExits(string strPath, string strFile);
- void OnEndCalibraion();
- static DWORD __stdcall onCheckShockThread(PVOID pvoid);
- void StopThread();
- void UpdateFirmware(int nDetectorID);
- static DWORD __stdcall onUpdateFWThread(PVOID pvoid);
- bool onUpdateFirmware();
- bool GetFWVersion(string strPNCode, string& strFirmwareVersion, int nDetectorID);
- bool ModifyFirmwareLogPath(int nDetectorID);
- int CallAdapter(string strFirmwareVersion, string strIPAddress, int nDetectorID);
- UINT ExecuteEXE(string strExeName, string strParameters, DWORD& hProcID);
- DWORD GetProcessidFromName(string strProcName);
- static DWORD __stdcall onFPDStatusThread(PVOID pvoid);
- bool onCheckFPDStatus();
- bool InDetectorShare();
- string GetPanelResource(string strKey);
- bool UpdatePanelSerialFile(string strPanelType, string strSN, string strSetIP, string strDate, bool bActive);
- bool GetPanelSNList(string strPanelSerial, PanelSerialList& stpanelInfo);
- void RefreshHWStatus();
- bool OfflineFPD(int nDetectorID);
- bool StartOfflineAutonumousThread();
- static unsigned __stdcall onOfflineAutonumousMode(void* pParam);
- bool OfflineAutonumousMode();
- bool SetSyncMode(int nDetectorID, SYNC_MODE nSyncMode);
- bool SetSyncMode(int nDetectorID, int nSyncMode);
- bool OnlineFPD(int nDetectorID);
- bool StartOnlineAutonumousThread();
- static unsigned __stdcall onOnlineAutonumousMode(void* pParam);
- bool OnlineAutonumousMode();
- bool GetAutonumousImageList(int nDetectorID, vector<string>& AutonumousList);
- string RecognizeBarcode(string strData, int nLen);
- bool RemoveAutonumousImageList(string strMeta);
- bool RemoveAutonumousAll();
- bool GetImageMetaData(string strMetaData);
- static DWORD __stdcall onGetStoredImageThread(PVOID pvoid);
- bool GetStoredImage(string strMetaData);
- bool ExportAutonumousAll();
- static DWORD __stdcall onExportAutonumousToLocal(PVOID pvoid);
- bool ExportAutonumousToLocal();
- bool SetSaveRawDataMode(int nSaveRawDataMode);
- bool SaveRawImage(const char* pImgName, const WORD* pRawImg, int nWidth, int nHeight);
- bool ApplicationAcquireSequence(); //触发采集序列
- bool AcceptCalibration();
- bool RejectCalibration();
- bool GetCalibrationStep(int nCalibCurrentCalibrationRound, int nCalibrationRounds, int nCalibCurrentExposureIndex, int nExposureNumCurrentRound);
- bool SaveCalibrationFile();
- bool SetReferenceNum(int nReferenceNum);
- public:
- int m_nPanelCount;
- int m_nCurrentPanelID; //0, 1, 2
- void* m_pCurrentDPC;
- map<FPDDeviceTrixell*, int>* m_pDPC2PanelID;
- map<int, FPDDeviceTrixell*>* m_pPanelID2DPC;
- ResDataObject m_PanelConfigPath; //加载PanelConfigPath,通过探测器类型获取配置文件名称
- ResDataObject m_ModeMatch; //存储配置文件中FPDModeMatch项
- ResDataObject m_SelfTest; //存储自检信息
- private:
- bool WaitRespond(int nTimeOut, string strAction = "");
- bool SendRespond(string strAction = "");
- private:
- HMODULE m_hTrixellModule;
- string m_strPanelType; //探测器类型
- string m_strWorkPath; //工作路径
- string m_strPanelIP; //配置文件中的IP地址
- string m_strCfgPath; //SDK配置文件路径
- bool m_bOpened; //true: SDK Open成功,避免重复执行
- bool m_bConnected; //true: SDK Connect成功,避免重复执行
- bool m_bLoaded; //true: 已经加载过SDK
- APP_STATUS m_eAppStatus; //记录当前软件的工作状态(界面)
- ConfigParameters m_configParams;
- string m_strDetectorSSID_Old;
- system_state m_currentState; //记录当前状态 QUIET REFERENCE PATIENT等
- int m_nCurrentMode; //记录探测器当前application mode
- int m_nCurrentOmMode; //记录探测器当前操作模式,取自自定义枚举类型eDetOperationMode的值
- int m_nCurrentAppMode; //记录当前的应用模式
- bool m_bWorkMode; //true: 已经进入workmode
- int m_nImageWidth;
- int m_nImageHeight;
- int m_nWidthOffset;
- int m_nHeightOffset;
- int m_nRawImgWidth; //图像原始宽
- int m_nRawImgHeight; //图像原始高
- WORD* m_pPreImgBuffer;
- WORD* m_pImgBuffer;
- WORD* m_pRawImgBuffer;
- int m_nImgBits;
- int m_nPixelPitch;
- bool m_bPreviewEnable;
- int m_nPreviewWidth;
- int m_nPreviewHeight;
- CCOS_CALIBRATION_TYPE m_eCaliType; // 记录当前校正模式
- float m_fDose;
- float m_fCurrentDose; // 记录当前的Dose要求
- eDetStatus m_eStatus; // 探测器状态
- int m_nXwinOnIndex; // tomo开窗次数
- int m_nTomoImgIndex; //tomo曝光图像的index,存图时使用
- int m_nTomoImgCount; //tomo曝光图像的张数(1~30)
- int m_nCaliFailedCount; //记录增益校正失败次数,超过一定次数自动停止校正
- bool m_bGainPreparing; //true: 正在进入增益校正状态
- bool m_bGainProcess; //true: 处于增益曝光的一次小循环当中(WindowOn ~ SDK返回当前曝光结果)
- bool m_bConfirmCaliRst; //true: 接受当前增益校正曝光结果
- bool m_bAutoContinueCal; //true: SDK自动进行下一次增益开窗流程(一般是在当前增益合格);false: 手动触发SDK进行下一次增益
- int m_nSaveRaw; //0:不存; 1:预览图; 2:raw图; 4:实际尺寸图像;
- bool m_bPreviewImg; //true: 当前获取的是预览图
- bool m_bExpEnable; //true: 曝光使能。false的情况下不允许进行曝光操作
- eDetPixImgType m_eImgType; //图像类型
- bool m_bWaitAcqEnd; //true:调用停止采集,等待EVT_END_ACQUISITION
- bool m_bPrepShot; //true:收到了EVT_PREP_XRAY_SHOT,不用在FramePrep里面进行耗时操作
- //int m_nGainNodeCount; //校正曝光的总节点个数
- //int m_nGainNodeIndex; //校正曝光的节点Index
- //int m_nGainExpCount; //校正曝光节点需要曝光的次数
- //int m_nGainExpIndex; //校正曝光节点已曝光的次数
- correction_type m_eCorrectionType; //记录可以设置给探测器的校正模式
- correction_type m_eCurrentCT; //记录当前的设置给探测器的校正模式
- bool m_bAbortRefreshOft; //true 终止offset
- int m_nOftRefreshTimer; //offset刷新计时器 单位:分钟
- int m_nAngle; //顺时针旋转角度,支持90 180 270
- CRITICAL_SECTION m_cs;
- int m_nIgnoreImgCount; //tomo模式需要忽略掉的图像张数
- int m_nIgnoreImgNum; //tomo模式已经忽略掉的图像张数
- int m_nCfgCalibPrepare;
- CPanelStatus* m_pStPanelStatus[3];
- DeviceIndexStruct m_stDeviceIndex[3]; //配置的探测器列表//不超过三块板
- int m_nDetectorID;
- bool m_bAttaching; //true: 探测器正在attach过程中
- bool m_bModuleConnecting; //true: 探测器正在连接过程中。固件升级、attach时使用
- bool m_bModulePresent; //记录红外探头是否和探测器接触
- string m_strModuleType; //红外获取的探测器类型;
- string m_strModuleIP;//红外获取的探测器IP;
- string m_strModuleSN; //红外获取的探测器SN
- string m_strModuleSSID; //红外获取的SSID
- bool m_bModuleEnable; //true: 使用红外扫描功能
- int m_nIRPort; //从配置文件中读取到的红外探头串口号
- bool m_bUpdateFirmwareDirect; //true: 直接升级固件
- //bool m_bNeedUpdateFW; //true: 需要升级固件 需要通过配置获知是否需要升级
- bool m_bNeedFeedback; //true: 获取wifi信息中,需要unlockpixrad
- unsigned int m_nSessionID; //下载文件时 和探测器的会话ID
- bool m_bLTEenable; //true: 长曝光模式
- SYNC_MODE m_eSyncMode; //同步模式
- int m_nXWinMode;
- int m_nLteXWinMode;
- bool m_bTransImageSuccess; //true:图像传输成功
- //int m_nTotalShockNumber;
- string m_strAttachFPD; //记录要attach的探测器类型
- int m_nAttachFPDID; //记录要attach的探测器ID
- int m_nUpdateFPDID; //记录要固件升级的探测器ID
- int m_nShockFPDID; //记录要查询shock sensor信息的探测器ID
- bool m_bExitShockCheck; //true:退出获取shock sensor信息的线程
- int m_nRefreshOftMode; //当前刷新offset的appmode
- bool m_bIsImageRecovering; //是否处于图像恢复流程
- PanelSerialXMLControl m_objSNlist;
- int m_nRequireHWType; //查询多板状态的机制
- int m_nStatusTimeout; //通过SDK polling状态的时间
- int m_nPollingTimes; //通过SDK polling状态的次数
- int m_nStopPollingIndex; //停止polling功能的探测器index
- bool m_bIsExpInAuto; //true: aed模式曝光了
- bool m_bRefreshing; //true:正在刷新offset
- bool m_bReInitialize; //true:正在重新初始化
- int m_nAutonumousID; //离线采集的探测器ID
- vector<string> m_vecStorageList;
- vector<string> m_StoredImageMetaDataList;
- string m_strGetMetaData;
- bool m_bAutonumousMode;
- string m_strAutonumousMetaData;
- int m_nAutonumousImageIndex;
- CCOS_CALIBRATION_MODE m_nCalibrationMode;
- CZSKKCalibrationCtrl* m_pZSKKCalib;
- int m_nCalibCurrentCalibrationRound;
- int m_nCalibrationRounds;
- int m_nCalibCurrentExposureIndex;
- int m_nExposureNumCurrentRound;
- bool m_bSaveCalibrationRaw;
- HANDLE m_hShareEvent; //等待事件锁
- //HANDLE m_hRefreshOftEvent;
- //HANDLE m_hRefreshOftThread; //自动刷新offset线程
- HANDLE m_hFPDScanThread; //辅助线程,执行开窗、关窗等通知
- HANDLE m_hFPDStatusThread; //检查探测器状态线程句柄
- //HANDLE m_hOftEndEvent; //自动刷新offset结束
- HANDLE m_hStopScanEvent;
- HANDLE m_hProcessImgEvent;
- HANDLE m_hXWinOnEvent;
- HANDLE m_hXWinOffEvent;
- HANDLE m_hEndCalibEvent;
- HANDLE m_hDarkEndEvent; //dark校正结束
- HANDLE m_hClosePollingEvent;
- HANDLE m_hArrayEvent[7];
- HANDLE m_hModuleThread; //红外连接线程的句柄
- HANDLE m_hCheckShockThread; //获取shock信息的线程的句柄
- HANDLE m_hCheckShockEvent;
- HANDLE m_hToggleEvent; //线程执行结束的通知事件
- HANDLE m_hQuitAdaptEvent; //退出固件升级线程
- HANDLE m_hQuitStatusEvent; //退出检查探测器状态线程事件
- HANDLE m_hRespondEvent; //耗时流程执行等待事件
- CB_TED_PixRad_RegisterEventCallback TED_PixRad_RegisterEventCallback;
- CB_TED_PixRad_RegisterOutputMsgCallback TED_PixRad_RegisterOutputMsgCallback;
- CB_TED_PixRad_Open TED_PixRad_Open; //同步函数
- CB_TED_PixRad_Close TED_PixRad_Close;
- CB_TED_PixRad_ResetDetector TED_PixRad_ResetDetector;
- CB_TED_PixRad_StartAcquisition TED_PixRad_StartAcquisition;
- CB_TED_PixRad_StopAcquisition TED_PixRad_StopAcquisition;
- CB_TED_PixRad_GetConfigParameters TED_PixRad_GetConfigParameters; //同步函数
- CB_TED_PixRad_GetHardwareStatus TED_PixRad_GetHardwareStatus;
- CB_TED_PixRad_GetDetectorHardwareStatus TED_PixRad_GetDetectorHardwareStatus;
- CB_TED_PixRad_GetWifiStatus TED_PixRad_GetWifiStatus;
- CB_TED_PixRad_GetDetectorWifiStatus TED_PixRad_GetDetectorWifiStatus;
- CB_TED_PixRad_GetSystemStatus TED_PixRad_GetSystemStatus;
- CB_TED_PixRad_GetSystemState TED_PixRad_GetSystemState;
- CB_TED_PixRad_LoadReferences TED_PixRad_LoadReferences;
- CB_TED_PixRad_DarkCalibration TED_PixRad_DarkCalibration;
- //DarkCalibration --- 先从quiet切换到reference,然后EVT_START_DARK_CALIBRATION,最后EVT_END_DARK_CALIBRATION,再切换到standby状态
- CB_TED_PixRad_XRayCalibration TED_PixRad_XRayCalibration;
- CB_TED_PixRad_CancelSequence TED_PixRad_CancelSequence;
- CB_TED_PixRad_SetActiveDetector TED_PixRad_SetActiveDetector;
- CB_TED_PixRad_GetActiveDetector TED_PixRad_GetActiveDetector;
- CB_TED_PixRad_PerformDetectorSelfTest TED_PixRad_PerformDetectorSelfTest;
- CB_TED_PixRad_SwitchSSID TED_PixRad_SwitchSSID;
- CB_TED_PixRad_ResumeSequence TED_PixRad_ResumeSequence;
- CB_TED_PixRad_SetSystemState TED_PixRad_SetSystemState;
- CB_TED_PixRad_UnregisterEventCallback TED_PixRad_UnregisterEventCallback;
- CB_TED_PixRad_UnregisterOutputMsgCallback TED_PixRad_UnregisterOutputMsgCallback;
- CB_TED_PixRad_ModulePolling TED_PixRad_ModulePolling;
- CB_TED_PixRad_ModuleSwitchSSID TED_PixRad_ModuleSwitchSSID;
- CB_TED_PixRad_ModuleSetNetworkConfig TED_PixRad_ModuleSetNetworkConfig;
- CB_TED_PixRad_ModuleSetIpConfig TED_PixRad_ModuleSetIpConfig;
- CB_TED_PixRad_Connect TED_PixRad_Connect;
- CB_TED_PixRad_Disconnect TED_PixRad_Disconnect;
- CB_TED_PixRad_DetectorControl TED_PixRad_DetectorControl;
- CB_TED_PixRad_RecoverLastImage TED_PixRad_RecoverLastImage;
- CB_TED_PixRad_GetLastAcquisitionData TED_PixRad_GetLastAcquisitionData;
- CB_TED_PixRad_DetectorStatusPolling TED_PixRad_DetectorStatusPolling;
- CB_TED_PixRad_GetVoltage TED_PixRad_GetVoltage;
- CB_TED_PixRad_SetImageMetadata TED_PixRad_SetImageMetadata;
- CB_TED_PixRad_GetStoredImageList TED_PixRad_GetStoredImageList;
- CB_TED_PixRad_GetStoredImage TED_PixRad_GetStoredImage;
- CB_TED_PixRad_RemoveStoredImage TED_PixRad_RemoveStoredImage;
- CB_TED_PixRad_ModuleGetInfo TED_PixRad_ModuleGetInfo;
- CB_TED_PixRad_SetApplicationParameters TED_PixRad_SetApplicationParameters;
- CB_TED_PixRad_ApplicationAcquisition TED_PixRad_ApplicationAcquisition;
- CB_TED_PixRad_GetDetectorInformation TED_PixRad_GetDetectorInformation;
- CB_TED_PixRad_ApplicationControl TED_PixRad_ApplicationControl;
- CB_TED_PixRad_RemoveAllStoredImages TED_PixRad_RemoveAllStoredImages;
- CB_TED_PixRad_GetSystemCalibrationTimeStatus TED_PixRad_GetSystemCalibrationTimeStatus;
- CB_TED_PixRad_OpenRemoteStorageSession TED_PixRad_OpenRemoteStorageSession;
- CB_TED_PixRad_CloseRemoteStorageSession TED_PixRad_CloseRemoteStorageSession;
- CB_TED_PixRad_RemoteStorageUploadFile TED_PixRad_RemoteStorageUploadFile;
- CB_TED_PixRad_RemoteStorageDownloadFile TED_PixRad_RemoteStorageDownloadFile;
- CB_TED_PixRad_RemoteStorageCreateDirectory TED_PixRad_RemoteStorageCreateDirectory;
- CB_TED_PixRad_SaveImage TED_PixRad_SaveImage;
- CB_TED_PixRad_LoadImage TED_PixRad_LoadImage;
- CB_TED_PixRad_TransferStoredImages TED_PixRad_TransferStoredImages;
- ResDataObject m_ModeConfig;
- ResDataObject m_ObjFPDsInfo; //存储探测器数量和类型
- };
|