SyncGenUnitLogicEx.h 3.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. #pragma once
  2. #ifndef SYNCGENUNITLOGICEX_EXPORTS
  3. #ifdef _WIN64
  4. #ifdef _DEBUG
  5. #pragma comment(lib, "SyncGenUnitLogicExX64D.lib")
  6. #else
  7. #pragma comment(lib, "SyncGenUnitLogicExX64.lib")
  8. #endif
  9. #else
  10. #ifdef _DEBUG
  11. #pragma comment(lib, "SyncGenUnitLogicExD.lib")
  12. #else
  13. #pragma comment(lib, "SyncGenUnitLogicEx.lib")
  14. #endif
  15. #endif
  16. #endif
  17. #ifdef SYNCGENUNITLOGICEX_EXPORTS
  18. #define SYNGENUNITLOGICEX_API __declspec(dllexport)
  19. #else
  20. #define SYNGENUNITLOGICEX_API __declspec(dllimport)
  21. #endif
  22. #include "LogicDevice.h"
  23. class SYNGENUNITLOGICEX_API SyncGen_LogicDeviceEx : public LogicDevice
  24. {
  25. public:
  26. SyncGen_LogicDeviceEx(void);
  27. virtual ~SyncGen_LogicDeviceEx(void);
  28. //get device type
  29. virtual bool SYSTEM_CALL GetDeviceType(GUID &DevType);
  30. //get device resource
  31. virtual RET_STATUS SYSTEM_CALL GetDeviceResource(ResDataObject PARAM_OUT *pDeviceResource);
  32. //ResourceCommand Request In and Response Out
  33. virtual RET_STATUS SYSTEM_CALL Request(ResDataObject PARAM_IN *pRequest, ResDataObject PARAM_OUT *pResponse);
  34. //notify to lower layer
  35. virtual RET_STATUS SYSTEM_CALL CmdToLogicDev(ResDataObject PARAM_IN *pCmd);
  36. public:
  37. //ex:发生器当前处于的同步状态
  38. ResDataObject * m_SyncStatus;
  39. //ex:发生器接收到的同步状态信号,如手闸一档信号,二档信号,以及曝光信号HV_Triger等
  40. ResDataObject * m_SyncExpectStatus;
  41. //Cur Exam Mode
  42. ResDataObject *m_pCurrentExamMode;
  43. ResDataObject *ExamList;
  44. public:
  45. virtual RET_STATUS SYSTEM_CALL GetSEQResource(ResDataObject PARAM_OUT *pDeviceResource);
  46. //virtual RET_STATUS SYSTEM_CALL SetXrayOnOff(bool state);
  47. //virtual RET_STATUS DATA_ACTION SetSyncMode(int nSyncMode);
  48. virtual RET_STATUS DATA_ACTION UpdateGeneratorSyncStatus(int snycmode);//from OEM Layer to Data Layer
  49. virtual RET_STATUS DATA_ACTION ExpectToSyncStatus(int snycmode);//from OEM Layer to Data Layer
  50. virtual RET_STATUS DATA_ACTION GetExamMode(const char *pExamKey);//from OEM Layer to Data Layer
  51. virtual RET_STATUS OEM_IF SetGeneratortoSyncStatus(int snycmode);//from Data Layer to OEM Layer
  52. virtual RET_STATUS OEM_IF SelectExamMode(const char *pExamKey);
  53. virtual BOOL OEM_IF PreSetGeneratortoSyncStatus(int snycmode);
  54. virtual int OEM_IF GetExpectToSyncStatus();
  55. virtual RET_STATUS SetExamInfo(ResDataObject PARAM_IN& pParam);
  56. virtual RET_STATUS SetExposureTimes(int num);
  57. //状态机相关
  58. virtual RET_STATUS DATA_ACTION FramePrep();
  59. virtual RET_STATUS DATA_ACTION FrameReady();
  60. virtual RET_STATUS DATA_ACTION FrameStart();
  61. virtual RET_STATUS DATA_ACTION FrameIn();
  62. virtual RET_STATUS DATA_ACTION FrameOut();
  63. virtual RET_STATUS DATA_ACTION FrameEnd();
  64. virtual RET_STATUS DATA_ACTION FramePost();
  65. virtual RET_STATUS DATA_ACTION SeqEnd();
  66. virtual RET_STATUS DATA_ACTION FrameError();
  67. virtual RET_STATUS DATA_ACTION SeqError();
  68. virtual bool DEVICE_SUPPORT Support_FramePrep();
  69. virtual bool DEVICE_SUPPORT Support_FrameReady();
  70. virtual bool DEVICE_SUPPORT Support_FrameStart();
  71. virtual bool DEVICE_SUPPORT Support_FrameIn();
  72. virtual bool DEVICE_SUPPORT Support_FrameOut();
  73. virtual bool DEVICE_SUPPORT Support_FramePost();
  74. virtual RET_STATUS RESET();
  75. virtual RET_STATUS GetHandSwitchState(int state);
  76. };