147 lines
5.1 KiB
Python
147 lines
5.1 KiB
Python
#
|
|
# Generated by erpcgen 1.14.0 on Tue Apr 28 12:25:26 2026.
|
|
#
|
|
# AUTOGENERATED - DO NOT EDIT
|
|
#
|
|
|
|
import erpc
|
|
from . import common, interface
|
|
|
|
# Client for servo_service
|
|
class servo_serviceService(erpc.server.Service):
|
|
def __init__(self, handler):
|
|
super(servo_serviceService, self).__init__(interface.Iservo_service.SERVICE_ID)
|
|
self._handler = handler
|
|
self._methods = {
|
|
interface.Iservo_service.SETCONSTRAINTS_ID: self._handle_setConstraints,
|
|
interface.Iservo_service.SETPOSITIONGAIN_ID: self._handle_setPositionGain,
|
|
interface.Iservo_service.SETMODE_ID: self._handle_setMode,
|
|
interface.Iservo_service.SETUPDATEPERIODMS_ID: self._handle_setUpdatePeriodMs,
|
|
interface.Iservo_service.MOVE_ID: self._handle_move,
|
|
interface.Iservo_service.MOVEJ_ID: self._handle_moveJ,
|
|
}
|
|
|
|
def _handle_setConstraints(self, sequence, codec):
|
|
# Read incoming parameters.
|
|
id = codec.read_string()
|
|
max_velocity_rad = codec.read_float()
|
|
max_acceleration_rad = codec.read_float()
|
|
max_jerk_rad = codec.read_float()
|
|
|
|
# Invoke user implementation of remote function.
|
|
_result = self._handler.setConstraints(id, max_velocity_rad, max_acceleration_rad, max_jerk_rad)
|
|
|
|
# Prepare codec for reply message.
|
|
codec.reset()
|
|
|
|
# Construct reply message.
|
|
codec.start_write_message(erpc.codec.MessageInfo(
|
|
type=erpc.codec.MessageType.kReplyMessage,
|
|
service=interface.Iservo_service.SERVICE_ID,
|
|
request=interface.Iservo_service.SETCONSTRAINTS_ID,
|
|
sequence=sequence))
|
|
codec.write_bool(_result)
|
|
|
|
def _handle_setPositionGain(self, sequence, codec):
|
|
# Read incoming parameters.
|
|
id = codec.read_string()
|
|
position_gain = codec.read_float()
|
|
|
|
# Invoke user implementation of remote function.
|
|
_result = self._handler.setPositionGain(id, position_gain)
|
|
|
|
# Prepare codec for reply message.
|
|
codec.reset()
|
|
|
|
# Construct reply message.
|
|
codec.start_write_message(erpc.codec.MessageInfo(
|
|
type=erpc.codec.MessageType.kReplyMessage,
|
|
service=interface.Iservo_service.SERVICE_ID,
|
|
request=interface.Iservo_service.SETPOSITIONGAIN_ID,
|
|
sequence=sequence))
|
|
codec.write_bool(_result)
|
|
|
|
def _handle_setMode(self, sequence, codec):
|
|
# Read incoming parameters.
|
|
mode = codec.read_int32()
|
|
|
|
# Invoke user implementation of remote function.
|
|
_result = self._handler.setMode(mode)
|
|
|
|
# Prepare codec for reply message.
|
|
codec.reset()
|
|
|
|
# Construct reply message.
|
|
codec.start_write_message(erpc.codec.MessageInfo(
|
|
type=erpc.codec.MessageType.kReplyMessage,
|
|
service=interface.Iservo_service.SERVICE_ID,
|
|
request=interface.Iservo_service.SETMODE_ID,
|
|
sequence=sequence))
|
|
codec.write_bool(_result)
|
|
|
|
def _handle_setUpdatePeriodMs(self, sequence, codec):
|
|
# Read incoming parameters.
|
|
ms = codec.read_uint32()
|
|
|
|
# Invoke user implementation of remote function.
|
|
_result = self._handler.setUpdatePeriodMs(ms)
|
|
|
|
# Prepare codec for reply message.
|
|
codec.reset()
|
|
|
|
# Construct reply message.
|
|
codec.start_write_message(erpc.codec.MessageInfo(
|
|
type=erpc.codec.MessageType.kReplyMessage,
|
|
service=interface.Iservo_service.SERVICE_ID,
|
|
request=interface.Iservo_service.SETUPDATEPERIODMS_ID,
|
|
sequence=sequence))
|
|
codec.write_bool(_result)
|
|
|
|
def _handle_move(self, sequence, codec):
|
|
# Read incoming parameters.
|
|
_n0 = codec.start_read_list()
|
|
cmds = []
|
|
for _i0 in range(_n0):
|
|
_v0 = common.ServoCmd()._read(codec)
|
|
cmds.append(_v0)
|
|
|
|
|
|
# Invoke user implementation of remote function.
|
|
_result = self._handler.move(cmds)
|
|
|
|
# Prepare codec for reply message.
|
|
codec.reset()
|
|
|
|
# Construct reply message.
|
|
codec.start_write_message(erpc.codec.MessageInfo(
|
|
type=erpc.codec.MessageType.kReplyMessage,
|
|
service=interface.Iservo_service.SERVICE_ID,
|
|
request=interface.Iservo_service.MOVE_ID,
|
|
sequence=sequence))
|
|
codec.write_int32(_result)
|
|
|
|
def _handle_moveJ(self, sequence, codec):
|
|
# Read incoming parameters.
|
|
_n0 = codec.start_read_list()
|
|
angles_rad = []
|
|
for _i0 in range(_n0):
|
|
_v0 = codec.read_float()
|
|
angles_rad.append(_v0)
|
|
|
|
|
|
# Invoke user implementation of remote function.
|
|
_result = self._handler.moveJ(angles_rad)
|
|
|
|
# Prepare codec for reply message.
|
|
codec.reset()
|
|
|
|
# Construct reply message.
|
|
codec.start_write_message(erpc.codec.MessageInfo(
|
|
type=erpc.codec.MessageType.kReplyMessage,
|
|
service=interface.Iservo_service.SERVICE_ID,
|
|
request=interface.Iservo_service.MOVEJ_ID,
|
|
sequence=sequence))
|
|
codec.write_int32(_result)
|
|
|
|
|