1234567891011121314151617181920212223242526272829303132333435363738 |
- #pragma once
- #include "ISensorEncoderController.h"
- namespace DIOS::Dev::Detail::MachineryECOM
- {
- struct CAN_PARAM;
- class SensorEncoderCArmYiDongController : public ISensorEncoderController
- {
- public:
- SensorEncoderCArmYiDongController();
- ~SensorEncoderCArmYiDongController();
- public:
- static std::string CLASSID();
- public:
- virtual void Initialize(const std::string &name) override;
- virtual void OnCommunicationEstablished(ICommunicateEntity *communicate) override;
- virtual int GetCurrentEncoderValue() override;
- virtual void LoadAxisInterfaceID(int id_axis_a, int id_axis_b, int id_axis_z) override;
- virtual void BindABAxis() override;
- virtual void BindZAxis() override;
- virtual void UnBindZAxis() override;
- virtual void ActiveAutoNotifyWhenZClear(bool active) override;
- virtual void ActiveExposureTrigger(int triggerID) override;
- virtual void ActiveRotateTrigger(int triggerID) override;
- virtual void SetExposureTrigger(int encoderValue) override;
- virtual void SetRotateTrigger(int encoderValue) override;
- virtual void ClearTrigger() override;
- private:
- bool MakeSensorValueReadCanPacket(CAN_PARAM *canParm);
- int ParseSensorValueFromCanPacket(CAN_PARAM *canParm);
- private:
- ICommunicateEntity *m_communicate;
- };
- }
|