PositionManager.h 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. #pragma once
  2. #include "IPositionManager.h"
  3. class LogicDevice;
  4. namespace DIOS::Dev::Detail::MachineryECOM
  5. {
  6. class PositionManager : public IPositionManager
  7. {
  8. public:
  9. PositionManager();
  10. ~PositionManager();
  11. public:
  12. static PositionManager *Instance();
  13. public:
  14. void Attach(IPositionManager *impl);
  15. public:
  16. virtual void Initialize(IMachineryManager *machmanager) override;
  17. virtual float GetLandmarkPosition(DOF_MECH dof, LANDMARK_TYPE landmarkType) override;
  18. virtual float GetCurrentAbsolutePhysical(DOF_MECH dof) override;
  19. virtual float GetPhysicalPerMotorPulse(DOF_MECH dof) override;
  20. virtual float GetCurrentPhysical(DOF_MECH dof) override;
  21. virtual int GetCurrentSensorValue(DOF_MECH dof) override;
  22. virtual DWORD ConvertMotorSpeed(const std::string &componentName, float speed) override;
  23. virtual float ConvertSensorValue(const std::string &componentName, int sensorValue) override;
  24. virtual int ConvertPhysicsValue(const std::string &componentName, float physicsValue) override;
  25. virtual DWORD ConvertMotorStepValue(const std::string &componentName, float physicsOffset) override;
  26. virtual void ResetSystem() override;
  27. virtual BOOL IsSystemReady() override;
  28. virtual int IsTomoMotionLimitationStatus() override;
  29. virtual BOOL IsNeedCenterAdjust() override;
  30. virtual void SetNotifyLogicDevice(MachineryECOMDriver* logicdriver) override;
  31. virtual void NotifyAlignStatus(BOOL isAligned) override;
  32. virtual void NotifySystemIsReady() override;
  33. virtual void NotifySystemIsTomoMotionLimitation(int nLimitaionStatus) override;
  34. virtual void ResetSystem(const std::string &componentName) override;
  35. virtual BOOL IsSystemReady(const std::string &componentName) override;
  36. virtual void NotifySystemIsReady(const std::string &componentName) override;
  37. private:
  38. static PositionManager *m_instance;
  39. IPositionManager *m_implposManager;
  40. };
  41. }