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


#if !defined(_c_servo_service_server_h_)
#define _c_servo_service_server_h_

#include "servo_service_common.h"

#if defined(__cplusplus)
extern "C"
{
#endif

typedef void * erpc_service_t;

#if !defined(ERPC_FUNCTIONS_DEFINITIONS)
#define ERPC_FUNCTIONS_DEFINITIONS


/*! @brief servo_service identifiers */
enum _servo_service_ids
{
    kservo_service_service_id = 1,
    kservo_service_setConstraints_id = 1,
    kservo_service_setPositionGain_id = 2,
    kservo_service_setMode_id = 3,
    kservo_service_setUpdatePeriodMs_id = 4,
    kservo_service_move_id = 5,
    kservo_service_moveJ_id = 6,
};

//! @name servo_service
//@{
bool setConstraints(const char * id, float max_velocity_rad, float max_acceleration_rad, float max_jerk_rad);

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

bool setMode(RpcMotionMode mode);

bool setUpdatePeriodMs(uint32_t ms);

int32_t move(const list_ServoCmd_1_t * cmds);

int32_t moveJ(const list_float_1_t * angles_rad);
//@}


#endif // ERPC_FUNCTIONS_DEFINITIONS

/*! @brief Return servo_service_service service object. */
erpc_service_t create_servo_service_service(void);

/*! @brief Destroy servo_service_service service object. */
void destroy_servo_service_service(erpc_service_t service);


#if defined(__cplusplus)
}
#endif

#endif // _c_servo_service_server_h_
