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

import common_msgs_pb2 as common__msgs__pb2
import ethercat_msgs_pb2 as ethercat__msgs__pb2


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

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

        Args:
            channel: A grpc.Channel.
        """
        self.GetMasterStatus = channel.unary_unary(
                '/Nrmk.IndyFramework.EtherCAT/GetMasterStatus',
                request_serializer=common__msgs__pb2.Empty.SerializeToString,
                response_deserializer=ethercat__msgs__pb2.MasterStatus.FromString,
                )
        self.GetSlaveStatus = channel.unary_unary(
                '/Nrmk.IndyFramework.EtherCAT/GetSlaveStatus',
                request_serializer=common__msgs__pb2.Empty.SerializeToString,
                response_deserializer=ethercat__msgs__pb2.SlaveStatus.FromString,
                )
        self.GetRxDomainStatus = channel.unary_unary(
                '/Nrmk.IndyFramework.EtherCAT/GetRxDomainStatus',
                request_serializer=common__msgs__pb2.Empty.SerializeToString,
                response_deserializer=ethercat__msgs__pb2.EcatDomainStatus.FromString,
                )
        self.GetTxDomainStatus = channel.unary_unary(
                '/Nrmk.IndyFramework.EtherCAT/GetTxDomainStatus',
                request_serializer=common__msgs__pb2.Empty.SerializeToString,
                response_deserializer=ethercat__msgs__pb2.EcatDomainStatus.FromString,
                )
        self.IsSystemReady = channel.unary_unary(
                '/Nrmk.IndyFramework.EtherCAT/IsSystemReady',
                request_serializer=common__msgs__pb2.Empty.SerializeToString,
                response_deserializer=ethercat__msgs__pb2.EcatSystemReady.FromString,
                )
        self.IsServoOn = channel.unary_unary(
                '/Nrmk.IndyFramework.EtherCAT/IsServoOn',
                request_serializer=common__msgs__pb2.Empty.SerializeToString,
                response_deserializer=ethercat__msgs__pb2.EcatServoOn.FromString,
                )
        self.GetSlaveTypeNum = channel.unary_unary(
                '/Nrmk.IndyFramework.EtherCAT/GetSlaveTypeNum',
                request_serializer=common__msgs__pb2.Empty.SerializeToString,
                response_deserializer=ethercat__msgs__pb2.SlaveTypeNum.FromString,
                )
        self.ResetOverflowCount = channel.unary_unary(
                '/Nrmk.IndyFramework.EtherCAT/ResetOverflowCount',
                request_serializer=common__msgs__pb2.Empty.SerializeToString,
                response_deserializer=common__msgs__pb2.Empty.FromString,
                )
        self.SetServoRx = channel.unary_unary(
                '/Nrmk.IndyFramework.EtherCAT/SetServoRx',
                request_serializer=ethercat__msgs__pb2.ServoRxIndex.SerializeToString,
                response_deserializer=common__msgs__pb2.Empty.FromString,
                )
        self.GetServoRx = channel.unary_unary(
                '/Nrmk.IndyFramework.EtherCAT/GetServoRx',
                request_serializer=ethercat__msgs__pb2.ServoIndex.SerializeToString,
                response_deserializer=ethercat__msgs__pb2.ServoRx.FromString,
                )
        self.GetServoTx = channel.unary_unary(
                '/Nrmk.IndyFramework.EtherCAT/GetServoTx',
                request_serializer=ethercat__msgs__pb2.ServoIndex.SerializeToString,
                response_deserializer=ethercat__msgs__pb2.ServoTx.FromString,
                )
        self.SetServoRxKeba = channel.unary_unary(
                '/Nrmk.IndyFramework.EtherCAT/SetServoRxKeba',
                request_serializer=ethercat__msgs__pb2.ServoRxIndexKeba.SerializeToString,
                response_deserializer=common__msgs__pb2.Empty.FromString,
                )
        self.GetServoRxKeba = channel.unary_unary(
                '/Nrmk.IndyFramework.EtherCAT/GetServoRxKeba',
                request_serializer=ethercat__msgs__pb2.ServoIndex.SerializeToString,
                response_deserializer=ethercat__msgs__pb2.ServoRxKeba.FromString,
                )
        self.GetServoTxKeba = channel.unary_unary(
                '/Nrmk.IndyFramework.EtherCAT/GetServoTxKeba',
                request_serializer=ethercat__msgs__pb2.ServoIndex.SerializeToString,
                response_deserializer=ethercat__msgs__pb2.ServoTxKeba.FromString,
                )
        self.SetServoOn = channel.unary_unary(
                '/Nrmk.IndyFramework.EtherCAT/SetServoOn',
                request_serializer=ethercat__msgs__pb2.ServoIndex.SerializeToString,
                response_deserializer=common__msgs__pb2.Empty.FromString,
                )
        self.SetServoOff = channel.unary_unary(
                '/Nrmk.IndyFramework.EtherCAT/SetServoOff',
                request_serializer=ethercat__msgs__pb2.ServoIndex.SerializeToString,
                response_deserializer=common__msgs__pb2.Empty.FromString,
                )
        self.GetServoTemperature = channel.unary_unary(
                '/Nrmk.IndyFramework.EtherCAT/GetServoTemperature',
                request_serializer=ethercat__msgs__pb2.ServoIndex.SerializeToString,
                response_deserializer=ethercat__msgs__pb2.ServoTemp.FromString,
                )
        self.GetServoErrorCode = channel.unary_unary(
                '/Nrmk.IndyFramework.EtherCAT/GetServoErrorCode',
                request_serializer=ethercat__msgs__pb2.ServoIndex.SerializeToString,
                response_deserializer=ethercat__msgs__pb2.ServoError.FromString,
                )
        self.ResetServo = channel.unary_unary(
                '/Nrmk.IndyFramework.EtherCAT/ResetServo',
                request_serializer=ethercat__msgs__pb2.ServoIndex.SerializeToString,
                response_deserializer=common__msgs__pb2.Empty.FromString,
                )
        self.SetCOREManualBrake = channel.unary_unary(
                '/Nrmk.IndyFramework.EtherCAT/SetCOREManualBrake',
                request_serializer=ethercat__msgs__pb2.ServoBrake.SerializeToString,
                response_deserializer=common__msgs__pb2.Empty.FromString,
                )
        self.SetEndtoolRx = channel.unary_unary(
                '/Nrmk.IndyFramework.EtherCAT/SetEndtoolRx',
                request_serializer=ethercat__msgs__pb2.EndtoolRx.SerializeToString,
                response_deserializer=common__msgs__pb2.Empty.FromString,
                )
        self.GetEndtoolRx = channel.unary_unary(
                '/Nrmk.IndyFramework.EtherCAT/GetEndtoolRx',
                request_serializer=common__msgs__pb2.Empty.SerializeToString,
                response_deserializer=ethercat__msgs__pb2.EndtoolRx.FromString,
                )
        self.GetEndtoolTx = channel.unary_unary(
                '/Nrmk.IndyFramework.EtherCAT/GetEndtoolTx',
                request_serializer=common__msgs__pb2.Empty.SerializeToString,
                response_deserializer=ethercat__msgs__pb2.EndtoolTx.FromString,
                )
        self.GetEndtoolDockingTx = channel.unary_unary(
                '/Nrmk.IndyFramework.EtherCAT/GetEndtoolDockingTx',
                request_serializer=common__msgs__pb2.Empty.SerializeToString,
                response_deserializer=ethercat__msgs__pb2.EndtoolDockingTx.FromString,
                )
        self.SetIOBoardRx = channel.unary_unary(
                '/Nrmk.IndyFramework.EtherCAT/SetIOBoardRx',
                request_serializer=ethercat__msgs__pb2.IOBoardRx.SerializeToString,
                response_deserializer=common__msgs__pb2.Empty.FromString,
                )
        self.GetIOBoardTx = channel.unary_unary(
                '/Nrmk.IndyFramework.EtherCAT/GetIOBoardTx',
                request_serializer=common__msgs__pb2.Empty.SerializeToString,
                response_deserializer=ethercat__msgs__pb2.IOBoardTx.FromString,
                )
        self.GetIOBoardRx = channel.unary_unary(
                '/Nrmk.IndyFramework.EtherCAT/GetIOBoardRx',
                request_serializer=common__msgs__pb2.Empty.SerializeToString,
                response_deserializer=ethercat__msgs__pb2.IOBoardRx.FromString,
                )
        self.GetDI = channel.unary_unary(
                '/Nrmk.IndyFramework.EtherCAT/GetDI',
                request_serializer=ethercat__msgs__pb2.DIOIndex.SerializeToString,
                response_deserializer=ethercat__msgs__pb2.DIODigitalInput.FromString,
                )
        self.GetDO = channel.unary_unary(
                '/Nrmk.IndyFramework.EtherCAT/GetDO',
                request_serializer=ethercat__msgs__pb2.DIOIndex.SerializeToString,
                response_deserializer=ethercat__msgs__pb2.DIODigitalOutput.FromString,
                )
        self.SetDO = channel.unary_unary(
                '/Nrmk.IndyFramework.EtherCAT/SetDO',
                request_serializer=ethercat__msgs__pb2.DIODigitalOutput.SerializeToString,
                response_deserializer=common__msgs__pb2.Empty.FromString,
                )
        self.GetMaxTorqueSDO = channel.unary_unary(
                '/Nrmk.IndyFramework.EtherCAT/GetMaxTorqueSDO',
                request_serializer=ethercat__msgs__pb2.EcatIndex.SerializeToString,
                response_deserializer=ethercat__msgs__pb2.SDOIntVal.FromString,
                )
        self.GetProfileVelSDO = channel.unary_unary(
                '/Nrmk.IndyFramework.EtherCAT/GetProfileVelSDO',
                request_serializer=ethercat__msgs__pb2.EcatIndex.SerializeToString,
                response_deserializer=ethercat__msgs__pb2.SDOIntVal.FromString,
                )
        self.GetProfileAccSDO = channel.unary_unary(
                '/Nrmk.IndyFramework.EtherCAT/GetProfileAccSDO',
                request_serializer=ethercat__msgs__pb2.EcatIndex.SerializeToString,
                response_deserializer=ethercat__msgs__pb2.SDOIntVal.FromString,
                )
        self.GetProfileDecSDO = channel.unary_unary(
                '/Nrmk.IndyFramework.EtherCAT/GetProfileDecSDO',
                request_serializer=ethercat__msgs__pb2.EcatIndex.SerializeToString,
                response_deserializer=ethercat__msgs__pb2.SDOIntVal.FromString,
                )
        self.SetMaxTorqueSDO = channel.unary_unary(
                '/Nrmk.IndyFramework.EtherCAT/SetMaxTorqueSDO',
                request_serializer=ethercat__msgs__pb2.ServoParam.SerializeToString,
                response_deserializer=common__msgs__pb2.Empty.FromString,
                )
        self.SetProfileVelSDO = channel.unary_unary(
                '/Nrmk.IndyFramework.EtherCAT/SetProfileVelSDO',
                request_serializer=ethercat__msgs__pb2.ServoParam.SerializeToString,
                response_deserializer=common__msgs__pb2.Empty.FromString,
                )
        self.SetProfileAccSDO = channel.unary_unary(
                '/Nrmk.IndyFramework.EtherCAT/SetProfileAccSDO',
                request_serializer=ethercat__msgs__pb2.ServoParam.SerializeToString,
                response_deserializer=common__msgs__pb2.Empty.FromString,
                )
        self.SetProfileDecSDO = channel.unary_unary(
                '/Nrmk.IndyFramework.EtherCAT/SetProfileDecSDO',
                request_serializer=ethercat__msgs__pb2.ServoParam.SerializeToString,
                response_deserializer=common__msgs__pb2.Empty.FromString,
                )
        self.GetRobotZeroCount = channel.unary_unary(
                '/Nrmk.IndyFramework.EtherCAT/GetRobotZeroCount',
                request_serializer=ethercat__msgs__pb2.ServoIndex.SerializeToString,
                response_deserializer=ethercat__msgs__pb2.RobotZeroCount.FromString,
                )
        self.SetRobotZeroAsCurrent = channel.unary_unary(
                '/Nrmk.IndyFramework.EtherCAT/SetRobotZeroAsCurrent',
                request_serializer=ethercat__msgs__pb2.ServoIndex.SerializeToString,
                response_deserializer=common__msgs__pb2.Empty.FromString,
                )


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

    def GetMasterStatus(self, request, context):
        """Master and slave status
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetSlaveStatus(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 GetRxDomainStatus(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 GetTxDomainStatus(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 IsSystemReady(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 IsServoOn(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 GetSlaveTypeNum(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 ResetOverflowCount(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 SetServoRx(self, request, context):
        """Servo PDO
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetServoRx(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 GetServoTx(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 SetServoRxKeba(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 GetServoRxKeba(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 GetServoTxKeba(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 SetServoOn(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 SetServoOff(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 GetServoTemperature(self, request, context):
        """Servo SDO
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetServoErrorCode(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 ResetServo(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 SetCOREManualBrake(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 SetEndtoolRx(self, request, context):
        """Endtool PDO
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetEndtoolRx(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 GetEndtoolTx(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 GetEndtoolDockingTx(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 SetIOBoardRx(self, request, context):
        """IOBoard PDO
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetIOBoardTx(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 GetIOBoardRx(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 GetDI(self, request, context):
        """DIO PDO
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetDO(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 SetDO(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 GetMaxTorqueSDO(self, request, context):
        """FT PDO

        Servo SDO

        rpc GetCOREErrorCodeSDO(EcatIndex) returns (SDOIntVal) {}
        rpc GetCORETemperature1SDO(EcatIndex) returns (SDOFloatVal) {}
        rpc GetCORETemperature2SDO(EcatIndex) returns (SDOFloatVal) {}
        rpc GetCORETemperature3SDO(EcatIndex) returns (SDOStrVal) {}

        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetProfileVelSDO(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 GetProfileAccSDO(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 GetProfileDecSDO(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 SetMaxTorqueSDO(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 SetProfileVelSDO(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 SetProfileAccSDO(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 SetProfileDecSDO(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 GetRobotZeroCount(self, request, context):
        """rpc ResetWelconDriver(EcatIndex) returns (Empty) {}

        Agri CamRobot
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def SetRobotZeroAsCurrent(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 add_EtherCATServicer_to_server(servicer, server):
    rpc_method_handlers = {
            'GetMasterStatus': grpc.unary_unary_rpc_method_handler(
                    servicer.GetMasterStatus,
                    request_deserializer=common__msgs__pb2.Empty.FromString,
                    response_serializer=ethercat__msgs__pb2.MasterStatus.SerializeToString,
            ),
            'GetSlaveStatus': grpc.unary_unary_rpc_method_handler(
                    servicer.GetSlaveStatus,
                    request_deserializer=common__msgs__pb2.Empty.FromString,
                    response_serializer=ethercat__msgs__pb2.SlaveStatus.SerializeToString,
            ),
            'GetRxDomainStatus': grpc.unary_unary_rpc_method_handler(
                    servicer.GetRxDomainStatus,
                    request_deserializer=common__msgs__pb2.Empty.FromString,
                    response_serializer=ethercat__msgs__pb2.EcatDomainStatus.SerializeToString,
            ),
            'GetTxDomainStatus': grpc.unary_unary_rpc_method_handler(
                    servicer.GetTxDomainStatus,
                    request_deserializer=common__msgs__pb2.Empty.FromString,
                    response_serializer=ethercat__msgs__pb2.EcatDomainStatus.SerializeToString,
            ),
            'IsSystemReady': grpc.unary_unary_rpc_method_handler(
                    servicer.IsSystemReady,
                    request_deserializer=common__msgs__pb2.Empty.FromString,
                    response_serializer=ethercat__msgs__pb2.EcatSystemReady.SerializeToString,
            ),
            'IsServoOn': grpc.unary_unary_rpc_method_handler(
                    servicer.IsServoOn,
                    request_deserializer=common__msgs__pb2.Empty.FromString,
                    response_serializer=ethercat__msgs__pb2.EcatServoOn.SerializeToString,
            ),
            'GetSlaveTypeNum': grpc.unary_unary_rpc_method_handler(
                    servicer.GetSlaveTypeNum,
                    request_deserializer=common__msgs__pb2.Empty.FromString,
                    response_serializer=ethercat__msgs__pb2.SlaveTypeNum.SerializeToString,
            ),
            'ResetOverflowCount': grpc.unary_unary_rpc_method_handler(
                    servicer.ResetOverflowCount,
                    request_deserializer=common__msgs__pb2.Empty.FromString,
                    response_serializer=common__msgs__pb2.Empty.SerializeToString,
            ),
            'SetServoRx': grpc.unary_unary_rpc_method_handler(
                    servicer.SetServoRx,
                    request_deserializer=ethercat__msgs__pb2.ServoRxIndex.FromString,
                    response_serializer=common__msgs__pb2.Empty.SerializeToString,
            ),
            'GetServoRx': grpc.unary_unary_rpc_method_handler(
                    servicer.GetServoRx,
                    request_deserializer=ethercat__msgs__pb2.ServoIndex.FromString,
                    response_serializer=ethercat__msgs__pb2.ServoRx.SerializeToString,
            ),
            'GetServoTx': grpc.unary_unary_rpc_method_handler(
                    servicer.GetServoTx,
                    request_deserializer=ethercat__msgs__pb2.ServoIndex.FromString,
                    response_serializer=ethercat__msgs__pb2.ServoTx.SerializeToString,
            ),
            'SetServoRxKeba': grpc.unary_unary_rpc_method_handler(
                    servicer.SetServoRxKeba,
                    request_deserializer=ethercat__msgs__pb2.ServoRxIndexKeba.FromString,
                    response_serializer=common__msgs__pb2.Empty.SerializeToString,
            ),
            'GetServoRxKeba': grpc.unary_unary_rpc_method_handler(
                    servicer.GetServoRxKeba,
                    request_deserializer=ethercat__msgs__pb2.ServoIndex.FromString,
                    response_serializer=ethercat__msgs__pb2.ServoRxKeba.SerializeToString,
            ),
            'GetServoTxKeba': grpc.unary_unary_rpc_method_handler(
                    servicer.GetServoTxKeba,
                    request_deserializer=ethercat__msgs__pb2.ServoIndex.FromString,
                    response_serializer=ethercat__msgs__pb2.ServoTxKeba.SerializeToString,
            ),
            'SetServoOn': grpc.unary_unary_rpc_method_handler(
                    servicer.SetServoOn,
                    request_deserializer=ethercat__msgs__pb2.ServoIndex.FromString,
                    response_serializer=common__msgs__pb2.Empty.SerializeToString,
            ),
            'SetServoOff': grpc.unary_unary_rpc_method_handler(
                    servicer.SetServoOff,
                    request_deserializer=ethercat__msgs__pb2.ServoIndex.FromString,
                    response_serializer=common__msgs__pb2.Empty.SerializeToString,
            ),
            'GetServoTemperature': grpc.unary_unary_rpc_method_handler(
                    servicer.GetServoTemperature,
                    request_deserializer=ethercat__msgs__pb2.ServoIndex.FromString,
                    response_serializer=ethercat__msgs__pb2.ServoTemp.SerializeToString,
            ),
            'GetServoErrorCode': grpc.unary_unary_rpc_method_handler(
                    servicer.GetServoErrorCode,
                    request_deserializer=ethercat__msgs__pb2.ServoIndex.FromString,
                    response_serializer=ethercat__msgs__pb2.ServoError.SerializeToString,
            ),
            'ResetServo': grpc.unary_unary_rpc_method_handler(
                    servicer.ResetServo,
                    request_deserializer=ethercat__msgs__pb2.ServoIndex.FromString,
                    response_serializer=common__msgs__pb2.Empty.SerializeToString,
            ),
            'SetCOREManualBrake': grpc.unary_unary_rpc_method_handler(
                    servicer.SetCOREManualBrake,
                    request_deserializer=ethercat__msgs__pb2.ServoBrake.FromString,
                    response_serializer=common__msgs__pb2.Empty.SerializeToString,
            ),
            'SetEndtoolRx': grpc.unary_unary_rpc_method_handler(
                    servicer.SetEndtoolRx,
                    request_deserializer=ethercat__msgs__pb2.EndtoolRx.FromString,
                    response_serializer=common__msgs__pb2.Empty.SerializeToString,
            ),
            'GetEndtoolRx': grpc.unary_unary_rpc_method_handler(
                    servicer.GetEndtoolRx,
                    request_deserializer=common__msgs__pb2.Empty.FromString,
                    response_serializer=ethercat__msgs__pb2.EndtoolRx.SerializeToString,
            ),
            'GetEndtoolTx': grpc.unary_unary_rpc_method_handler(
                    servicer.GetEndtoolTx,
                    request_deserializer=common__msgs__pb2.Empty.FromString,
                    response_serializer=ethercat__msgs__pb2.EndtoolTx.SerializeToString,
            ),
            'GetEndtoolDockingTx': grpc.unary_unary_rpc_method_handler(
                    servicer.GetEndtoolDockingTx,
                    request_deserializer=common__msgs__pb2.Empty.FromString,
                    response_serializer=ethercat__msgs__pb2.EndtoolDockingTx.SerializeToString,
            ),
            'SetIOBoardRx': grpc.unary_unary_rpc_method_handler(
                    servicer.SetIOBoardRx,
                    request_deserializer=ethercat__msgs__pb2.IOBoardRx.FromString,
                    response_serializer=common__msgs__pb2.Empty.SerializeToString,
            ),
            'GetIOBoardTx': grpc.unary_unary_rpc_method_handler(
                    servicer.GetIOBoardTx,
                    request_deserializer=common__msgs__pb2.Empty.FromString,
                    response_serializer=ethercat__msgs__pb2.IOBoardTx.SerializeToString,
            ),
            'GetIOBoardRx': grpc.unary_unary_rpc_method_handler(
                    servicer.GetIOBoardRx,
                    request_deserializer=common__msgs__pb2.Empty.FromString,
                    response_serializer=ethercat__msgs__pb2.IOBoardRx.SerializeToString,
            ),
            'GetDI': grpc.unary_unary_rpc_method_handler(
                    servicer.GetDI,
                    request_deserializer=ethercat__msgs__pb2.DIOIndex.FromString,
                    response_serializer=ethercat__msgs__pb2.DIODigitalInput.SerializeToString,
            ),
            'GetDO': grpc.unary_unary_rpc_method_handler(
                    servicer.GetDO,
                    request_deserializer=ethercat__msgs__pb2.DIOIndex.FromString,
                    response_serializer=ethercat__msgs__pb2.DIODigitalOutput.SerializeToString,
            ),
            'SetDO': grpc.unary_unary_rpc_method_handler(
                    servicer.SetDO,
                    request_deserializer=ethercat__msgs__pb2.DIODigitalOutput.FromString,
                    response_serializer=common__msgs__pb2.Empty.SerializeToString,
            ),
            'GetMaxTorqueSDO': grpc.unary_unary_rpc_method_handler(
                    servicer.GetMaxTorqueSDO,
                    request_deserializer=ethercat__msgs__pb2.EcatIndex.FromString,
                    response_serializer=ethercat__msgs__pb2.SDOIntVal.SerializeToString,
            ),
            'GetProfileVelSDO': grpc.unary_unary_rpc_method_handler(
                    servicer.GetProfileVelSDO,
                    request_deserializer=ethercat__msgs__pb2.EcatIndex.FromString,
                    response_serializer=ethercat__msgs__pb2.SDOIntVal.SerializeToString,
            ),
            'GetProfileAccSDO': grpc.unary_unary_rpc_method_handler(
                    servicer.GetProfileAccSDO,
                    request_deserializer=ethercat__msgs__pb2.EcatIndex.FromString,
                    response_serializer=ethercat__msgs__pb2.SDOIntVal.SerializeToString,
            ),
            'GetProfileDecSDO': grpc.unary_unary_rpc_method_handler(
                    servicer.GetProfileDecSDO,
                    request_deserializer=ethercat__msgs__pb2.EcatIndex.FromString,
                    response_serializer=ethercat__msgs__pb2.SDOIntVal.SerializeToString,
            ),
            'SetMaxTorqueSDO': grpc.unary_unary_rpc_method_handler(
                    servicer.SetMaxTorqueSDO,
                    request_deserializer=ethercat__msgs__pb2.ServoParam.FromString,
                    response_serializer=common__msgs__pb2.Empty.SerializeToString,
            ),
            'SetProfileVelSDO': grpc.unary_unary_rpc_method_handler(
                    servicer.SetProfileVelSDO,
                    request_deserializer=ethercat__msgs__pb2.ServoParam.FromString,
                    response_serializer=common__msgs__pb2.Empty.SerializeToString,
            ),
            'SetProfileAccSDO': grpc.unary_unary_rpc_method_handler(
                    servicer.SetProfileAccSDO,
                    request_deserializer=ethercat__msgs__pb2.ServoParam.FromString,
                    response_serializer=common__msgs__pb2.Empty.SerializeToString,
            ),
            'SetProfileDecSDO': grpc.unary_unary_rpc_method_handler(
                    servicer.SetProfileDecSDO,
                    request_deserializer=ethercat__msgs__pb2.ServoParam.FromString,
                    response_serializer=common__msgs__pb2.Empty.SerializeToString,
            ),
            'GetRobotZeroCount': grpc.unary_unary_rpc_method_handler(
                    servicer.GetRobotZeroCount,
                    request_deserializer=ethercat__msgs__pb2.ServoIndex.FromString,
                    response_serializer=ethercat__msgs__pb2.RobotZeroCount.SerializeToString,
            ),
            'SetRobotZeroAsCurrent': grpc.unary_unary_rpc_method_handler(
                    servicer.SetRobotZeroAsCurrent,
                    request_deserializer=ethercat__msgs__pb2.ServoIndex.FromString,
                    response_serializer=common__msgs__pb2.Empty.SerializeToString,
            ),
    }
    generic_handler = grpc.method_handlers_generic_handler(
            'Nrmk.IndyFramework.EtherCAT', rpc_method_handlers)
    server.add_generic_rpc_handlers((generic_handler,))


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

    @staticmethod
    def GetMasterStatus(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, '/Nrmk.IndyFramework.EtherCAT/GetMasterStatus',
            common__msgs__pb2.Empty.SerializeToString,
            ethercat__msgs__pb2.MasterStatus.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetSlaveStatus(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, '/Nrmk.IndyFramework.EtherCAT/GetSlaveStatus',
            common__msgs__pb2.Empty.SerializeToString,
            ethercat__msgs__pb2.SlaveStatus.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetRxDomainStatus(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, '/Nrmk.IndyFramework.EtherCAT/GetRxDomainStatus',
            common__msgs__pb2.Empty.SerializeToString,
            ethercat__msgs__pb2.EcatDomainStatus.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetTxDomainStatus(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, '/Nrmk.IndyFramework.EtherCAT/GetTxDomainStatus',
            common__msgs__pb2.Empty.SerializeToString,
            ethercat__msgs__pb2.EcatDomainStatus.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def IsSystemReady(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, '/Nrmk.IndyFramework.EtherCAT/IsSystemReady',
            common__msgs__pb2.Empty.SerializeToString,
            ethercat__msgs__pb2.EcatSystemReady.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def IsServoOn(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, '/Nrmk.IndyFramework.EtherCAT/IsServoOn',
            common__msgs__pb2.Empty.SerializeToString,
            ethercat__msgs__pb2.EcatServoOn.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetSlaveTypeNum(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, '/Nrmk.IndyFramework.EtherCAT/GetSlaveTypeNum',
            common__msgs__pb2.Empty.SerializeToString,
            ethercat__msgs__pb2.SlaveTypeNum.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def ResetOverflowCount(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, '/Nrmk.IndyFramework.EtherCAT/ResetOverflowCount',
            common__msgs__pb2.Empty.SerializeToString,
            common__msgs__pb2.Empty.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def SetServoRx(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, '/Nrmk.IndyFramework.EtherCAT/SetServoRx',
            ethercat__msgs__pb2.ServoRxIndex.SerializeToString,
            common__msgs__pb2.Empty.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetServoRx(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, '/Nrmk.IndyFramework.EtherCAT/GetServoRx',
            ethercat__msgs__pb2.ServoIndex.SerializeToString,
            ethercat__msgs__pb2.ServoRx.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetServoTx(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, '/Nrmk.IndyFramework.EtherCAT/GetServoTx',
            ethercat__msgs__pb2.ServoIndex.SerializeToString,
            ethercat__msgs__pb2.ServoTx.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def SetServoRxKeba(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, '/Nrmk.IndyFramework.EtherCAT/SetServoRxKeba',
            ethercat__msgs__pb2.ServoRxIndexKeba.SerializeToString,
            common__msgs__pb2.Empty.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetServoRxKeba(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, '/Nrmk.IndyFramework.EtherCAT/GetServoRxKeba',
            ethercat__msgs__pb2.ServoIndex.SerializeToString,
            ethercat__msgs__pb2.ServoRxKeba.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetServoTxKeba(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, '/Nrmk.IndyFramework.EtherCAT/GetServoTxKeba',
            ethercat__msgs__pb2.ServoIndex.SerializeToString,
            ethercat__msgs__pb2.ServoTxKeba.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def SetServoOn(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, '/Nrmk.IndyFramework.EtherCAT/SetServoOn',
            ethercat__msgs__pb2.ServoIndex.SerializeToString,
            common__msgs__pb2.Empty.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def SetServoOff(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, '/Nrmk.IndyFramework.EtherCAT/SetServoOff',
            ethercat__msgs__pb2.ServoIndex.SerializeToString,
            common__msgs__pb2.Empty.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetServoTemperature(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, '/Nrmk.IndyFramework.EtherCAT/GetServoTemperature',
            ethercat__msgs__pb2.ServoIndex.SerializeToString,
            ethercat__msgs__pb2.ServoTemp.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetServoErrorCode(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, '/Nrmk.IndyFramework.EtherCAT/GetServoErrorCode',
            ethercat__msgs__pb2.ServoIndex.SerializeToString,
            ethercat__msgs__pb2.ServoError.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def ResetServo(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, '/Nrmk.IndyFramework.EtherCAT/ResetServo',
            ethercat__msgs__pb2.ServoIndex.SerializeToString,
            common__msgs__pb2.Empty.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def SetCOREManualBrake(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, '/Nrmk.IndyFramework.EtherCAT/SetCOREManualBrake',
            ethercat__msgs__pb2.ServoBrake.SerializeToString,
            common__msgs__pb2.Empty.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def SetEndtoolRx(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, '/Nrmk.IndyFramework.EtherCAT/SetEndtoolRx',
            ethercat__msgs__pb2.EndtoolRx.SerializeToString,
            common__msgs__pb2.Empty.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetEndtoolRx(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, '/Nrmk.IndyFramework.EtherCAT/GetEndtoolRx',
            common__msgs__pb2.Empty.SerializeToString,
            ethercat__msgs__pb2.EndtoolRx.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetEndtoolTx(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, '/Nrmk.IndyFramework.EtherCAT/GetEndtoolTx',
            common__msgs__pb2.Empty.SerializeToString,
            ethercat__msgs__pb2.EndtoolTx.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetEndtoolDockingTx(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, '/Nrmk.IndyFramework.EtherCAT/GetEndtoolDockingTx',
            common__msgs__pb2.Empty.SerializeToString,
            ethercat__msgs__pb2.EndtoolDockingTx.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def SetIOBoardRx(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, '/Nrmk.IndyFramework.EtherCAT/SetIOBoardRx',
            ethercat__msgs__pb2.IOBoardRx.SerializeToString,
            common__msgs__pb2.Empty.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetIOBoardTx(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, '/Nrmk.IndyFramework.EtherCAT/GetIOBoardTx',
            common__msgs__pb2.Empty.SerializeToString,
            ethercat__msgs__pb2.IOBoardTx.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetIOBoardRx(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, '/Nrmk.IndyFramework.EtherCAT/GetIOBoardRx',
            common__msgs__pb2.Empty.SerializeToString,
            ethercat__msgs__pb2.IOBoardRx.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetDI(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, '/Nrmk.IndyFramework.EtherCAT/GetDI',
            ethercat__msgs__pb2.DIOIndex.SerializeToString,
            ethercat__msgs__pb2.DIODigitalInput.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetDO(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, '/Nrmk.IndyFramework.EtherCAT/GetDO',
            ethercat__msgs__pb2.DIOIndex.SerializeToString,
            ethercat__msgs__pb2.DIODigitalOutput.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def SetDO(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, '/Nrmk.IndyFramework.EtherCAT/SetDO',
            ethercat__msgs__pb2.DIODigitalOutput.SerializeToString,
            common__msgs__pb2.Empty.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetMaxTorqueSDO(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, '/Nrmk.IndyFramework.EtherCAT/GetMaxTorqueSDO',
            ethercat__msgs__pb2.EcatIndex.SerializeToString,
            ethercat__msgs__pb2.SDOIntVal.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetProfileVelSDO(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, '/Nrmk.IndyFramework.EtherCAT/GetProfileVelSDO',
            ethercat__msgs__pb2.EcatIndex.SerializeToString,
            ethercat__msgs__pb2.SDOIntVal.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetProfileAccSDO(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, '/Nrmk.IndyFramework.EtherCAT/GetProfileAccSDO',
            ethercat__msgs__pb2.EcatIndex.SerializeToString,
            ethercat__msgs__pb2.SDOIntVal.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetProfileDecSDO(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, '/Nrmk.IndyFramework.EtherCAT/GetProfileDecSDO',
            ethercat__msgs__pb2.EcatIndex.SerializeToString,
            ethercat__msgs__pb2.SDOIntVal.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def SetMaxTorqueSDO(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, '/Nrmk.IndyFramework.EtherCAT/SetMaxTorqueSDO',
            ethercat__msgs__pb2.ServoParam.SerializeToString,
            common__msgs__pb2.Empty.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def SetProfileVelSDO(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, '/Nrmk.IndyFramework.EtherCAT/SetProfileVelSDO',
            ethercat__msgs__pb2.ServoParam.SerializeToString,
            common__msgs__pb2.Empty.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def SetProfileAccSDO(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, '/Nrmk.IndyFramework.EtherCAT/SetProfileAccSDO',
            ethercat__msgs__pb2.ServoParam.SerializeToString,
            common__msgs__pb2.Empty.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def SetProfileDecSDO(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, '/Nrmk.IndyFramework.EtherCAT/SetProfileDecSDO',
            ethercat__msgs__pb2.ServoParam.SerializeToString,
            common__msgs__pb2.Empty.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetRobotZeroCount(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, '/Nrmk.IndyFramework.EtherCAT/GetRobotZeroCount',
            ethercat__msgs__pb2.ServoIndex.SerializeToString,
            ethercat__msgs__pb2.RobotZeroCount.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def SetRobotZeroAsCurrent(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, '/Nrmk.IndyFramework.EtherCAT/SetRobotZeroAsCurrent',
            ethercat__msgs__pb2.ServoIndex.SerializeToString,
            common__msgs__pb2.Empty.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
