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

from . import platform_iface_pb2 as grpc__stubs_dot_platform__iface__pb2

GRPC_GENERATED_VERSION = '1.65.1'
GRPC_VERSION = grpc.__version__
EXPECTED_ERROR_RELEASE = '1.66.0'
SCHEDULED_RELEASE_DATE = 'August 6, 2024'
_version_not_supported = False

try:
    from grpc._utilities import first_version_is_lower
    _version_not_supported = first_version_is_lower(GRPC_VERSION, GRPC_GENERATED_VERSION)
except ImportError:
    _version_not_supported = True

if _version_not_supported:
    warnings.warn(
        f'The grpc package installed is at version {GRPC_VERSION},'
        + f' but the generated code in grpc_stubs/platform_iface_pb2_grpc.py depends on'
        + f' grpcio>={GRPC_GENERATED_VERSION}.'
        + f' Please upgrade your grpc module to grpcio>={GRPC_GENERATED_VERSION}'
        + f' or downgrade your generated code using grpcio-tools<={GRPC_VERSION}.'
        + f' This warning will become an error in {EXPECTED_ERROR_RELEASE},'
        + f' scheduled for release on {SCHEDULED_RELEASE_DATE}.',
        RuntimeWarning
    )


class platformIfaceStub(object):
    """The doover device agent service definition.
    """

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

        Args:
            channel: A grpc.Channel.
        """
        self.TestComms = channel.unary_unary(
                '/platform_iface.platformIface/TestComms',
                request_serializer=grpc__stubs_dot_platform__iface__pb2.TestCommsRequest.SerializeToString,
                response_deserializer=grpc__stubs_dot_platform__iface__pb2.TestCommsResponse.FromString,
                _registered_method=True)
        self.getDI = channel.unary_unary(
                '/platform_iface.platformIface/getDI',
                request_serializer=grpc__stubs_dot_platform__iface__pb2.getDIRequest.SerializeToString,
                response_deserializer=grpc__stubs_dot_platform__iface__pb2.getDIResponse.FromString,
                _registered_method=True)
        self.getAI = channel.unary_unary(
                '/platform_iface.platformIface/getAI',
                request_serializer=grpc__stubs_dot_platform__iface__pb2.getAIRequest.SerializeToString,
                response_deserializer=grpc__stubs_dot_platform__iface__pb2.getAIResponse.FromString,
                _registered_method=True)
        self.startPulseCounter = channel.unary_stream(
                '/platform_iface.platformIface/startPulseCounter',
                request_serializer=grpc__stubs_dot_platform__iface__pb2.pulseCounterRequest.SerializeToString,
                response_deserializer=grpc__stubs_dot_platform__iface__pb2.pulseCounterResponse.FromString,
                _registered_method=True)
        self.getDO = channel.unary_unary(
                '/platform_iface.platformIface/getDO',
                request_serializer=grpc__stubs_dot_platform__iface__pb2.getDORequest.SerializeToString,
                response_deserializer=grpc__stubs_dot_platform__iface__pb2.getDOResponse.FromString,
                _registered_method=True)
        self.setDO = channel.unary_unary(
                '/platform_iface.platformIface/setDO',
                request_serializer=grpc__stubs_dot_platform__iface__pb2.setDORequest.SerializeToString,
                response_deserializer=grpc__stubs_dot_platform__iface__pb2.setDOResponse.FromString,
                _registered_method=True)
        self.scheduleDO = channel.unary_unary(
                '/platform_iface.platformIface/scheduleDO',
                request_serializer=grpc__stubs_dot_platform__iface__pb2.scheduleDORequest.SerializeToString,
                response_deserializer=grpc__stubs_dot_platform__iface__pb2.scheduleDOResponse.FromString,
                _registered_method=True)
        self.getAO = channel.unary_unary(
                '/platform_iface.platformIface/getAO',
                request_serializer=grpc__stubs_dot_platform__iface__pb2.getAORequest.SerializeToString,
                response_deserializer=grpc__stubs_dot_platform__iface__pb2.getAOResponse.FromString,
                _registered_method=True)
        self.setAO = channel.unary_unary(
                '/platform_iface.platformIface/setAO',
                request_serializer=grpc__stubs_dot_platform__iface__pb2.setAORequest.SerializeToString,
                response_deserializer=grpc__stubs_dot_platform__iface__pb2.setAOResponse.FromString,
                _registered_method=True)
        self.scheduleAO = channel.unary_unary(
                '/platform_iface.platformIface/scheduleAO',
                request_serializer=grpc__stubs_dot_platform__iface__pb2.scheduleAORequest.SerializeToString,
                response_deserializer=grpc__stubs_dot_platform__iface__pb2.scheduleAOResponse.FromString,
                _registered_method=True)
        self.getValue = channel.unary_unary(
                '/platform_iface.platformIface/getValue',
                request_serializer=grpc__stubs_dot_platform__iface__pb2.getValueRequest.SerializeToString,
                response_deserializer=grpc__stubs_dot_platform__iface__pb2.getValueResponse.FromString,
                _registered_method=True)
        self.setValue = channel.unary_unary(
                '/platform_iface.platformIface/setValue',
                request_serializer=grpc__stubs_dot_platform__iface__pb2.setValueRequest.SerializeToString,
                response_deserializer=grpc__stubs_dot_platform__iface__pb2.setValueResponse.FromString,
                _registered_method=True)
        self.getEvents = channel.unary_unary(
                '/platform_iface.platformIface/getEvents',
                request_serializer=grpc__stubs_dot_platform__iface__pb2.getEventsRequest.SerializeToString,
                response_deserializer=grpc__stubs_dot_platform__iface__pb2.getEventsResponse.FromString,
                _registered_method=True)
        self.getDIEvents = channel.unary_unary(
                '/platform_iface.platformIface/getDIEvents',
                request_serializer=grpc__stubs_dot_platform__iface__pb2.getDIEventsRequest.SerializeToString,
                response_deserializer=grpc__stubs_dot_platform__iface__pb2.getDIEventsResponse.FromString,
                _registered_method=True)
        self.getSystemStatus = channel.unary_unary(
                '/platform_iface.platformIface/getSystemStatus',
                request_serializer=grpc__stubs_dot_platform__iface__pb2.getSystemStatusRequest.SerializeToString,
                response_deserializer=grpc__stubs_dot_platform__iface__pb2.getSystemStatusResponse.FromString,
                _registered_method=True)
        self.getInputVoltage = channel.unary_unary(
                '/platform_iface.platformIface/getInputVoltage',
                request_serializer=grpc__stubs_dot_platform__iface__pb2.getInputVoltageRequest.SerializeToString,
                response_deserializer=grpc__stubs_dot_platform__iface__pb2.getInputVoltageResponse.FromString,
                _registered_method=True)
        self.getSystemPower = channel.unary_unary(
                '/platform_iface.platformIface/getSystemPower',
                request_serializer=grpc__stubs_dot_platform__iface__pb2.getSystemPowerRequest.SerializeToString,
                response_deserializer=grpc__stubs_dot_platform__iface__pb2.getSystemPowerResponse.FromString,
                _registered_method=True)
        self.getTemperature = channel.unary_unary(
                '/platform_iface.platformIface/getTemperature',
                request_serializer=grpc__stubs_dot_platform__iface__pb2.getTemperatureRequest.SerializeToString,
                response_deserializer=grpc__stubs_dot_platform__iface__pb2.getTemperatureResponse.FromString,
                _registered_method=True)
        self.getIoTable = channel.unary_unary(
                '/platform_iface.platformIface/getIoTable',
                request_serializer=grpc__stubs_dot_platform__iface__pb2.getIoTableRequest.SerializeToString,
                response_deserializer=grpc__stubs_dot_platform__iface__pb2.getIoTableResponse.FromString,
                _registered_method=True)
        self.syncRtcTime = channel.unary_unary(
                '/platform_iface.platformIface/syncRtcTime',
                request_serializer=grpc__stubs_dot_platform__iface__pb2.syncRtcTimeRequest.SerializeToString,
                response_deserializer=grpc__stubs_dot_platform__iface__pb2.syncRtcTimeResponse.FromString,
                _registered_method=True)
        self.getLocation = channel.unary_unary(
                '/platform_iface.platformIface/getLocation',
                request_serializer=grpc__stubs_dot_platform__iface__pb2.getLocationRequest.SerializeToString,
                response_deserializer=grpc__stubs_dot_platform__iface__pb2.getLocationResponse.FromString,
                _registered_method=True)
        self.getShutdownImmunity = channel.unary_unary(
                '/platform_iface.platformIface/getShutdownImmunity',
                request_serializer=grpc__stubs_dot_platform__iface__pb2.getShutdownImmunityRequest.SerializeToString,
                response_deserializer=grpc__stubs_dot_platform__iface__pb2.getShutdownImmunityResponse.FromString,
                _registered_method=True)
        self.setShutdownImmunity = channel.unary_unary(
                '/platform_iface.platformIface/setShutdownImmunity',
                request_serializer=grpc__stubs_dot_platform__iface__pb2.setShutdownImmunityRequest.SerializeToString,
                response_deserializer=grpc__stubs_dot_platform__iface__pb2.setShutdownImmunityResponse.FromString,
                _registered_method=True)
        self.scheduleStartup = channel.unary_unary(
                '/platform_iface.platformIface/scheduleStartup',
                request_serializer=grpc__stubs_dot_platform__iface__pb2.scheduleStartupRequest.SerializeToString,
                response_deserializer=grpc__stubs_dot_platform__iface__pb2.scheduleStartupResponse.FromString,
                _registered_method=True)
        self.scheduleShutdown = channel.unary_unary(
                '/platform_iface.platformIface/scheduleShutdown',
                request_serializer=grpc__stubs_dot_platform__iface__pb2.scheduleShutdownRequest.SerializeToString,
                response_deserializer=grpc__stubs_dot_platform__iface__pb2.scheduleShutdownResponse.FromString,
                _registered_method=True)
        self.reboot = channel.unary_unary(
                '/platform_iface.platformIface/reboot',
                request_serializer=grpc__stubs_dot_platform__iface__pb2.rebootRequest.SerializeToString,
                response_deserializer=grpc__stubs_dot_platform__iface__pb2.rebootResponse.FromString,
                _registered_method=True)
        self.shutdown = channel.unary_unary(
                '/platform_iface.platformIface/shutdown',
                request_serializer=grpc__stubs_dot_platform__iface__pb2.shutdownRequest.SerializeToString,
                response_deserializer=grpc__stubs_dot_platform__iface__pb2.shutdownResponse.FromString,
                _registered_method=True)
        self.loadFirmware = channel.unary_unary(
                '/platform_iface.platformIface/loadFirmware',
                request_serializer=grpc__stubs_dot_platform__iface__pb2.loadFirmwareRequest.SerializeToString,
                response_deserializer=grpc__stubs_dot_platform__iface__pb2.loadFirmwareResponse.FromString,
                _registered_method=True)
        self.loadBootloader = channel.unary_unary(
                '/platform_iface.platformIface/loadBootloader',
                request_serializer=grpc__stubs_dot_platform__iface__pb2.loadBootloaderRequest.SerializeToString,
                response_deserializer=grpc__stubs_dot_platform__iface__pb2.loadBootloaderResponse.FromString,
                _registered_method=True)
        self.getFirmwareVersion = channel.unary_unary(
                '/platform_iface.platformIface/getFirmwareVersion',
                request_serializer=grpc__stubs_dot_platform__iface__pb2.getFirmwareVersionRequest.SerializeToString,
                response_deserializer=grpc__stubs_dot_platform__iface__pb2.getFirmwareVersionResponse.FromString,
                _registered_method=True)


class platformIfaceServicer(object):
    """The doover device agent service definition.
    """

    def TestComms(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):
        """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 getAI(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 startPulseCounter(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 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 scheduleDO(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 getAO(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 setAO(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 scheduleAO(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 getValue(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 setValue(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 getEvents(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 getDIEvents(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 getSystemStatus(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 getInputVoltage(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 getSystemPower(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 getTemperature(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 getIoTable(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 syncRtcTime(self, request, context):
        """rpc getRtcTime (getRtcTimeRequest) returns (getRtcTimeResponse) {}
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def getLocation(self, request, context):
        """rpc getUptime (getUptimeRequest) returns (getUptimeResponse) {}
        rpc getSystemInfo (getSystemInfoRequest) returns (getSystemInfoResponse) {}
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def getShutdownImmunity(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 setShutdownImmunity(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 scheduleStartup(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 scheduleShutdown(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 reboot(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 shutdown(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 loadFirmware(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 loadBootloader(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 getFirmwareVersion(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_platformIfaceServicer_to_server(servicer, server):
    rpc_method_handlers = {
            'TestComms': grpc.unary_unary_rpc_method_handler(
                    servicer.TestComms,
                    request_deserializer=grpc__stubs_dot_platform__iface__pb2.TestCommsRequest.FromString,
                    response_serializer=grpc__stubs_dot_platform__iface__pb2.TestCommsResponse.SerializeToString,
            ),
            'getDI': grpc.unary_unary_rpc_method_handler(
                    servicer.getDI,
                    request_deserializer=grpc__stubs_dot_platform__iface__pb2.getDIRequest.FromString,
                    response_serializer=grpc__stubs_dot_platform__iface__pb2.getDIResponse.SerializeToString,
            ),
            'getAI': grpc.unary_unary_rpc_method_handler(
                    servicer.getAI,
                    request_deserializer=grpc__stubs_dot_platform__iface__pb2.getAIRequest.FromString,
                    response_serializer=grpc__stubs_dot_platform__iface__pb2.getAIResponse.SerializeToString,
            ),
            'startPulseCounter': grpc.unary_stream_rpc_method_handler(
                    servicer.startPulseCounter,
                    request_deserializer=grpc__stubs_dot_platform__iface__pb2.pulseCounterRequest.FromString,
                    response_serializer=grpc__stubs_dot_platform__iface__pb2.pulseCounterResponse.SerializeToString,
            ),
            'getDO': grpc.unary_unary_rpc_method_handler(
                    servicer.getDO,
                    request_deserializer=grpc__stubs_dot_platform__iface__pb2.getDORequest.FromString,
                    response_serializer=grpc__stubs_dot_platform__iface__pb2.getDOResponse.SerializeToString,
            ),
            'setDO': grpc.unary_unary_rpc_method_handler(
                    servicer.setDO,
                    request_deserializer=grpc__stubs_dot_platform__iface__pb2.setDORequest.FromString,
                    response_serializer=grpc__stubs_dot_platform__iface__pb2.setDOResponse.SerializeToString,
            ),
            'scheduleDO': grpc.unary_unary_rpc_method_handler(
                    servicer.scheduleDO,
                    request_deserializer=grpc__stubs_dot_platform__iface__pb2.scheduleDORequest.FromString,
                    response_serializer=grpc__stubs_dot_platform__iface__pb2.scheduleDOResponse.SerializeToString,
            ),
            'getAO': grpc.unary_unary_rpc_method_handler(
                    servicer.getAO,
                    request_deserializer=grpc__stubs_dot_platform__iface__pb2.getAORequest.FromString,
                    response_serializer=grpc__stubs_dot_platform__iface__pb2.getAOResponse.SerializeToString,
            ),
            'setAO': grpc.unary_unary_rpc_method_handler(
                    servicer.setAO,
                    request_deserializer=grpc__stubs_dot_platform__iface__pb2.setAORequest.FromString,
                    response_serializer=grpc__stubs_dot_platform__iface__pb2.setAOResponse.SerializeToString,
            ),
            'scheduleAO': grpc.unary_unary_rpc_method_handler(
                    servicer.scheduleAO,
                    request_deserializer=grpc__stubs_dot_platform__iface__pb2.scheduleAORequest.FromString,
                    response_serializer=grpc__stubs_dot_platform__iface__pb2.scheduleAOResponse.SerializeToString,
            ),
            'getValue': grpc.unary_unary_rpc_method_handler(
                    servicer.getValue,
                    request_deserializer=grpc__stubs_dot_platform__iface__pb2.getValueRequest.FromString,
                    response_serializer=grpc__stubs_dot_platform__iface__pb2.getValueResponse.SerializeToString,
            ),
            'setValue': grpc.unary_unary_rpc_method_handler(
                    servicer.setValue,
                    request_deserializer=grpc__stubs_dot_platform__iface__pb2.setValueRequest.FromString,
                    response_serializer=grpc__stubs_dot_platform__iface__pb2.setValueResponse.SerializeToString,
            ),
            'getEvents': grpc.unary_unary_rpc_method_handler(
                    servicer.getEvents,
                    request_deserializer=grpc__stubs_dot_platform__iface__pb2.getEventsRequest.FromString,
                    response_serializer=grpc__stubs_dot_platform__iface__pb2.getEventsResponse.SerializeToString,
            ),
            'getDIEvents': grpc.unary_unary_rpc_method_handler(
                    servicer.getDIEvents,
                    request_deserializer=grpc__stubs_dot_platform__iface__pb2.getDIEventsRequest.FromString,
                    response_serializer=grpc__stubs_dot_platform__iface__pb2.getDIEventsResponse.SerializeToString,
            ),
            'getSystemStatus': grpc.unary_unary_rpc_method_handler(
                    servicer.getSystemStatus,
                    request_deserializer=grpc__stubs_dot_platform__iface__pb2.getSystemStatusRequest.FromString,
                    response_serializer=grpc__stubs_dot_platform__iface__pb2.getSystemStatusResponse.SerializeToString,
            ),
            'getInputVoltage': grpc.unary_unary_rpc_method_handler(
                    servicer.getInputVoltage,
                    request_deserializer=grpc__stubs_dot_platform__iface__pb2.getInputVoltageRequest.FromString,
                    response_serializer=grpc__stubs_dot_platform__iface__pb2.getInputVoltageResponse.SerializeToString,
            ),
            'getSystemPower': grpc.unary_unary_rpc_method_handler(
                    servicer.getSystemPower,
                    request_deserializer=grpc__stubs_dot_platform__iface__pb2.getSystemPowerRequest.FromString,
                    response_serializer=grpc__stubs_dot_platform__iface__pb2.getSystemPowerResponse.SerializeToString,
            ),
            'getTemperature': grpc.unary_unary_rpc_method_handler(
                    servicer.getTemperature,
                    request_deserializer=grpc__stubs_dot_platform__iface__pb2.getTemperatureRequest.FromString,
                    response_serializer=grpc__stubs_dot_platform__iface__pb2.getTemperatureResponse.SerializeToString,
            ),
            'getIoTable': grpc.unary_unary_rpc_method_handler(
                    servicer.getIoTable,
                    request_deserializer=grpc__stubs_dot_platform__iface__pb2.getIoTableRequest.FromString,
                    response_serializer=grpc__stubs_dot_platform__iface__pb2.getIoTableResponse.SerializeToString,
            ),
            'syncRtcTime': grpc.unary_unary_rpc_method_handler(
                    servicer.syncRtcTime,
                    request_deserializer=grpc__stubs_dot_platform__iface__pb2.syncRtcTimeRequest.FromString,
                    response_serializer=grpc__stubs_dot_platform__iface__pb2.syncRtcTimeResponse.SerializeToString,
            ),
            'getLocation': grpc.unary_unary_rpc_method_handler(
                    servicer.getLocation,
                    request_deserializer=grpc__stubs_dot_platform__iface__pb2.getLocationRequest.FromString,
                    response_serializer=grpc__stubs_dot_platform__iface__pb2.getLocationResponse.SerializeToString,
            ),
            'getShutdownImmunity': grpc.unary_unary_rpc_method_handler(
                    servicer.getShutdownImmunity,
                    request_deserializer=grpc__stubs_dot_platform__iface__pb2.getShutdownImmunityRequest.FromString,
                    response_serializer=grpc__stubs_dot_platform__iface__pb2.getShutdownImmunityResponse.SerializeToString,
            ),
            'setShutdownImmunity': grpc.unary_unary_rpc_method_handler(
                    servicer.setShutdownImmunity,
                    request_deserializer=grpc__stubs_dot_platform__iface__pb2.setShutdownImmunityRequest.FromString,
                    response_serializer=grpc__stubs_dot_platform__iface__pb2.setShutdownImmunityResponse.SerializeToString,
            ),
            'scheduleStartup': grpc.unary_unary_rpc_method_handler(
                    servicer.scheduleStartup,
                    request_deserializer=grpc__stubs_dot_platform__iface__pb2.scheduleStartupRequest.FromString,
                    response_serializer=grpc__stubs_dot_platform__iface__pb2.scheduleStartupResponse.SerializeToString,
            ),
            'scheduleShutdown': grpc.unary_unary_rpc_method_handler(
                    servicer.scheduleShutdown,
                    request_deserializer=grpc__stubs_dot_platform__iface__pb2.scheduleShutdownRequest.FromString,
                    response_serializer=grpc__stubs_dot_platform__iface__pb2.scheduleShutdownResponse.SerializeToString,
            ),
            'reboot': grpc.unary_unary_rpc_method_handler(
                    servicer.reboot,
                    request_deserializer=grpc__stubs_dot_platform__iface__pb2.rebootRequest.FromString,
                    response_serializer=grpc__stubs_dot_platform__iface__pb2.rebootResponse.SerializeToString,
            ),
            'shutdown': grpc.unary_unary_rpc_method_handler(
                    servicer.shutdown,
                    request_deserializer=grpc__stubs_dot_platform__iface__pb2.shutdownRequest.FromString,
                    response_serializer=grpc__stubs_dot_platform__iface__pb2.shutdownResponse.SerializeToString,
            ),
            'loadFirmware': grpc.unary_unary_rpc_method_handler(
                    servicer.loadFirmware,
                    request_deserializer=grpc__stubs_dot_platform__iface__pb2.loadFirmwareRequest.FromString,
                    response_serializer=grpc__stubs_dot_platform__iface__pb2.loadFirmwareResponse.SerializeToString,
            ),
            'loadBootloader': grpc.unary_unary_rpc_method_handler(
                    servicer.loadBootloader,
                    request_deserializer=grpc__stubs_dot_platform__iface__pb2.loadBootloaderRequest.FromString,
                    response_serializer=grpc__stubs_dot_platform__iface__pb2.loadBootloaderResponse.SerializeToString,
            ),
            'getFirmwareVersion': grpc.unary_unary_rpc_method_handler(
                    servicer.getFirmwareVersion,
                    request_deserializer=grpc__stubs_dot_platform__iface__pb2.getFirmwareVersionRequest.FromString,
                    response_serializer=grpc__stubs_dot_platform__iface__pb2.getFirmwareVersionResponse.SerializeToString,
            ),
    }
    generic_handler = grpc.method_handlers_generic_handler(
            'platform_iface.platformIface', rpc_method_handlers)
    server.add_generic_rpc_handlers((generic_handler,))
    server.add_registered_method_handlers('platform_iface.platformIface', rpc_method_handlers)


 # This class is part of an EXPERIMENTAL API.
class platformIface(object):
    """The doover device agent service definition.
    """

    @staticmethod
    def TestComms(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,
            '/platform_iface.platformIface/TestComms',
            grpc__stubs_dot_platform__iface__pb2.TestCommsRequest.SerializeToString,
            grpc__stubs_dot_platform__iface__pb2.TestCommsResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @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,
            '/platform_iface.platformIface/getDI',
            grpc__stubs_dot_platform__iface__pb2.getDIRequest.SerializeToString,
            grpc__stubs_dot_platform__iface__pb2.getDIResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def getAI(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,
            '/platform_iface.platformIface/getAI',
            grpc__stubs_dot_platform__iface__pb2.getAIRequest.SerializeToString,
            grpc__stubs_dot_platform__iface__pb2.getAIResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def startPulseCounter(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,
            '/platform_iface.platformIface/startPulseCounter',
            grpc__stubs_dot_platform__iface__pb2.pulseCounterRequest.SerializeToString,
            grpc__stubs_dot_platform__iface__pb2.pulseCounterResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @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,
            '/platform_iface.platformIface/getDO',
            grpc__stubs_dot_platform__iface__pb2.getDORequest.SerializeToString,
            grpc__stubs_dot_platform__iface__pb2.getDOResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @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,
            '/platform_iface.platformIface/setDO',
            grpc__stubs_dot_platform__iface__pb2.setDORequest.SerializeToString,
            grpc__stubs_dot_platform__iface__pb2.setDOResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def scheduleDO(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,
            '/platform_iface.platformIface/scheduleDO',
            grpc__stubs_dot_platform__iface__pb2.scheduleDORequest.SerializeToString,
            grpc__stubs_dot_platform__iface__pb2.scheduleDOResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def getAO(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,
            '/platform_iface.platformIface/getAO',
            grpc__stubs_dot_platform__iface__pb2.getAORequest.SerializeToString,
            grpc__stubs_dot_platform__iface__pb2.getAOResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def setAO(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,
            '/platform_iface.platformIface/setAO',
            grpc__stubs_dot_platform__iface__pb2.setAORequest.SerializeToString,
            grpc__stubs_dot_platform__iface__pb2.setAOResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def scheduleAO(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,
            '/platform_iface.platformIface/scheduleAO',
            grpc__stubs_dot_platform__iface__pb2.scheduleAORequest.SerializeToString,
            grpc__stubs_dot_platform__iface__pb2.scheduleAOResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def getValue(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,
            '/platform_iface.platformIface/getValue',
            grpc__stubs_dot_platform__iface__pb2.getValueRequest.SerializeToString,
            grpc__stubs_dot_platform__iface__pb2.getValueResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def setValue(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,
            '/platform_iface.platformIface/setValue',
            grpc__stubs_dot_platform__iface__pb2.setValueRequest.SerializeToString,
            grpc__stubs_dot_platform__iface__pb2.setValueResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def getEvents(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,
            '/platform_iface.platformIface/getEvents',
            grpc__stubs_dot_platform__iface__pb2.getEventsRequest.SerializeToString,
            grpc__stubs_dot_platform__iface__pb2.getEventsResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def getDIEvents(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,
            '/platform_iface.platformIface/getDIEvents',
            grpc__stubs_dot_platform__iface__pb2.getDIEventsRequest.SerializeToString,
            grpc__stubs_dot_platform__iface__pb2.getDIEventsResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def getSystemStatus(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,
            '/platform_iface.platformIface/getSystemStatus',
            grpc__stubs_dot_platform__iface__pb2.getSystemStatusRequest.SerializeToString,
            grpc__stubs_dot_platform__iface__pb2.getSystemStatusResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def getInputVoltage(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,
            '/platform_iface.platformIface/getInputVoltage',
            grpc__stubs_dot_platform__iface__pb2.getInputVoltageRequest.SerializeToString,
            grpc__stubs_dot_platform__iface__pb2.getInputVoltageResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def getSystemPower(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,
            '/platform_iface.platformIface/getSystemPower',
            grpc__stubs_dot_platform__iface__pb2.getSystemPowerRequest.SerializeToString,
            grpc__stubs_dot_platform__iface__pb2.getSystemPowerResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def getTemperature(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,
            '/platform_iface.platformIface/getTemperature',
            grpc__stubs_dot_platform__iface__pb2.getTemperatureRequest.SerializeToString,
            grpc__stubs_dot_platform__iface__pb2.getTemperatureResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def getIoTable(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,
            '/platform_iface.platformIface/getIoTable',
            grpc__stubs_dot_platform__iface__pb2.getIoTableRequest.SerializeToString,
            grpc__stubs_dot_platform__iface__pb2.getIoTableResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def syncRtcTime(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,
            '/platform_iface.platformIface/syncRtcTime',
            grpc__stubs_dot_platform__iface__pb2.syncRtcTimeRequest.SerializeToString,
            grpc__stubs_dot_platform__iface__pb2.syncRtcTimeResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def getLocation(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,
            '/platform_iface.platformIface/getLocation',
            grpc__stubs_dot_platform__iface__pb2.getLocationRequest.SerializeToString,
            grpc__stubs_dot_platform__iface__pb2.getLocationResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def getShutdownImmunity(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,
            '/platform_iface.platformIface/getShutdownImmunity',
            grpc__stubs_dot_platform__iface__pb2.getShutdownImmunityRequest.SerializeToString,
            grpc__stubs_dot_platform__iface__pb2.getShutdownImmunityResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def setShutdownImmunity(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,
            '/platform_iface.platformIface/setShutdownImmunity',
            grpc__stubs_dot_platform__iface__pb2.setShutdownImmunityRequest.SerializeToString,
            grpc__stubs_dot_platform__iface__pb2.setShutdownImmunityResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def scheduleStartup(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,
            '/platform_iface.platformIface/scheduleStartup',
            grpc__stubs_dot_platform__iface__pb2.scheduleStartupRequest.SerializeToString,
            grpc__stubs_dot_platform__iface__pb2.scheduleStartupResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def scheduleShutdown(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,
            '/platform_iface.platformIface/scheduleShutdown',
            grpc__stubs_dot_platform__iface__pb2.scheduleShutdownRequest.SerializeToString,
            grpc__stubs_dot_platform__iface__pb2.scheduleShutdownResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def reboot(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,
            '/platform_iface.platformIface/reboot',
            grpc__stubs_dot_platform__iface__pb2.rebootRequest.SerializeToString,
            grpc__stubs_dot_platform__iface__pb2.rebootResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def shutdown(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,
            '/platform_iface.platformIface/shutdown',
            grpc__stubs_dot_platform__iface__pb2.shutdownRequest.SerializeToString,
            grpc__stubs_dot_platform__iface__pb2.shutdownResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def loadFirmware(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,
            '/platform_iface.platformIface/loadFirmware',
            grpc__stubs_dot_platform__iface__pb2.loadFirmwareRequest.SerializeToString,
            grpc__stubs_dot_platform__iface__pb2.loadFirmwareResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def loadBootloader(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,
            '/platform_iface.platformIface/loadBootloader',
            grpc__stubs_dot_platform__iface__pb2.loadBootloaderRequest.SerializeToString,
            grpc__stubs_dot_platform__iface__pb2.loadBootloaderResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def getFirmwareVersion(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,
            '/platform_iface.platformIface/getFirmwareVersion',
            grpc__stubs_dot_platform__iface__pb2.getFirmwareVersionRequest.SerializeToString,
            grpc__stubs_dot_platform__iface__pb2.getFirmwareVersionResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)
