#pragma once #include "LogicDevice.h" #include "ResDataObject.h" #include "Detector_Model_Def.h" #ifndef SYNCFPDUNITLOGICEX_EXPORTS #ifdef _WIN64 #ifdef _DEBUG #pragma comment(lib, "SyncFpdUnitLogicExX64D.lib") #else #pragma comment(lib, "SyncFpdUnitLogicExX64.lib") #endif #else #ifdef _DEBUG #pragma comment(lib, "SyncFpdUnitLogicExD.lib") #else #pragma comment(lib, "SyncFpdUnitLogicEx.lib") #endif #endif #endif #ifdef SYNCFPDUNITLOGICEX_EXPORTS #define SYNCFPDUNITLOGICEX_API __declspec(dllexport) #define SYNCFPDUNITLOGICEX_C_API extern "C" __declspec(dllexport) #else #define SYNCFPDUNITLOGICEX_API __declspec(dllimport) #define SYNCFPDUNITLOGICEX_C_API extern "C" __declspec(dllimport) #endif // 此类是从 SyncFpdUnitLogicEx.dll 导出的 class SYNCFPDUNITLOGICEX_API SyncFpdUnitLogicEx : public LogicDevice { //ResDataObject* m_pnSyncMode; //ResDataObject* m_pnHardwareTriggerMode; //ResDataObject* m_pnXWindowTime; //ResDataObject* m_pbXWindowStatus; //ResDataObject* m_pfFPDFrameRate; ResDataObject* m_pSyncData;//xwindowsize,syncmode,triggermode,xwindowstatus,framerate public: SyncFpdUnitLogicEx(void); virtual ~SyncFpdUnitLogicEx(void); //get device type virtual bool SYSTEM_CALL GetDeviceType(GUID &DevType); //get device resource virtual RET_STATUS SYSTEM_CALL GetDeviceResource(ResDataObject PARAM_OUT *pDeviceResource); //ResourceCommand Request In and Response Out virtual RET_STATUS SYSTEM_CALL Request(ResDataObject PARAM_IN *pRequest, ResDataObject PARAM_OUT *pResponse); //notify to lower layer virtual RET_STATUS SYSTEM_CALL CmdToLogicDev(ResDataObject PARAM_IN *pCmd); //曝光前的设置 virtual RET_STATUS DATA_ACTION SetSyncMode(SYNC_MODE nSyncMode, HARDWARE_TRIGGER_MODE TriggerMode); virtual RET_STATUS DATA_ACTION SetFrameRate(FLOAT frameRate); virtual RET_STATUS DATA_ACTION SetXwindowSize(DWORD XwindowSize); virtual RET_STATUS DATA_ACTION SetExposureTimes(int nTimes); virtual RET_STATUS DATA_ACTION PrepareAcquisition(); virtual RET_STATUS DATA_ACTION StartAcquisition(); virtual RET_STATUS DATA_ACTION SetXrayOnNum(int nNum); virtual RET_STATUS DATA_ACTION StopAcquisition(); //曝光过程中的事件发送 RET_STATUS OEM_IF FPDReadyNotify(); RET_STATUS OEM_IF XWindowOnNotify(); RET_STATUS OEM_IF XWindowOffNotify(); RET_STATUS OEM_IF ImageReadingNotify(); DETECTOR_STATUS OEM_IF GetDetectorStatus(); RET_STATUS OEM_IF SetDetectorStatus(DETECTOR_STATUS status); };