SensorEncoderCArmYiDongController.h 1.2 KB

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