SensorEncoderController.h 1.1 KB

1234567891011121314151617181920212223242526272829303132333435
  1. #pragma once
  2. #include "ISensorEncoderController.h"
  3. namespace DIOS::Dev::Detail::MachineryECOM
  4. {
  5. class SensorEncoderController : public ISensorEncoderController
  6. {
  7. public:
  8. SensorEncoderController();
  9. ~SensorEncoderController();
  10. public:
  11. static std::string CLASSID();
  12. public:
  13. virtual void Initialize(const std::string &name) override;
  14. virtual void OnCommunicationEstablished(ICommunicateEntity *communicate) override;
  15. virtual int GetCurrentEncoderValue() override;
  16. virtual void LoadAxisInterfaceID(int id_axis_a, int id_axis_b, int id_axis_z) override;
  17. virtual void BindABAxis() override;
  18. virtual void BindZAxis() override;
  19. virtual void UnBindZAxis() override;
  20. virtual void ActiveAutoNotifyWhenZClear(bool active) override;
  21. virtual void ActiveExposureTrigger(int triggerID) override;
  22. virtual void ActiveRotateTrigger(int triggerID) override;
  23. virtual void SetExposureTrigger(int encoderValue) override;
  24. virtual void SetRotateTrigger(int encoderValue) override;
  25. virtual void ClearTrigger() override;
  26. private:
  27. ICommunicateEntity *m_communicate;
  28. int m_id_axis_a;
  29. int m_id_axis_b;
  30. int m_id_axis_z;
  31. };
  32. }