CArmResetHandler.h 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. #pragma once
  2. #include "IExamHandler.h"
  3. namespace DIOS::Dev::Detail::MachineryECOM
  4. {
  5. class CArmResetHandler : public IExamHandler
  6. {
  7. public:
  8. CArmResetHandler();
  9. ~CArmResetHandler();
  10. public:
  11. virtual void OnModelLoaded(IMotionModelManager *modelManager) override;
  12. virtual void OnCoordinatesLoaded(IPositionManager *coordinates) override;
  13. virtual RET_STATUS OnReset(DOF_MECH mech) override;
  14. virtual RET_STATUS OnCenterAdjust(DOF_MECH mech) override;
  15. virtual RET_STATUS OnSelectExamMode(const char *pExamKey) override;
  16. virtual RET_STATUS OnSetTechParamsInfo(ResDataObject& pParam) override;
  17. virtual RET_STATUS OnStopMech() override;
  18. virtual RET_STATUS OnStartMove(DOF_MECH mech, int nOrientation) override;
  19. virtual RET_STATUS OnStopMove(DOF_MECH mech) override;
  20. virtual RET_STATUS OnScanningSwitch(DOF_MECH mech) override;
  21. virtual void OnMotionEvent(const std::string &motionEventName) override;
  22. virtual void OnHandSwitchGearFirstPressed() override;
  23. virtual void OnHandSwitchGearFirstReleased() override;
  24. virtual void OnTubeAngleLowLimitPos() override;
  25. virtual void OnTubeAngleHighLimitPos() override;
  26. virtual void OnTubeHeightLowLimitPos() override;
  27. virtual void OnTubeHeightHighLimitPos() override;
  28. virtual void OnTubeAngleLeaveLowLimitPos()override;
  29. virtual void OnTubeAngleLeaveHighLimitPos()override;
  30. virtual void OnTubeHeightLeaveLowLimitPos()override;
  31. virtual void OnTubeHeightLeaveHighLimitPos()override;
  32. virtual void OnTubeAngleEncoderZPos() override;
  33. virtual void OnTubeHeightEncoderZPos() override;
  34. virtual void OnExit() override;
  35. private:
  36. void DoStartReset();
  37. void DoStartSwingReset();
  38. void DoStartCircularReset();
  39. void StartSwingAxisReset();
  40. void StartCircularAxisReset();
  41. void ChangeMotionModelStage(const std::string &stageName);
  42. void OnMotionEventTubeSwingStop();
  43. void OnMotionEventTubeCircularStop();
  44. BOOL IsMovingEnable();
  45. private:
  46. BOOL m_modelLoaded;
  47. BOOL m_useHandSwitchControlReset;
  48. BOOL m_isResetting;
  49. BOOL m_isResettingSwing;
  50. BOOL m_isResettingCircular;
  51. IPositionManager *m_postionManager;
  52. IMotionModelManager *m_modelManager;
  53. DOF_MECH m_MechReset;
  54. };
  55. }