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


#if !defined(_c_servo_service_client_h_)
#define _c_servo_service_client_h_

#include "servo_service_common.h"
#include "erpc_client_manager.h"

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

#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

void initservo_service_client(erpc_client_t client);

void deinitservo_service_client(void);

#if defined(__cplusplus)
}
#endif

#endif // _c_servo_service_client_h_
