SyncFpdUnitLogicEx.h 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. #pragma once
  2. #include "LogicDevice.h"
  3. #include "ResDataObject.h"
  4. #include "Detector_Model_Def.h"
  5. #ifndef SYNCFPDUNITLOGICEX_EXPORTS
  6. #ifdef _WIN64
  7. #ifdef _DEBUG
  8. #pragma comment(lib, "SyncFpdUnitLogicExX64D.lib")
  9. #else
  10. #pragma comment(lib, "SyncFpdUnitLogicExX64.lib")
  11. #endif
  12. #else
  13. #ifdef _DEBUG
  14. #pragma comment(lib, "SyncFpdUnitLogicExD.lib")
  15. #else
  16. #pragma comment(lib, "SyncFpdUnitLogicEx.lib")
  17. #endif
  18. #endif
  19. #endif
  20. #ifdef SYNCFPDUNITLOGICEX_EXPORTS
  21. #define SYNCFPDUNITLOGICEX_API __declspec(dllexport)
  22. #define SYNCFPDUNITLOGICEX_C_API extern "C" __declspec(dllexport)
  23. #else
  24. #define SYNCFPDUNITLOGICEX_API __declspec(dllimport)
  25. #define SYNCFPDUNITLOGICEX_C_API extern "C" __declspec(dllimport)
  26. #endif
  27. // 此类是从 SyncFpdUnitLogicEx.dll 导出的
  28. class SYNCFPDUNITLOGICEX_API SyncFpdUnitLogicEx : public LogicDevice
  29. {
  30. //ResDataObject* m_pnSyncMode;
  31. //ResDataObject* m_pnHardwareTriggerMode;
  32. //ResDataObject* m_pnXWindowTime;
  33. //ResDataObject* m_pbXWindowStatus;
  34. //ResDataObject* m_pfFPDFrameRate;
  35. ResDataObject* m_pSyncData;//xwindowsize,syncmode,triggermode,xwindowstatus,framerate
  36. public:
  37. SyncFpdUnitLogicEx(void);
  38. virtual ~SyncFpdUnitLogicEx(void);
  39. //get device type
  40. virtual bool SYSTEM_CALL GetDeviceType(GUID &DevType);
  41. //get device resource
  42. virtual RET_STATUS SYSTEM_CALL GetDeviceResource(ResDataObject PARAM_OUT *pDeviceResource);
  43. //ResourceCommand Request In and Response Out
  44. virtual RET_STATUS SYSTEM_CALL Request(ResDataObject PARAM_IN *pRequest, ResDataObject PARAM_OUT *pResponse);
  45. //notify to lower layer
  46. virtual RET_STATUS SYSTEM_CALL CmdToLogicDev(ResDataObject PARAM_IN *pCmd);
  47. //曝光前的设置
  48. virtual RET_STATUS DATA_ACTION SetSyncMode(SYNC_MODE nSyncMode, HARDWARE_TRIGGER_MODE TriggerMode);
  49. virtual RET_STATUS DATA_ACTION SetFrameRate(FLOAT frameRate);
  50. virtual RET_STATUS DATA_ACTION SetXwindowSize(DWORD XwindowSize);
  51. virtual RET_STATUS DATA_ACTION SetExposureTimes(int nTimes);
  52. virtual RET_STATUS DATA_ACTION PrepareAcquisition();
  53. virtual RET_STATUS DATA_ACTION StartAcquisition();
  54. virtual RET_STATUS DATA_ACTION SetXrayOnNum(int nNum);
  55. virtual RET_STATUS DATA_ACTION StopAcquisition();
  56. //曝光过程中的事件发送
  57. RET_STATUS OEM_IF FPDReadyNotify();
  58. RET_STATUS OEM_IF XWindowOnNotify();
  59. RET_STATUS OEM_IF XWindowOffNotify();
  60. RET_STATUS OEM_IF ImageReadingNotify();
  61. DETECTOR_STATUS OEM_IF GetDetectorStatus();
  62. RET_STATUS OEM_IF SetDetectorStatus(DETECTOR_STATUS status);
  63. };