DoNothingHandler.cpp 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107
  1. #include "stdafx.h"
  2. #include "DoNothingHandler.h"
  3. #include <iostream>
  4. #include "IMotionModel.h"
  5. #include "IMotionModelManager.h"
  6. #include "MotionStages.h"
  7. #include "CArmComponentNameDef.h"
  8. #include "CArmGeneralMotionStageArgs.h"
  9. using namespace DIOS::Dev::Detail::MachineryECOM;
  10. DoNothingHandler::DoNothingHandler():
  11. m_modelManager(nullptr)
  12. {
  13. }
  14. DoNothingHandler::~DoNothingHandler()
  15. {
  16. }
  17. void DoNothingHandler::OnModelLoaded(IMotionModelManager *modelManager)
  18. {
  19. m_modelManager = modelManager;
  20. }
  21. void DoNothingHandler::OnCoordinatesLoaded(IPositionManager *coordinates)
  22. {
  23. }
  24. void DoNothingHandler::OnMotionEvent(const std::string &motionEventName)
  25. {
  26. std::cout << "OnMotionEvent " << motionEventName << endl;
  27. }
  28. RET_STATUS DoNothingHandler::OnStartMove(DOF_MECH mech, int nOrientation)
  29. {
  30. auto model = m_modelManager->Resove(MOTION_MODLE_CARM_GENERAL);
  31. if (!model)
  32. {
  33. return RET_STATUS::RET_FAILED;
  34. }
  35. auto modelArgs = (CArmGeneralMotionStageArgs *)model->GetStageArgs();
  36. if (mech == TOMO_TUBE_HEIGHT)
  37. {
  38. modelArgs->TubeCircularMoveDirection = nOrientation;
  39. modelArgs->TubeCircularMoveStep = -1;
  40. if(gbusinessLog) gbusinessLog->Info("[DoNothingHandler][OnStartMove]->[Enter][TOMO_TUBE_CIRCULAR][Org: {$:d}]", modelArgs->TubeSwingDirection);
  41. model->ChangeStage(CARM_GENERAL_MOVE_TUBE_CIRCULAR);
  42. }
  43. else if (mech == TOMO_TUBE_ANGLE)
  44. {
  45. modelArgs->TubeSwingDirection = nOrientation;
  46. modelArgs->TubeSwingStep = -1;
  47. if(gbusinessLog) gbusinessLog->Info("[DoNothingHandler][OnStartMove]->[Enter][TOMO_TUBE_ANGLE][Org: {$:d}]", modelArgs->TubeSwingDirection);
  48. model->ChangeStage(CARM_GENERAL_MOVE_TUBE_SWING);
  49. }
  50. if(gbusinessLog) gbusinessLog->Info("[DoNothingHandler][OnStartMove]->[Leave]");
  51. return RET_STATUS::RET_SUCCEED;
  52. }
  53. RET_STATUS DoNothingHandler::OnStopMove(DOF_MECH mech)
  54. {
  55. if(gbusinessLog) gbusinessLog->Info("[DoNothingHandler][OnStopMove]->[Enter]");
  56. auto model = m_modelManager->Resove(MOTION_MODLE_CARM_GENERAL);
  57. if (!model)
  58. {
  59. return RET_STATUS::RET_FAILED;
  60. }
  61. model->ChangeStage(CARM_GENERAL_STOP_MECH_MOVING);
  62. if(gbusinessLog) gbusinessLog->Info("[DoNothingHandler][OnStopMove]->[Leave]");
  63. return RET_STATUS::RET_SUCCEED;
  64. }
  65. void DoNothingHandler::OnHandSwitchGearFirstPressed()
  66. {
  67. auto model = m_modelManager->Resove(MOTION_MODLE_CARM_GENERAL);
  68. if (!model)
  69. {
  70. return;
  71. }
  72. model->ChangeStage(CARM_GENERAL_START_EXPOSURE);
  73. }
  74. void DoNothingHandler::OnHandSwitchGearFirstReleased()
  75. {
  76. auto model = m_modelManager->Resove(MOTION_MODLE_CARM_GENERAL);
  77. if (!model)
  78. {
  79. return ;
  80. }
  81. model->ChangeStage(CARM_GENERAL_STOP_EXPOSURE);
  82. }