SyncFpdUnitLogicEx.h 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  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. virtual RET_STATUS DATA_ACTION StartAcquisition();
  48. virtual RET_STATUS DATA_ACTION StopAcquisition();
  49. virtual RET_STATUS DATA_ACTION GetSEQResource(ResDataObject PARAM_OUT *pDeviceResource);
  50. //状态机相关
  51. virtual RET_STATUS DATA_ACTION FramePrep();
  52. virtual RET_STATUS DATA_ACTION FrameReady();
  53. virtual RET_STATUS DATA_ACTION FrameStart();
  54. virtual RET_STATUS DATA_ACTION FrameIn();
  55. virtual RET_STATUS DATA_ACTION FrameOut();
  56. virtual RET_STATUS DATA_ACTION FrameEnd();
  57. //3个全局退出&错误Action
  58. virtual RET_STATUS DATA_ACTION SeqError();
  59. virtual RET_STATUS DATA_ACTION SeqEnd();
  60. virtual RET_STATUS DATA_ACTION FrameError();
  61. //1个Recover
  62. virtual RET_STATUS DATA_ACTION FrameRecover();
  63. virtual RET_STATUS DATA_ACTION SeqRecover();
  64. virtual RET_STATUS DATA_ACTION SetFrameRate(FLOAT frameRate);
  65. virtual RET_STATUS DATA_ACTION SetSyncMode(SYNC_MODE nSyncMode, HARDWARE_TRIGGER_MODE TriggerMode);
  66. bool OEM_IF Prep_StartAcquisition();
  67. bool OEM_IF Prep_StopAcquisition();
  68. DETECTOR_STATUS OEM_IF GetDetectorStatus();
  69. RET_STATUS OEM_IF SetDetectorStatus(DETECTOR_STATUS status);
  70. DETECTOR_EXPECTOP OEM_IF GetDetectorExpectOp();
  71. RET_STATUS OEM_IF SetDetectorExpectOp(DETECTOR_EXPECTOP op);
  72. RET_STATUS OEM_IF SetXwindowSize(DWORD XwindowSize);
  73. RET_STATUS OEM_IF XWindowOnNotify();
  74. RET_STATUS OEM_IF XWindowOffNotify();
  75. //RET_STATUS OEM_IF SetDetectorStatus(DETECTOR_STATUS status);
  76. };