/*
 * Generated by erpcgen 1.14.0 on Tue Apr 28 12:16:31 2026.
 *
 * AUTOGENERATED - DO NOT EDIT
 */


#if !defined(_servo_service_interface_hpp_)
#define _servo_service_interface_hpp_

#include "servo_service_common.hpp"

namespace erpcShim
{


// Abstract base class for servo_service
class servo_service_interface
{
    public:
        static const uint8_t m_serviceId = 1;
        static const uint8_t m_setConstraintsId = 1;
        static const uint8_t m_setPositionGainId = 2;
        static const uint8_t m_setModeId = 3;
        static const uint8_t m_setUpdatePeriodMsId = 4;
        static const uint8_t m_moveId = 5;
        static const uint8_t m_moveJId = 6;

        virtual ~servo_service_interface(void);

        virtual bool setConstraints(const char * id, float max_velocity_rad, float max_acceleration_rad, float max_jerk_rad) = 0;

        virtual bool setPositionGain(const char * id, float position_gain) = 0;

        virtual bool setMode(RpcMotionMode mode) = 0;

        virtual bool setUpdatePeriodMs(uint32_t ms) = 0;

        virtual int32_t move(const list_ServoCmd_1_t * cmds) = 0;

        virtual int32_t moveJ(const list_float_1_t * angles_rad) = 0;
private:
};
} // erpcShim


#endif // _servo_service_interface_hpp_
