1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- #pragma once
- #include "IPositionManager.h"
- class LogicDevice;
- namespace DIOS::Dev::Detail::MachineryECOM
- {
- class PositionManager : public IPositionManager
- {
- public:
- PositionManager();
- ~PositionManager();
- public:
- static PositionManager *Instance();
- public:
- void Attach(IPositionManager *impl);
- public:
- virtual void Initialize(IMachineryManager *machmanager) override;
- virtual float GetLandmarkPosition(DOF_MECH dof, LANDMARK_TYPE landmarkType) override;
- virtual float GetCurrentAbsolutePhysical(DOF_MECH dof) override;
- virtual float GetPhysicalPerMotorPulse(DOF_MECH dof) override;
- virtual float GetCurrentPhysical(DOF_MECH dof) override;
- virtual int GetCurrentSensorValue(DOF_MECH dof) override;
- virtual DWORD ConvertMotorSpeed(const std::string &componentName, float speed) override;
- virtual float ConvertSensorValue(const std::string &componentName, int sensorValue) override;
- virtual int ConvertPhysicsValue(const std::string &componentName, float physicsValue) override;
- virtual DWORD ConvertMotorStepValue(const std::string &componentName, float physicsOffset) override;
- virtual void ResetSystem() override;
- virtual BOOL IsSystemReady() override;
- virtual int IsTomoMotionLimitationStatus() override;
- virtual BOOL IsNeedCenterAdjust() override;
- virtual void SetNotifyLogicDevice(MachineryECOMDriver* logicdriver) override;
- virtual void NotifyAlignStatus(BOOL isAligned) override;
- virtual void NotifySystemIsReady() override;
- virtual void NotifySystemIsTomoMotionLimitation(int nLimitaionStatus) override;
- virtual void ResetSystem(const std::string &componentName) override;
- virtual BOOL IsSystemReady(const std::string &componentName) override;
- virtual void NotifySystemIsReady(const std::string &componentName) override;
- private:
- static PositionManager *m_instance;
- IPositionManager *m_implposManager;
- };
- }
|