#pragma once namespace DIOS::Dev::Detail::MachineryECOM { struct SevoDriveCommand { BOOL IsValidate; unsigned short Address; unsigned short Context; }; class IServoDrive { public: IServoDrive(){} virtual ~IServoDrive(){} public: virtual void Initialize(int driveNumber) = 0; virtual bool MakeServoOnEnablePacket(std::basic_string &outbuffer) = 0; virtual bool MakeServoOnPacket(BOOL servoon, std::basic_string &outbuffer) = 0; virtual bool MakePulseOnCirclePacket(unsigned short pulsenumber, std::basic_string &outbuffer) = 0; virtual bool MakeClearWarningPacket(std::basic_string &outbuffer) = 0; }; }