# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT!
"""Client and server classes corresponding to protobuf-defined services."""
import grpc

from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2
from . import messages_pb2 as messages__pb2
from . import private_controller_pb2 as private__controller__pb2


class RobotPrivateControllerStub(object):
    """Missing associated documentation comment in .proto file."""

    def __init__(self, channel):
        """Constructor.

        Args:
            channel: A grpc.Channel.
        """
        self.Init = channel.unary_unary(
                '/robotc.RobotPrivateController/Init',
                request_serializer=private__controller__pb2.Configuration.SerializeToString,
                response_deserializer=messages__pb2.Response.FromString,
                )
        self.GetRobotInfo = channel.unary_unary(
                '/robotc.RobotPrivateController/GetRobotInfo',
                request_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
                response_deserializer=messages__pb2.RobotInfo.FromString,
                )
        self.SetInstallDirection = channel.unary_unary(
                '/robotc.RobotPrivateController/SetInstallDirection',
                request_serializer=private__controller__pb2.InstallDirection.SerializeToString,
                response_deserializer=messages__pb2.Response.FromString,
                )
        self.SetCollisionDetector = channel.unary_unary(
                '/robotc.RobotPrivateController/SetCollisionDetector',
                request_serializer=private__controller__pb2.CollisionDetector.SerializeToString,
                response_deserializer=messages__pb2.Response.FromString,
                )
        self.SetJointConfig = channel.unary_unary(
                '/robotc.RobotPrivateController/SetJointConfig',
                request_serializer=private__controller__pb2.JointConfigs.SerializeToString,
                response_deserializer=messages__pb2.Response.FromString,
                )
        self.SetCartesianConfig = channel.unary_unary(
                '/robotc.RobotPrivateController/SetCartesianConfig',
                request_serializer=private__controller__pb2.CartesianConfig.SerializeToString,
                response_deserializer=messages__pb2.Response.FromString,
                )
        self.EnableDDS = channel.unary_unary(
                '/robotc.RobotPrivateController/EnableDDS',
                request_serializer=private__controller__pb2.TrueOrFalse.SerializeToString,
                response_deserializer=messages__pb2.Response.FromString,
                )
        self.SetCollisionTorqueDiff = channel.unary_unary(
                '/robotc.RobotPrivateController/SetCollisionTorqueDiff',
                request_serializer=private__controller__pb2.CollisionTorqueDiff.SerializeToString,
                response_deserializer=messages__pb2.Response.FromString,
                )
        self.RegisterNotification = channel.unary_stream(
                '/robotc.RobotPrivateController/RegisterNotification',
                request_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
                response_deserializer=private__controller__pb2.Notification.FromString,
                )
        self.RobotDriverInfo = channel.unary_unary(
                '/robotc.RobotPrivateController/RobotDriverInfo',
                request_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
                response_deserializer=private__controller__pb2.DriverInfo.FromString,
                )
        self.RobotOTA = channel.unary_stream(
                '/robotc.RobotPrivateController/RobotOTA',
                request_serializer=private__controller__pb2.OTAData.SerializeToString,
                response_deserializer=private__controller__pb2.OTAResult.FromString,
                )
        self.SwitchOtaPartition = channel.unary_unary(
                '/robotc.RobotPrivateController/SwitchOtaPartition',
                request_serializer=private__controller__pb2.OTACmd.SerializeToString,
                response_deserializer=messages__pb2.Response.FromString,
                )
        self.RobotOTABatch = channel.unary_stream(
                '/robotc.RobotPrivateController/RobotOTABatch',
                request_serializer=private__controller__pb2.OTADatas.SerializeToString,
                response_deserializer=private__controller__pb2.OTAResults.FromString,
                )
        self.Reset = channel.unary_unary(
                '/robotc.RobotPrivateController/Reset',
                request_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
                response_deserializer=messages__pb2.Response.FromString,
                )
        self.InitZero = channel.unary_unary(
                '/robotc.RobotPrivateController/InitZero',
                request_serializer=private__controller__pb2.Zero.SerializeToString,
                response_deserializer=messages__pb2.Response.FromString,
                )
        self.SetZero = channel.unary_unary(
                '/robotc.RobotPrivateController/SetZero',
                request_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
                response_deserializer=messages__pb2.Response.FromString,
                )
        self.GetVoltage = channel.unary_unary(
                '/robotc.RobotPrivateController/GetVoltage',
                request_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
                response_deserializer=private__controller__pb2.CurrentVoltage.FromString,
                )
        self.SetServoParam = channel.unary_unary(
                '/robotc.RobotPrivateController/SetServoParam',
                request_serializer=private__controller__pb2.JointServoParam.SerializeToString,
                response_deserializer=private__controller__pb2.JointServoParams.FromString,
                )
        self.GetServoParams = channel.unary_unary(
                '/robotc.RobotPrivateController/GetServoParams',
                request_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
                response_deserializer=private__controller__pb2.JointServoParams.FromString,
                )
        self.SetDebugParams = channel.unary_unary(
                '/robotc.RobotPrivateController/SetDebugParams',
                request_serializer=private__controller__pb2.DebugParams.SerializeToString,
                response_deserializer=private__controller__pb2.DebugParams.FromString,
                )
        self.FixDHParams = channel.unary_unary(
                '/robotc.RobotPrivateController/FixDHParams',
                request_serializer=private__controller__pb2.FixDHRequest.SerializeToString,
                response_deserializer=private__controller__pb2.FixDHResult.FromString,
                )
        self.SetLEDStyle = channel.unary_unary(
                '/robotc.RobotPrivateController/SetLEDStyle',
                request_serializer=private__controller__pb2.LEDStyle.SerializeToString,
                response_deserializer=private__controller__pb2.LEDStyles.FromString,
                )
        self.GetLEDStyles = channel.unary_unary(
                '/robotc.RobotPrivateController/GetLEDStyles',
                request_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
                response_deserializer=private__controller__pb2.LEDStyles.FromString,
                )
        self.RegisterLuaEvent = channel.unary_stream(
                '/robotc.RobotPrivateController/RegisterLuaEvent',
                request_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
                response_deserializer=private__controller__pb2.LuaEvent.FromString,
                )
        self.ConfirmCallback = channel.unary_unary(
                '/robotc.RobotPrivateController/ConfirmCallback',
                request_serializer=private__controller__pb2.ConfirmInput.SerializeToString,
                response_deserializer=messages__pb2.Response.FromString,
                )
        self.GetLastPose = channel.unary_unary(
                '/robotc.RobotPrivateController/GetLastPose',
                request_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
                response_deserializer=private__controller__pb2.PoseRes.FromString,
                )
        self.SetModbusExternalIO = channel.unary_unary(
                '/robotc.RobotPrivateController/SetModbusExternalIO',
                request_serializer=private__controller__pb2.ModbusExternalIOs.SerializeToString,
                response_deserializer=messages__pb2.Response.FromString,
                )
        self.SetButtonConfig = channel.unary_unary(
                '/robotc.RobotPrivateController/SetButtonConfig',
                request_serializer=private__controller__pb2.ButtonConfig.SerializeToString,
                response_deserializer=messages__pb2.Response.FromString,
                )
        self.SetBreakACup = channel.unary_unary(
                '/robotc.RobotPrivateController/SetBreakACup',
                request_serializer=private__controller__pb2.TrueOrFalse.SerializeToString,
                response_deserializer=messages__pb2.Response.FromString,
                )
        self.RecordPVAT = channel.unary_stream(
                '/robotc.RobotPrivateController/RecordPVAT',
                request_serializer=private__controller__pb2.RecordPVATRequest.SerializeToString,
                response_deserializer=private__controller__pb2.RecordPVATResponse.FromString,
                )
        self.StopRecordPVAT = channel.unary_unary(
                '/robotc.RobotPrivateController/StopRecordPVAT',
                request_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
                response_deserializer=messages__pb2.Response.FromString,
                )
        self.UpgradeVoiceFile = channel.unary_stream(
                '/robotc.RobotPrivateController/UpgradeVoiceFile',
                request_serializer=private__controller__pb2.VoiceFile.SerializeToString,
                response_deserializer=private__controller__pb2.VoiceResult.FromString,
                )
        self.GetDHParams = channel.unary_unary(
                '/robotc.RobotPrivateController/GetDHParams',
                request_serializer=private__controller__pb2.DHRequest.SerializeToString,
                response_deserializer=private__controller__pb2.DHParams.FromString,
                )
        self.SetDHParams = channel.unary_unary(
                '/robotc.RobotPrivateController/SetDHParams',
                request_serializer=private__controller__pb2.DHParams.SerializeToString,
                response_deserializer=private__controller__pb2.DHParams.FromString,
                )
        self.WriteExtraServoParam = channel.unary_unary(
                '/robotc.RobotPrivateController/WriteExtraServoParam',
                request_serializer=private__controller__pb2.ExtraServoParam.SerializeToString,
                response_deserializer=private__controller__pb2.ExtraServoParam.FromString,
                )
        self.ReadExtraServoParam = channel.unary_unary(
                '/robotc.RobotPrivateController/ReadExtraServoParam',
                request_serializer=private__controller__pb2.ExtraServoParam.SerializeToString,
                response_deserializer=private__controller__pb2.ExtraServoParam.FromString,
                )
        self.WriteExtraServoParams = channel.unary_unary(
                '/robotc.RobotPrivateController/WriteExtraServoParams',
                request_serializer=private__controller__pb2.ExtraServoParam.SerializeToString,
                response_deserializer=private__controller__pb2.ExtraServoParams.FromString,
                )
        self.ReadExtraServoParams = channel.unary_unary(
                '/robotc.RobotPrivateController/ReadExtraServoParams',
                request_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
                response_deserializer=private__controller__pb2.ExtraServoParams.FromString,
                )
        self.ResetExtraServoParams = channel.unary_unary(
                '/robotc.RobotPrivateController/ResetExtraServoParams',
                request_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
                response_deserializer=private__controller__pb2.ExtraServoParams.FromString,
                )
        self.WriteJointBacklash = channel.unary_unary(
                '/robotc.RobotPrivateController/WriteJointBacklash',
                request_serializer=private__controller__pb2.JointBacklash.SerializeToString,
                response_deserializer=private__controller__pb2.JointBacklash.FromString,
                )
        self.ReadJointBacklash = channel.unary_unary(
                '/robotc.RobotPrivateController/ReadJointBacklash',
                request_serializer=private__controller__pb2.JointBacklash.SerializeToString,
                response_deserializer=private__controller__pb2.JointBacklash.FromString,
                )
        self.WriteJointBacklashes = channel.unary_unary(
                '/robotc.RobotPrivateController/WriteJointBacklashes',
                request_serializer=private__controller__pb2.JointBacklash.SerializeToString,
                response_deserializer=private__controller__pb2.JointBacklashes.FromString,
                )
        self.ReadJointBacklashes = channel.unary_unary(
                '/robotc.RobotPrivateController/ReadJointBacklashes',
                request_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
                response_deserializer=private__controller__pb2.JointBacklashes.FromString,
                )
        self.ResetJointBacklashes = channel.unary_unary(
                '/robotc.RobotPrivateController/ResetJointBacklashes',
                request_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
                response_deserializer=private__controller__pb2.JointBacklashes.FromString,
                )
        self.WriteEnableJointBacklashes = channel.unary_unary(
                '/robotc.RobotPrivateController/WriteEnableJointBacklashes',
                request_serializer=private__controller__pb2.EnableJointBacklash.SerializeToString,
                response_deserializer=private__controller__pb2.EnableJointBacklashes.FromString,
                )
        self.ReadEnableJointBacklashes = channel.unary_unary(
                '/robotc.RobotPrivateController/ReadEnableJointBacklashes',
                request_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
                response_deserializer=private__controller__pb2.EnableJointBacklashes.FromString,
                )
        self.ResetEnableJointBacklashes = channel.unary_unary(
                '/robotc.RobotPrivateController/ResetEnableJointBacklashes',
                request_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
                response_deserializer=private__controller__pb2.EnableJointBacklashes.FromString,
                )
        self.WriteJointBacklashParam = channel.unary_unary(
                '/robotc.RobotPrivateController/WriteJointBacklashParam',
                request_serializer=private__controller__pb2.JointBacklashParam.SerializeToString,
                response_deserializer=private__controller__pb2.JointBacklashParam.FromString,
                )
        self.ReadJointBacklashParam = channel.unary_unary(
                '/robotc.RobotPrivateController/ReadJointBacklashParam',
                request_serializer=private__controller__pb2.JointBacklashParam.SerializeToString,
                response_deserializer=private__controller__pb2.JointBacklashParam.FromString,
                )
        self.WriteJointBacklashParams = channel.unary_unary(
                '/robotc.RobotPrivateController/WriteJointBacklashParams',
                request_serializer=private__controller__pb2.JointBacklashParam.SerializeToString,
                response_deserializer=private__controller__pb2.JointBacklashParams.FromString,
                )
        self.ReadJointBacklashParams = channel.unary_unary(
                '/robotc.RobotPrivateController/ReadJointBacklashParams',
                request_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
                response_deserializer=private__controller__pb2.JointBacklashParams.FromString,
                )
        self.ResetJointBacklashParams = channel.unary_unary(
                '/robotc.RobotPrivateController/ResetJointBacklashParams',
                request_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
                response_deserializer=private__controller__pb2.JointBacklashParams.FromString,
                )
        self.EnableJointLimit = channel.unary_unary(
                '/robotc.RobotPrivateController/EnableJointLimit',
                request_serializer=private__controller__pb2.TrueOrFalse.SerializeToString,
                response_deserializer=messages__pb2.Response.FromString,
                )


class RobotPrivateControllerServicer(object):
    """Missing associated documentation comment in .proto file."""

    def Init(self, request, context):
        """初始化配置
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetRobotInfo(self, request, context):
        """获取机器人基础信息
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def SetInstallDirection(self, request, context):
        """设置机器人安装方向
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def SetCollisionDetector(self, request, context):
        """设置碰撞检测
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def SetJointConfig(self, request, context):
        """设置关节配置
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def SetCartesianConfig(self, request, context):
        """设置笛卡尔空间的配置
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def EnableDDS(self, request, context):
        """开启DDS
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def SetCollisionTorqueDiff(self, request, context):
        """设置碰撞检测力矩差阈值
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def RegisterNotification(self, request, context):
        """注册通知事件
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def RobotDriverInfo(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def RobotOTA(self, request, context):
        """机器人OTA单个设备更新接口
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def SwitchOtaPartition(self, request, context):
        """通知灯板、法兰、关节切换分区
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def RobotOTABatch(self, request, context):
        """机器人OTA批量更新接口
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def Reset(self, request, context):
        """重置
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def InitZero(self, request, context):
        """以给定角度置零
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def SetZero(self, request, context):
        """以零位置零
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetVoltage(self, request, context):
        """获取机器人电压V
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def SetServoParam(self, request, context):
        """设置单关节伺服参数
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetServoParams(self, request, context):
        """获取当前所有关节伺服参数
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def SetDebugParams(self, request, context):
        """调试设置
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def FixDHParams(self, request, context):
        """更改DH参数（三轴平行6参数）
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def SetLEDStyle(self, request, context):
        """设置LED样式
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetLEDStyles(self, request, context):
        """获取LED样式
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def RegisterLuaEvent(self, request, context):
        """注册命令状态事件
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def ConfirmCallback(self, request, context):
        """当推送 ALERT/CONFIRM/INPUT/SELECT，用户在前端确定后调用该接口
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetLastPose(self, request, context):
        """获取 Lua 上次执行到的机器人位置
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def SetModbusExternalIO(self, request, context):
        """配置Modbus外部IO设备
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def SetButtonConfig(self, request, context):
        """修改按钮配置
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def SetBreakACup(self, request, context):
        """设置绑定设备开关, true: 不限制设备绑定； false：限制设备绑定逻辑
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def RecordPVAT(self, request, context):
        """PVAT数据记录接口，用户记录pvat数据
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def StopRecordPVAT(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def UpgradeVoiceFile(self, request, context):
        """语音升级
        yvoice
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetDHParams(self, request, context):
        """获取当前 DH 参数
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def SetDHParams(self, request, context):
        """设置 DH 参数并返回设置后的结果
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def WriteExtraServoParam(self, request, context):
        """伺服控制参数
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def ReadExtraServoParam(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def WriteExtraServoParams(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def ReadExtraServoParams(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def ResetExtraServoParams(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def WriteJointBacklash(self, request, context):
        """“主动消回差”参数
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def ReadJointBacklash(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def WriteJointBacklashes(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def ReadJointBacklashes(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def ResetJointBacklashes(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def WriteEnableJointBacklashes(self, request, context):
        """启用主动消回差
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def ReadEnableJointBacklashes(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def ResetEnableJointBacklashes(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def WriteJointBacklashParam(self, request, context):
        """关节回差参数
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def ReadJointBacklashParam(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def WriteJointBacklashParams(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def ReadJointBacklashParams(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def ResetJointBacklashParams(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def EnableJointLimit(self, request, context):
        """关节限位检测
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')


def add_RobotPrivateControllerServicer_to_server(servicer, server):
    rpc_method_handlers = {
            'Init': grpc.unary_unary_rpc_method_handler(
                    servicer.Init,
                    request_deserializer=private__controller__pb2.Configuration.FromString,
                    response_serializer=messages__pb2.Response.SerializeToString,
            ),
            'GetRobotInfo': grpc.unary_unary_rpc_method_handler(
                    servicer.GetRobotInfo,
                    request_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
                    response_serializer=messages__pb2.RobotInfo.SerializeToString,
            ),
            'SetInstallDirection': grpc.unary_unary_rpc_method_handler(
                    servicer.SetInstallDirection,
                    request_deserializer=private__controller__pb2.InstallDirection.FromString,
                    response_serializer=messages__pb2.Response.SerializeToString,
            ),
            'SetCollisionDetector': grpc.unary_unary_rpc_method_handler(
                    servicer.SetCollisionDetector,
                    request_deserializer=private__controller__pb2.CollisionDetector.FromString,
                    response_serializer=messages__pb2.Response.SerializeToString,
            ),
            'SetJointConfig': grpc.unary_unary_rpc_method_handler(
                    servicer.SetJointConfig,
                    request_deserializer=private__controller__pb2.JointConfigs.FromString,
                    response_serializer=messages__pb2.Response.SerializeToString,
            ),
            'SetCartesianConfig': grpc.unary_unary_rpc_method_handler(
                    servicer.SetCartesianConfig,
                    request_deserializer=private__controller__pb2.CartesianConfig.FromString,
                    response_serializer=messages__pb2.Response.SerializeToString,
            ),
            'EnableDDS': grpc.unary_unary_rpc_method_handler(
                    servicer.EnableDDS,
                    request_deserializer=private__controller__pb2.TrueOrFalse.FromString,
                    response_serializer=messages__pb2.Response.SerializeToString,
            ),
            'SetCollisionTorqueDiff': grpc.unary_unary_rpc_method_handler(
                    servicer.SetCollisionTorqueDiff,
                    request_deserializer=private__controller__pb2.CollisionTorqueDiff.FromString,
                    response_serializer=messages__pb2.Response.SerializeToString,
            ),
            'RegisterNotification': grpc.unary_stream_rpc_method_handler(
                    servicer.RegisterNotification,
                    request_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
                    response_serializer=private__controller__pb2.Notification.SerializeToString,
            ),
            'RobotDriverInfo': grpc.unary_unary_rpc_method_handler(
                    servicer.RobotDriverInfo,
                    request_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
                    response_serializer=private__controller__pb2.DriverInfo.SerializeToString,
            ),
            'RobotOTA': grpc.unary_stream_rpc_method_handler(
                    servicer.RobotOTA,
                    request_deserializer=private__controller__pb2.OTAData.FromString,
                    response_serializer=private__controller__pb2.OTAResult.SerializeToString,
            ),
            'SwitchOtaPartition': grpc.unary_unary_rpc_method_handler(
                    servicer.SwitchOtaPartition,
                    request_deserializer=private__controller__pb2.OTACmd.FromString,
                    response_serializer=messages__pb2.Response.SerializeToString,
            ),
            'RobotOTABatch': grpc.unary_stream_rpc_method_handler(
                    servicer.RobotOTABatch,
                    request_deserializer=private__controller__pb2.OTADatas.FromString,
                    response_serializer=private__controller__pb2.OTAResults.SerializeToString,
            ),
            'Reset': grpc.unary_unary_rpc_method_handler(
                    servicer.Reset,
                    request_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
                    response_serializer=messages__pb2.Response.SerializeToString,
            ),
            'InitZero': grpc.unary_unary_rpc_method_handler(
                    servicer.InitZero,
                    request_deserializer=private__controller__pb2.Zero.FromString,
                    response_serializer=messages__pb2.Response.SerializeToString,
            ),
            'SetZero': grpc.unary_unary_rpc_method_handler(
                    servicer.SetZero,
                    request_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
                    response_serializer=messages__pb2.Response.SerializeToString,
            ),
            'GetVoltage': grpc.unary_unary_rpc_method_handler(
                    servicer.GetVoltage,
                    request_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
                    response_serializer=private__controller__pb2.CurrentVoltage.SerializeToString,
            ),
            'SetServoParam': grpc.unary_unary_rpc_method_handler(
                    servicer.SetServoParam,
                    request_deserializer=private__controller__pb2.JointServoParam.FromString,
                    response_serializer=private__controller__pb2.JointServoParams.SerializeToString,
            ),
            'GetServoParams': grpc.unary_unary_rpc_method_handler(
                    servicer.GetServoParams,
                    request_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
                    response_serializer=private__controller__pb2.JointServoParams.SerializeToString,
            ),
            'SetDebugParams': grpc.unary_unary_rpc_method_handler(
                    servicer.SetDebugParams,
                    request_deserializer=private__controller__pb2.DebugParams.FromString,
                    response_serializer=private__controller__pb2.DebugParams.SerializeToString,
            ),
            'FixDHParams': grpc.unary_unary_rpc_method_handler(
                    servicer.FixDHParams,
                    request_deserializer=private__controller__pb2.FixDHRequest.FromString,
                    response_serializer=private__controller__pb2.FixDHResult.SerializeToString,
            ),
            'SetLEDStyle': grpc.unary_unary_rpc_method_handler(
                    servicer.SetLEDStyle,
                    request_deserializer=private__controller__pb2.LEDStyle.FromString,
                    response_serializer=private__controller__pb2.LEDStyles.SerializeToString,
            ),
            'GetLEDStyles': grpc.unary_unary_rpc_method_handler(
                    servicer.GetLEDStyles,
                    request_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
                    response_serializer=private__controller__pb2.LEDStyles.SerializeToString,
            ),
            'RegisterLuaEvent': grpc.unary_stream_rpc_method_handler(
                    servicer.RegisterLuaEvent,
                    request_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
                    response_serializer=private__controller__pb2.LuaEvent.SerializeToString,
            ),
            'ConfirmCallback': grpc.unary_unary_rpc_method_handler(
                    servicer.ConfirmCallback,
                    request_deserializer=private__controller__pb2.ConfirmInput.FromString,
                    response_serializer=messages__pb2.Response.SerializeToString,
            ),
            'GetLastPose': grpc.unary_unary_rpc_method_handler(
                    servicer.GetLastPose,
                    request_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
                    response_serializer=private__controller__pb2.PoseRes.SerializeToString,
            ),
            'SetModbusExternalIO': grpc.unary_unary_rpc_method_handler(
                    servicer.SetModbusExternalIO,
                    request_deserializer=private__controller__pb2.ModbusExternalIOs.FromString,
                    response_serializer=messages__pb2.Response.SerializeToString,
            ),
            'SetButtonConfig': grpc.unary_unary_rpc_method_handler(
                    servicer.SetButtonConfig,
                    request_deserializer=private__controller__pb2.ButtonConfig.FromString,
                    response_serializer=messages__pb2.Response.SerializeToString,
            ),
            'SetBreakACup': grpc.unary_unary_rpc_method_handler(
                    servicer.SetBreakACup,
                    request_deserializer=private__controller__pb2.TrueOrFalse.FromString,
                    response_serializer=messages__pb2.Response.SerializeToString,
            ),
            'RecordPVAT': grpc.unary_stream_rpc_method_handler(
                    servicer.RecordPVAT,
                    request_deserializer=private__controller__pb2.RecordPVATRequest.FromString,
                    response_serializer=private__controller__pb2.RecordPVATResponse.SerializeToString,
            ),
            'StopRecordPVAT': grpc.unary_unary_rpc_method_handler(
                    servicer.StopRecordPVAT,
                    request_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
                    response_serializer=messages__pb2.Response.SerializeToString,
            ),
            'UpgradeVoiceFile': grpc.unary_stream_rpc_method_handler(
                    servicer.UpgradeVoiceFile,
                    request_deserializer=private__controller__pb2.VoiceFile.FromString,
                    response_serializer=private__controller__pb2.VoiceResult.SerializeToString,
            ),
            'GetDHParams': grpc.unary_unary_rpc_method_handler(
                    servicer.GetDHParams,
                    request_deserializer=private__controller__pb2.DHRequest.FromString,
                    response_serializer=private__controller__pb2.DHParams.SerializeToString,
            ),
            'SetDHParams': grpc.unary_unary_rpc_method_handler(
                    servicer.SetDHParams,
                    request_deserializer=private__controller__pb2.DHParams.FromString,
                    response_serializer=private__controller__pb2.DHParams.SerializeToString,
            ),
            'WriteExtraServoParam': grpc.unary_unary_rpc_method_handler(
                    servicer.WriteExtraServoParam,
                    request_deserializer=private__controller__pb2.ExtraServoParam.FromString,
                    response_serializer=private__controller__pb2.ExtraServoParam.SerializeToString,
            ),
            'ReadExtraServoParam': grpc.unary_unary_rpc_method_handler(
                    servicer.ReadExtraServoParam,
                    request_deserializer=private__controller__pb2.ExtraServoParam.FromString,
                    response_serializer=private__controller__pb2.ExtraServoParam.SerializeToString,
            ),
            'WriteExtraServoParams': grpc.unary_unary_rpc_method_handler(
                    servicer.WriteExtraServoParams,
                    request_deserializer=private__controller__pb2.ExtraServoParam.FromString,
                    response_serializer=private__controller__pb2.ExtraServoParams.SerializeToString,
            ),
            'ReadExtraServoParams': grpc.unary_unary_rpc_method_handler(
                    servicer.ReadExtraServoParams,
                    request_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
                    response_serializer=private__controller__pb2.ExtraServoParams.SerializeToString,
            ),
            'ResetExtraServoParams': grpc.unary_unary_rpc_method_handler(
                    servicer.ResetExtraServoParams,
                    request_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
                    response_serializer=private__controller__pb2.ExtraServoParams.SerializeToString,
            ),
            'WriteJointBacklash': grpc.unary_unary_rpc_method_handler(
                    servicer.WriteJointBacklash,
                    request_deserializer=private__controller__pb2.JointBacklash.FromString,
                    response_serializer=private__controller__pb2.JointBacklash.SerializeToString,
            ),
            'ReadJointBacklash': grpc.unary_unary_rpc_method_handler(
                    servicer.ReadJointBacklash,
                    request_deserializer=private__controller__pb2.JointBacklash.FromString,
                    response_serializer=private__controller__pb2.JointBacklash.SerializeToString,
            ),
            'WriteJointBacklashes': grpc.unary_unary_rpc_method_handler(
                    servicer.WriteJointBacklashes,
                    request_deserializer=private__controller__pb2.JointBacklash.FromString,
                    response_serializer=private__controller__pb2.JointBacklashes.SerializeToString,
            ),
            'ReadJointBacklashes': grpc.unary_unary_rpc_method_handler(
                    servicer.ReadJointBacklashes,
                    request_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
                    response_serializer=private__controller__pb2.JointBacklashes.SerializeToString,
            ),
            'ResetJointBacklashes': grpc.unary_unary_rpc_method_handler(
                    servicer.ResetJointBacklashes,
                    request_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
                    response_serializer=private__controller__pb2.JointBacklashes.SerializeToString,
            ),
            'WriteEnableJointBacklashes': grpc.unary_unary_rpc_method_handler(
                    servicer.WriteEnableJointBacklashes,
                    request_deserializer=private__controller__pb2.EnableJointBacklash.FromString,
                    response_serializer=private__controller__pb2.EnableJointBacklashes.SerializeToString,
            ),
            'ReadEnableJointBacklashes': grpc.unary_unary_rpc_method_handler(
                    servicer.ReadEnableJointBacklashes,
                    request_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
                    response_serializer=private__controller__pb2.EnableJointBacklashes.SerializeToString,
            ),
            'ResetEnableJointBacklashes': grpc.unary_unary_rpc_method_handler(
                    servicer.ResetEnableJointBacklashes,
                    request_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
                    response_serializer=private__controller__pb2.EnableJointBacklashes.SerializeToString,
            ),
            'WriteJointBacklashParam': grpc.unary_unary_rpc_method_handler(
                    servicer.WriteJointBacklashParam,
                    request_deserializer=private__controller__pb2.JointBacklashParam.FromString,
                    response_serializer=private__controller__pb2.JointBacklashParam.SerializeToString,
            ),
            'ReadJointBacklashParam': grpc.unary_unary_rpc_method_handler(
                    servicer.ReadJointBacklashParam,
                    request_deserializer=private__controller__pb2.JointBacklashParam.FromString,
                    response_serializer=private__controller__pb2.JointBacklashParam.SerializeToString,
            ),
            'WriteJointBacklashParams': grpc.unary_unary_rpc_method_handler(
                    servicer.WriteJointBacklashParams,
                    request_deserializer=private__controller__pb2.JointBacklashParam.FromString,
                    response_serializer=private__controller__pb2.JointBacklashParams.SerializeToString,
            ),
            'ReadJointBacklashParams': grpc.unary_unary_rpc_method_handler(
                    servicer.ReadJointBacklashParams,
                    request_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
                    response_serializer=private__controller__pb2.JointBacklashParams.SerializeToString,
            ),
            'ResetJointBacklashParams': grpc.unary_unary_rpc_method_handler(
                    servicer.ResetJointBacklashParams,
                    request_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
                    response_serializer=private__controller__pb2.JointBacklashParams.SerializeToString,
            ),
            'EnableJointLimit': grpc.unary_unary_rpc_method_handler(
                    servicer.EnableJointLimit,
                    request_deserializer=private__controller__pb2.TrueOrFalse.FromString,
                    response_serializer=messages__pb2.Response.SerializeToString,
            ),
    }
    generic_handler = grpc.method_handlers_generic_handler(
            'robotc.RobotPrivateController', rpc_method_handlers)
    server.add_generic_rpc_handlers((generic_handler,))


 # This class is part of an EXPERIMENTAL API.
class RobotPrivateController(object):
    """Missing associated documentation comment in .proto file."""

    @staticmethod
    def Init(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/robotc.RobotPrivateController/Init',
            private__controller__pb2.Configuration.SerializeToString,
            messages__pb2.Response.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetRobotInfo(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/robotc.RobotPrivateController/GetRobotInfo',
            google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
            messages__pb2.RobotInfo.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def SetInstallDirection(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/robotc.RobotPrivateController/SetInstallDirection',
            private__controller__pb2.InstallDirection.SerializeToString,
            messages__pb2.Response.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def SetCollisionDetector(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/robotc.RobotPrivateController/SetCollisionDetector',
            private__controller__pb2.CollisionDetector.SerializeToString,
            messages__pb2.Response.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def SetJointConfig(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/robotc.RobotPrivateController/SetJointConfig',
            private__controller__pb2.JointConfigs.SerializeToString,
            messages__pb2.Response.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def SetCartesianConfig(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/robotc.RobotPrivateController/SetCartesianConfig',
            private__controller__pb2.CartesianConfig.SerializeToString,
            messages__pb2.Response.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def EnableDDS(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/robotc.RobotPrivateController/EnableDDS',
            private__controller__pb2.TrueOrFalse.SerializeToString,
            messages__pb2.Response.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def SetCollisionTorqueDiff(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/robotc.RobotPrivateController/SetCollisionTorqueDiff',
            private__controller__pb2.CollisionTorqueDiff.SerializeToString,
            messages__pb2.Response.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def RegisterNotification(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_stream(request, target, '/robotc.RobotPrivateController/RegisterNotification',
            google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
            private__controller__pb2.Notification.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def RobotDriverInfo(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/robotc.RobotPrivateController/RobotDriverInfo',
            google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
            private__controller__pb2.DriverInfo.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def RobotOTA(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_stream(request, target, '/robotc.RobotPrivateController/RobotOTA',
            private__controller__pb2.OTAData.SerializeToString,
            private__controller__pb2.OTAResult.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def SwitchOtaPartition(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/robotc.RobotPrivateController/SwitchOtaPartition',
            private__controller__pb2.OTACmd.SerializeToString,
            messages__pb2.Response.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def RobotOTABatch(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_stream(request, target, '/robotc.RobotPrivateController/RobotOTABatch',
            private__controller__pb2.OTADatas.SerializeToString,
            private__controller__pb2.OTAResults.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def Reset(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/robotc.RobotPrivateController/Reset',
            google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
            messages__pb2.Response.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def InitZero(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/robotc.RobotPrivateController/InitZero',
            private__controller__pb2.Zero.SerializeToString,
            messages__pb2.Response.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def SetZero(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/robotc.RobotPrivateController/SetZero',
            google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
            messages__pb2.Response.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetVoltage(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/robotc.RobotPrivateController/GetVoltage',
            google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
            private__controller__pb2.CurrentVoltage.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def SetServoParam(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/robotc.RobotPrivateController/SetServoParam',
            private__controller__pb2.JointServoParam.SerializeToString,
            private__controller__pb2.JointServoParams.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetServoParams(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/robotc.RobotPrivateController/GetServoParams',
            google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
            private__controller__pb2.JointServoParams.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def SetDebugParams(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/robotc.RobotPrivateController/SetDebugParams',
            private__controller__pb2.DebugParams.SerializeToString,
            private__controller__pb2.DebugParams.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def FixDHParams(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/robotc.RobotPrivateController/FixDHParams',
            private__controller__pb2.FixDHRequest.SerializeToString,
            private__controller__pb2.FixDHResult.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def SetLEDStyle(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/robotc.RobotPrivateController/SetLEDStyle',
            private__controller__pb2.LEDStyle.SerializeToString,
            private__controller__pb2.LEDStyles.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetLEDStyles(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/robotc.RobotPrivateController/GetLEDStyles',
            google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
            private__controller__pb2.LEDStyles.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def RegisterLuaEvent(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_stream(request, target, '/robotc.RobotPrivateController/RegisterLuaEvent',
            google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
            private__controller__pb2.LuaEvent.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def ConfirmCallback(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/robotc.RobotPrivateController/ConfirmCallback',
            private__controller__pb2.ConfirmInput.SerializeToString,
            messages__pb2.Response.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetLastPose(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/robotc.RobotPrivateController/GetLastPose',
            google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
            private__controller__pb2.PoseRes.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def SetModbusExternalIO(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/robotc.RobotPrivateController/SetModbusExternalIO',
            private__controller__pb2.ModbusExternalIOs.SerializeToString,
            messages__pb2.Response.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def SetButtonConfig(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/robotc.RobotPrivateController/SetButtonConfig',
            private__controller__pb2.ButtonConfig.SerializeToString,
            messages__pb2.Response.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def SetBreakACup(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/robotc.RobotPrivateController/SetBreakACup',
            private__controller__pb2.TrueOrFalse.SerializeToString,
            messages__pb2.Response.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def RecordPVAT(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_stream(request, target, '/robotc.RobotPrivateController/RecordPVAT',
            private__controller__pb2.RecordPVATRequest.SerializeToString,
            private__controller__pb2.RecordPVATResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def StopRecordPVAT(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/robotc.RobotPrivateController/StopRecordPVAT',
            google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
            messages__pb2.Response.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def UpgradeVoiceFile(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_stream(request, target, '/robotc.RobotPrivateController/UpgradeVoiceFile',
            private__controller__pb2.VoiceFile.SerializeToString,
            private__controller__pb2.VoiceResult.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetDHParams(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/robotc.RobotPrivateController/GetDHParams',
            private__controller__pb2.DHRequest.SerializeToString,
            private__controller__pb2.DHParams.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def SetDHParams(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/robotc.RobotPrivateController/SetDHParams',
            private__controller__pb2.DHParams.SerializeToString,
            private__controller__pb2.DHParams.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def WriteExtraServoParam(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/robotc.RobotPrivateController/WriteExtraServoParam',
            private__controller__pb2.ExtraServoParam.SerializeToString,
            private__controller__pb2.ExtraServoParam.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def ReadExtraServoParam(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/robotc.RobotPrivateController/ReadExtraServoParam',
            private__controller__pb2.ExtraServoParam.SerializeToString,
            private__controller__pb2.ExtraServoParam.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def WriteExtraServoParams(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/robotc.RobotPrivateController/WriteExtraServoParams',
            private__controller__pb2.ExtraServoParam.SerializeToString,
            private__controller__pb2.ExtraServoParams.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def ReadExtraServoParams(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/robotc.RobotPrivateController/ReadExtraServoParams',
            google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
            private__controller__pb2.ExtraServoParams.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def ResetExtraServoParams(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/robotc.RobotPrivateController/ResetExtraServoParams',
            google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
            private__controller__pb2.ExtraServoParams.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def WriteJointBacklash(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/robotc.RobotPrivateController/WriteJointBacklash',
            private__controller__pb2.JointBacklash.SerializeToString,
            private__controller__pb2.JointBacklash.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def ReadJointBacklash(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/robotc.RobotPrivateController/ReadJointBacklash',
            private__controller__pb2.JointBacklash.SerializeToString,
            private__controller__pb2.JointBacklash.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def WriteJointBacklashes(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/robotc.RobotPrivateController/WriteJointBacklashes',
            private__controller__pb2.JointBacklash.SerializeToString,
            private__controller__pb2.JointBacklashes.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def ReadJointBacklashes(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/robotc.RobotPrivateController/ReadJointBacklashes',
            google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
            private__controller__pb2.JointBacklashes.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def ResetJointBacklashes(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/robotc.RobotPrivateController/ResetJointBacklashes',
            google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
            private__controller__pb2.JointBacklashes.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def WriteEnableJointBacklashes(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/robotc.RobotPrivateController/WriteEnableJointBacklashes',
            private__controller__pb2.EnableJointBacklash.SerializeToString,
            private__controller__pb2.EnableJointBacklashes.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def ReadEnableJointBacklashes(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/robotc.RobotPrivateController/ReadEnableJointBacklashes',
            google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
            private__controller__pb2.EnableJointBacklashes.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def ResetEnableJointBacklashes(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/robotc.RobotPrivateController/ResetEnableJointBacklashes',
            google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
            private__controller__pb2.EnableJointBacklashes.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def WriteJointBacklashParam(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/robotc.RobotPrivateController/WriteJointBacklashParam',
            private__controller__pb2.JointBacklashParam.SerializeToString,
            private__controller__pb2.JointBacklashParam.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def ReadJointBacklashParam(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/robotc.RobotPrivateController/ReadJointBacklashParam',
            private__controller__pb2.JointBacklashParam.SerializeToString,
            private__controller__pb2.JointBacklashParam.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def WriteJointBacklashParams(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/robotc.RobotPrivateController/WriteJointBacklashParams',
            private__controller__pb2.JointBacklashParam.SerializeToString,
            private__controller__pb2.JointBacklashParams.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def ReadJointBacklashParams(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/robotc.RobotPrivateController/ReadJointBacklashParams',
            google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
            private__controller__pb2.JointBacklashParams.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def ResetJointBacklashParams(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/robotc.RobotPrivateController/ResetJointBacklashParams',
            google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
            private__controller__pb2.JointBacklashParams.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def EnableJointLimit(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/robotc.RobotPrivateController/EnableJointLimit',
            private__controller__pb2.TrueOrFalse.SerializeToString,
            messages__pb2.Response.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
