PositionManager.cpp 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145
  1. #include "stdafx.h"
  2. #include "PositionManager.h"
  3. using namespace DIOS::Dev::Detail::MachineryECOM;
  4. PositionManager *PositionManager::m_instance = nullptr;
  5. PositionManager::PositionManager()
  6. :m_implposManager(nullptr)
  7. {
  8. }
  9. PositionManager::~PositionManager()
  10. {
  11. if (m_implposManager)
  12. {
  13. delete m_implposManager;
  14. m_implposManager = nullptr;
  15. }
  16. }
  17. PositionManager *PositionManager::Instance()
  18. {
  19. if (m_instance == nullptr)
  20. {
  21. m_instance = new PositionManager();
  22. }
  23. return m_instance;
  24. }
  25. void PositionManager::Attach(IPositionManager *impl)
  26. {
  27. m_implposManager = impl;
  28. }
  29. void PositionManager::Initialize(IMachineryManager *machmanager)
  30. {
  31. if (m_implposManager != nullptr)
  32. {
  33. m_implposManager->Initialize(machmanager);
  34. }
  35. }
  36. float PositionManager::GetLandmarkPosition(DOF_MECH dof, LANDMARK_TYPE landmarkType)
  37. {
  38. return m_implposManager->GetLandmarkPosition(dof, landmarkType);
  39. }
  40. float PositionManager::GetCurrentAbsolutePhysical(DOF_MECH dof)
  41. {
  42. return m_implposManager->GetCurrentAbsolutePhysical(dof);
  43. }
  44. float PositionManager::GetPhysicalPerMotorPulse(DOF_MECH dof)
  45. {
  46. return m_implposManager->GetPhysicalPerMotorPulse(dof);
  47. }
  48. float PositionManager::GetCurrentPhysical(DOF_MECH dof)
  49. {
  50. return m_implposManager->GetCurrentPhysical(dof);
  51. }
  52. int PositionManager::GetCurrentSensorValue(DOF_MECH dof)
  53. {
  54. return m_implposManager->GetCurrentSensorValue(dof);
  55. }
  56. void PositionManager::SetNotifyLogicDevice(MachineryECOMDriver* logicdriver)
  57. {
  58. m_implposManager->SetNotifyLogicDevice(logicdriver);
  59. }
  60. float PositionManager::ConvertSensorValue(const std::string &componentName, int sensorValue)
  61. {
  62. return m_implposManager->ConvertSensorValue(componentName, sensorValue);
  63. }
  64. int PositionManager::ConvertPhysicsValue(const std::string &componentName, float physicsValue)
  65. {
  66. return m_implposManager->ConvertPhysicsValue(componentName, physicsValue);
  67. }
  68. DWORD PositionManager::ConvertMotorStepValue(const std::string &componentName, float physicsOffset)
  69. {
  70. return m_implposManager->ConvertMotorStepValue(componentName, physicsOffset);
  71. }
  72. DWORD PositionManager::ConvertMotorSpeed(const std::string &componentName, float speed)
  73. {
  74. return m_implposManager->ConvertMotorSpeed(componentName, speed);
  75. }
  76. void PositionManager::ResetSystem()
  77. {
  78. m_implposManager->ResetSystem();
  79. }
  80. BOOL PositionManager::IsSystemReady()
  81. {
  82. return m_implposManager->IsSystemReady();
  83. }
  84. int PositionManager::IsTomoMotionLimitationStatus()
  85. {
  86. return m_implposManager->IsTomoMotionLimitationStatus();
  87. }
  88. BOOL PositionManager::IsNeedCenterAdjust()
  89. {
  90. return m_implposManager->IsNeedCenterAdjust();
  91. }
  92. void PositionManager::NotifyAlignStatus(BOOL isAligned)
  93. {
  94. return m_implposManager->NotifyAlignStatus(isAligned);
  95. }
  96. void PositionManager::NotifySystemIsReady()
  97. {
  98. return m_implposManager->NotifySystemIsReady();
  99. }
  100. void PositionManager::NotifySystemIsTomoMotionLimitation(int nLimitaionStatus)
  101. {
  102. return m_implposManager->NotifySystemIsTomoMotionLimitation(nLimitaionStatus);
  103. }
  104. void PositionManager::ResetSystem(const std::string &componentName)
  105. {
  106. return m_implposManager->ResetSystem(componentName);
  107. }
  108. BOOL PositionManager::IsSystemReady(const std::string &componentName)
  109. {
  110. return m_implposManager->IsSystemReady(componentName);
  111. }
  112. void PositionManager::NotifySystemIsReady(const std::string &componentName)
  113. {
  114. return m_implposManager->NotifySystemIsReady(componentName);
  115. }