IPositionManager.h 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. #pragma once
  2. namespace DIOS::Dev::Detail::MachineryECOM
  3. {
  4. enum DOF_MECH
  5. {
  6. TOMO_TUBE_ANGLE,
  7. TOMO_TUBE_HEIGHT,
  8. TOMO_TUBE_HORIZONTAL,
  9. TOMO_DETECTOR_HEIGHT,
  10. TOMO_DETECTOR_HORIZONTAL,
  11. CARM_TUBE_SWING,
  12. CARM_TUBE_CIRCULAR,
  13. MECH_ALL,
  14. };
  15. enum LANDMARK_TYPE
  16. {
  17. LANDMARK_HIGH,
  18. LANDMARK_LOW,
  19. };
  20. const std::string NOTIFY_KEY_SYSTEM_READY = "MachineryReady";
  21. const std::string NOTIFY_KEY_ALIGNSTATUS = "AlignStatus";
  22. class IMachineryManager;
  23. class IPositionManager
  24. {
  25. public:
  26. IPositionManager(){}
  27. virtual ~IPositionManager(){}
  28. public:
  29. public:
  30. virtual void Initialize(IMachineryManager *machmanager) = 0;
  31. virtual float GetLandmarkPosition(DOF_MECH dof,LANDMARK_TYPE landmarkType) = 0;
  32. virtual float GetCurrentAbsolutePhysical(DOF_MECH dof) = 0;
  33. virtual float GetPhysicalPerMotorPulse(DOF_MECH dof) = 0;
  34. virtual float GetCurrentPhysical(DOF_MECH dof) = 0;
  35. virtual int GetCurrentSensorValue(DOF_MECH dof) = 0;
  36. virtual float ConvertSensorValue(const std::string &componentName, int sensorValue) = 0;
  37. virtual int ConvertPhysicsValue(const std::string &componentName, float physicsValue) = 0;
  38. virtual DWORD ConvertMotorStepValue(const std::string &componentName, float physicsOffset) = 0;
  39. virtual DWORD ConvertMotorSpeed(const std::string &componentName, float speed) = 0;
  40. virtual void ResetSystem() = 0;
  41. virtual BOOL IsSystemReady() = 0;
  42. virtual int IsTomoMotionLimitationStatus() = 0;
  43. virtual BOOL IsNeedCenterAdjust() = 0;
  44. virtual void SetNotifyLogicDevice(MachineryECOMDriver* logicdriver) = 0;
  45. virtual void NotifyAlignStatus(BOOL isAligned) = 0;
  46. virtual void NotifySystemIsReady() = 0;
  47. virtual void NotifySystemIsTomoMotionLimitation(int nLimitaionStatus) = 0;
  48. virtual void ResetSystem(const std::string &componentName) = 0;
  49. virtual BOOL IsSystemReady(const std::string &componentName) = 0;
  50. virtual void NotifySystemIsReady(const std::string &componentName) = 0;
  51. };
  52. }