diff --git a/MotorControl/MotorServer.py b/MotorControl/MotorServer.py index cec81ae..85ea65f 100644 --- a/MotorControl/MotorServer.py +++ b/MotorControl/MotorServer.py @@ -16,6 +16,10 @@ class MotorServicer(motorService_pb2_grpc.CarControlServicer): self._timer = None def SetThrottle(self, request, context): + # If we don't get a response every 3 seconds, stop the car. + # This isn't a stream right now, however may change it to be so since we'll constantly + # be sending values... + self.set_timeout(timeout_length) return motorService_pb2.ThrottleResponse(throttleSet = (True if self.motor.set_throttle(request.throttle) else False)) def SetSteering(self, request, context): @@ -23,12 +27,6 @@ class MotorServicer(motorService_pb2_grpc.CarControlServicer): self.servo.value = request.steering return motorService_pb2.SteeringResponse(steeringSet = True) - def Heartbeat(self, request, context): - # If we don't get a response every 3 seconds, stop the car. - # This isn't a stream right now, however may change it to be so since we'll constantly - # be sending values... - self.set_timeout(timeout_length) - def set_timeout(self, min_timeout): """Stops the old timer and restarts it to the specified time. diff --git a/MotorControl/motorService_pb2.py b/MotorControl/motorService_pb2.py index 0509271..66d01d2 100644 --- a/MotorControl/motorService_pb2.py +++ b/MotorControl/motorService_pb2.py @@ -20,7 +20,7 @@ DESCRIPTOR = _descriptor.FileDescriptor( package='MotorControl', syntax='proto3', serialized_options=None, - serialized_pb=_b('\n\x12motorService.proto\x12\x0cMotorControl\"#\n\x0fThrottleRequest\x12\x10\n\x08throttle\x18\x01 \x01(\x02\"\'\n\x10ThrottleResponse\x12\x13\n\x0bthrottleSet\x18\x01 \x01(\x08\"#\n\x0fSteeringRequest\x12\x10\n\x08steering\x18\x01 \x01(\x02\"\'\n\x10SteeringResponse\x12\x13\n\x0bsteeringSet\x18\x01 \x01(\x08\"\"\n\x0eHeartbeatCheck\x12\x10\n\x08\x63ontinue\x18\x01 \x01(\x08\".\n\x16HeartbeatCheckResponse\x12\x14\n\x0c\x65rrorMessage\x18\x01 \x01(\t2\x81\x02\n\nCarControl\x12N\n\x0bSetThrottle\x12\x1d.MotorControl.ThrottleRequest\x1a\x1e.MotorControl.ThrottleResponse\"\x00\x12N\n\x0bSetSteering\x12\x1d.MotorControl.SteeringRequest\x1a\x1e.MotorControl.SteeringResponse\"\x00\x12S\n\tHeartbeat\x12\x1c.MotorControl.HeartbeatCheck\x1a$.MotorControl.HeartbeatCheckResponse\"\x00(\x01\x62\x06proto3') + serialized_pb=_b('\n\x12motorService.proto\x12\x0cMotorControl\"#\n\x0fThrottleRequest\x12\x10\n\x08throttle\x18\x01 \x01(\x02\"\'\n\x10ThrottleResponse\x12\x13\n\x0bthrottleSet\x18\x01 \x01(\x08\"#\n\x0fSteeringRequest\x12\x10\n\x08steering\x18\x01 \x01(\x02\"\'\n\x10SteeringResponse\x12\x13\n\x0bsteeringSet\x18\x01 \x01(\x08\x32\xae\x01\n\nCarControl\x12P\n\x0bSetThrottle\x12\x1d.MotorControl.ThrottleRequest\x1a\x1e.MotorControl.ThrottleResponse\"\x00(\x01\x12N\n\x0bSetSteering\x12\x1d.MotorControl.SteeringRequest\x1a\x1e.MotorControl.SteeringResponse\"\x00\x62\x06proto3') ) @@ -149,74 +149,10 @@ _STEERINGRESPONSE = _descriptor.Descriptor( serialized_end=190, ) - -_HEARTBEATCHECK = _descriptor.Descriptor( - name='HeartbeatCheck', - full_name='MotorControl.HeartbeatCheck', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='continue', full_name='MotorControl.HeartbeatCheck.continue', index=0, - number=1, type=8, cpp_type=7, label=1, - has_default_value=False, default_value=False, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=192, - serialized_end=226, -) - - -_HEARTBEATCHECKRESPONSE = _descriptor.Descriptor( - name='HeartbeatCheckResponse', - full_name='MotorControl.HeartbeatCheckResponse', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='errorMessage', full_name='MotorControl.HeartbeatCheckResponse.errorMessage', index=0, - number=1, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=228, - serialized_end=274, -) - DESCRIPTOR.message_types_by_name['ThrottleRequest'] = _THROTTLEREQUEST DESCRIPTOR.message_types_by_name['ThrottleResponse'] = _THROTTLERESPONSE DESCRIPTOR.message_types_by_name['SteeringRequest'] = _STEERINGREQUEST DESCRIPTOR.message_types_by_name['SteeringResponse'] = _STEERINGRESPONSE -DESCRIPTOR.message_types_by_name['HeartbeatCheck'] = _HEARTBEATCHECK -DESCRIPTOR.message_types_by_name['HeartbeatCheckResponse'] = _HEARTBEATCHECKRESPONSE _sym_db.RegisterFileDescriptor(DESCRIPTOR) ThrottleRequest = _reflection.GeneratedProtocolMessageType('ThrottleRequest', (_message.Message,), { @@ -247,20 +183,6 @@ SteeringResponse = _reflection.GeneratedProtocolMessageType('SteeringResponse', }) _sym_db.RegisterMessage(SteeringResponse) -HeartbeatCheck = _reflection.GeneratedProtocolMessageType('HeartbeatCheck', (_message.Message,), { - 'DESCRIPTOR' : _HEARTBEATCHECK, - '__module__' : 'motorService_pb2' - # @@protoc_insertion_point(class_scope:MotorControl.HeartbeatCheck) - }) -_sym_db.RegisterMessage(HeartbeatCheck) - -HeartbeatCheckResponse = _reflection.GeneratedProtocolMessageType('HeartbeatCheckResponse', (_message.Message,), { - 'DESCRIPTOR' : _HEARTBEATCHECKRESPONSE, - '__module__' : 'motorService_pb2' - # @@protoc_insertion_point(class_scope:MotorControl.HeartbeatCheckResponse) - }) -_sym_db.RegisterMessage(HeartbeatCheckResponse) - _CARCONTROL = _descriptor.ServiceDescriptor( @@ -269,8 +191,8 @@ _CARCONTROL = _descriptor.ServiceDescriptor( file=DESCRIPTOR, index=0, serialized_options=None, - serialized_start=277, - serialized_end=534, + serialized_start=193, + serialized_end=367, methods=[ _descriptor.MethodDescriptor( name='SetThrottle', @@ -290,15 +212,6 @@ _CARCONTROL = _descriptor.ServiceDescriptor( output_type=_STEERINGRESPONSE, serialized_options=None, ), - _descriptor.MethodDescriptor( - name='Heartbeat', - full_name='MotorControl.CarControl.Heartbeat', - index=2, - containing_service=None, - input_type=_HEARTBEATCHECK, - output_type=_HEARTBEATCHECKRESPONSE, - serialized_options=None, - ), ]) _sym_db.RegisterServiceDescriptor(_CARCONTROL) diff --git a/MotorControl/motorService_pb2_grpc.py b/MotorControl/motorService_pb2_grpc.py index b6d624a..995aec8 100644 --- a/MotorControl/motorService_pb2_grpc.py +++ b/MotorControl/motorService_pb2_grpc.py @@ -14,7 +14,7 @@ class CarControlStub(object): Args: channel: A grpc.Channel. """ - self.SetThrottle = channel.unary_unary( + self.SetThrottle = channel.stream_unary( '/MotorControl.CarControl/SetThrottle', request_serializer=motorService__pb2.ThrottleRequest.SerializeToString, response_deserializer=motorService__pb2.ThrottleResponse.FromString, @@ -24,18 +24,13 @@ class CarControlStub(object): request_serializer=motorService__pb2.SteeringRequest.SerializeToString, response_deserializer=motorService__pb2.SteeringResponse.FromString, ) - self.Heartbeat = channel.stream_unary( - '/MotorControl.CarControl/Heartbeat', - request_serializer=motorService__pb2.HeartbeatCheck.SerializeToString, - response_deserializer=motorService__pb2.HeartbeatCheckResponse.FromString, - ) class CarControlServicer(object): # missing associated documentation comment in .proto file pass - def SetThrottle(self, request, context): + def SetThrottle(self, request_iterator, context): # missing associated documentation comment in .proto file pass context.set_code(grpc.StatusCode.UNIMPLEMENTED) @@ -49,17 +44,10 @@ class CarControlServicer(object): context.set_details('Method not implemented!') raise NotImplementedError('Method not implemented!') - def Heartbeat(self, request_iterator, context): - # missing associated documentation comment in .proto file - pass - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - def add_CarControlServicer_to_server(servicer, server): rpc_method_handlers = { - 'SetThrottle': grpc.unary_unary_rpc_method_handler( + 'SetThrottle': grpc.stream_unary_rpc_method_handler( servicer.SetThrottle, request_deserializer=motorService__pb2.ThrottleRequest.FromString, response_serializer=motorService__pb2.ThrottleResponse.SerializeToString, @@ -69,11 +57,6 @@ def add_CarControlServicer_to_server(servicer, server): request_deserializer=motorService__pb2.SteeringRequest.FromString, response_serializer=motorService__pb2.SteeringResponse.SerializeToString, ), - 'Heartbeat': grpc.stream_unary_rpc_method_handler( - servicer.Heartbeat, - request_deserializer=motorService__pb2.HeartbeatCheck.FromString, - response_serializer=motorService__pb2.HeartbeatCheckResponse.SerializeToString, - ), } generic_handler = grpc.method_handlers_generic_handler( 'MotorControl.CarControl', rpc_method_handlers) diff --git a/MotorControl/protos/motorService.proto b/MotorControl/protos/motorService.proto index 4bbde36..011c3a9 100644 --- a/MotorControl/protos/motorService.proto +++ b/MotorControl/protos/motorService.proto @@ -18,16 +18,7 @@ message SteeringResponse{ bool steeringSet = 1; } -message HeartbeatCheck{ - bool continue = 1; -} - -message HeartbeatCheckResponse{ - string errorMessage = 1; -} - service CarControl{ - rpc SetThrottle(ThrottleRequest) returns (ThrottleResponse){} + rpc SetThrottle(stream ThrottleRequest) returns (ThrottleResponse){} rpc SetSteering(SteeringRequest) returns (SteeringResponse){} - rpc Heartbeat(HeartbeatCheck) returns (HeartbeatCheckResponse){} } \ No newline at end of file