From 1d69b7cbbb92e977eee5dd3cd8463abb04d59acb Mon Sep 17 00:00:00 2001 From: Piv <18462828+Piv200@users.noreply.github.com> Date: Wed, 12 Feb 2020 20:29:25 +1030 Subject: [PATCH] TIdy up, regenerate slam proto to include port --- MotorControl/MotorServer.py | 13 ++++++------ SlamController/SlamController_pb2.py | 31 +++++++++++++++++----------- SlamController/slam_servicer.py | 3 +++ 3 files changed, 29 insertions(+), 18 deletions(-) diff --git a/MotorControl/MotorServer.py b/MotorControl/MotorServer.py index f175a37..9faafa0 100755 --- a/MotorControl/MotorServer.py +++ b/MotorControl/MotorServer.py @@ -27,20 +27,19 @@ class MotorServicer(motorService_pb2_grpc.CarControlServicer): print('Setting throttle to: ' + str(request.throttle)) self.set_timeout(3) throttleFailed = self.motor.set_throttle(request.throttle) - return motorService_pb2.ThrottleResponse(throttleSet = throttleFailed) + return motorService_pb2.ThrottleResponse(throttleSet=throttleFailed) def SetSteering(self, request, context): # TODO: Fix this to use the motor object as well to check for bounds. print('Setting steering to: ' + str(request.steering)) self.servo.value = request.steering - return motorService_pb2.SteeringResponse(steeringSet = True) + return motorService_pb2.SteeringResponse(steeringSet=True) def set_timeout(self, min_timeout): """Stops the old timer and restarts it to the specified time. - + min_timeout -- The minimum time that can be used for the timer. - vary_timout -- Default 200, the additional random varying time (0 - vary_timeout) to add to timer. - """ + """ if self._timer is not None: self._timer.cancel() self._timer = Timer(min_timeout, self.timeout_elapsed) @@ -54,7 +53,8 @@ class MotorServicer(motorService_pb2_grpc.CarControlServicer): def start_server(self): server = grpc.server(futures.ThreadPoolExecutor(max_workers=8)) motorService_pb2_grpc.add_CarControlServicer_to_server(self, server) - SlamController_pb2_grpc.add_SlamControlServicer_to_server(self.create_slam_servicer(), server) + SlamController_pb2_grpc.add_SlamControlServicer_to_server( + self.create_slam_servicer(), server) # Disable tls for local testing. # server.add_secure_port('[::]:50051', self.create_credentials()) server.add_insecure_port('[::]:50051') @@ -74,6 +74,7 @@ class MotorServicer(motorService_pb2_grpc.CarControlServicer): return grpc.ssl_server_credentials([[pvtKeyBytes, pvtCertBytes]]) + motor = Motor() servo = Servo(18) servicer = MotorServicer(motor, servo) diff --git a/SlamController/SlamController_pb2.py b/SlamController/SlamController_pb2.py index e2e86d6..66f4b7f 100644 --- a/SlamController/SlamController_pb2.py +++ b/SlamController/SlamController_pb2.py @@ -20,7 +20,7 @@ DESCRIPTOR = _descriptor.FileDescriptor( package='', syntax='proto3', serialized_options=None, - serialized_pb=_b('\n\x14SlamController.proto\"?\n\x0bSlamDetails\x12\x17\n\x0fmap_size_pixels\x18\x01 \x01(\x05\x12\x17\n\x0fmap_size_meters\x18\x02 \x01(\x05\"\x19\n\x07SlamRow\x12\x0e\n\x06points\x18\x01 \x03(\x05\"3\n\x0cSlamLocation\x12\t\n\x01x\x18\x01 \x01(\x05\x12\t\n\x01y\x18\x02 \x01(\x05\x12\r\n\x05theta\x18\x03 \x01(\x05\"8\n\x08SlamScan\x12\x0b\n\x03map\x18\x01 \x01(\x0c\x12\x1f\n\x08location\x18\x02 \x01(\x0b\x32\r.SlamLocation\"\x07\n\x05\x45mpty2`\n\x0bSlamControl\x12-\n\x13start_map_streaming\x12\x0c.SlamDetails\x1a\x06.Empty\"\x00\x12\"\n\x0estop_streaming\x12\x06.Empty\x1a\x06.Empty\"\x00\x62\x06proto3') + serialized_pb=_b('\n\x14SlamController.proto\"M\n\x0bSlamDetails\x12\x17\n\x0fmap_size_pixels\x18\x01 \x01(\x05\x12\x17\n\x0fmap_size_meters\x18\x02 \x01(\x05\x12\x0c\n\x04port\x18\x03 \x01(\x05\"\x19\n\x07SlamRow\x12\x0e\n\x06points\x18\x01 \x03(\x05\"3\n\x0cSlamLocation\x12\t\n\x01x\x18\x01 \x01(\x05\x12\t\n\x01y\x18\x02 \x01(\x05\x12\r\n\x05theta\x18\x03 \x01(\x05\"8\n\x08SlamScan\x12\x0b\n\x03map\x18\x01 \x01(\x0c\x12\x1f\n\x08location\x18\x02 \x01(\x0b\x32\r.SlamLocation\"\x07\n\x05\x45mpty2`\n\x0bSlamControl\x12-\n\x13start_map_streaming\x12\x0c.SlamDetails\x1a\x06.Empty\"\x00\x12\"\n\x0estop_streaming\x12\x06.Empty\x1a\x06.Empty\"\x00\x62\x06proto3') ) @@ -47,6 +47,13 @@ _SLAMDETAILS = _descriptor.Descriptor( message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='port', full_name='SlamDetails.port', index=2, + number=3, type=5, cpp_type=1, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], @@ -60,7 +67,7 @@ _SLAMDETAILS = _descriptor.Descriptor( oneofs=[ ], serialized_start=24, - serialized_end=87, + serialized_end=101, ) @@ -90,8 +97,8 @@ _SLAMROW = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=89, - serialized_end=114, + serialized_start=103, + serialized_end=128, ) @@ -135,8 +142,8 @@ _SLAMLOCATION = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=116, - serialized_end=167, + serialized_start=130, + serialized_end=181, ) @@ -173,8 +180,8 @@ _SLAMSCAN = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=169, - serialized_end=225, + serialized_start=183, + serialized_end=239, ) @@ -197,8 +204,8 @@ _EMPTY = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=227, - serialized_end=234, + serialized_start=241, + serialized_end=248, ) _SLAMSCAN.fields_by_name['location'].message_type = _SLAMLOCATION @@ -252,8 +259,8 @@ _SLAMCONTROL = _descriptor.ServiceDescriptor( file=DESCRIPTOR, index=0, serialized_options=None, - serialized_start=236, - serialized_end=332, + serialized_start=250, + serialized_end=346, methods=[ _descriptor.MethodDescriptor( name='start_map_streaming', diff --git a/SlamController/slam_servicer.py b/SlamController/slam_servicer.py index b2723ea..3cf894e 100644 --- a/SlamController/slam_servicer.py +++ b/SlamController/slam_servicer.py @@ -12,7 +12,9 @@ class SlamServicer(SlamController_pb2_grpc.SlamControlServicer): self.slam = slam.SlamStreamer(lidar_connection=lidar_connection) def start_map_streaming(self, request, context): + print('Slam THread: ' + str(slam_thread)') if self.slam_thread is None: + print('initialising slam_thread') # Don't bother creating and starting slam more than once. self.slam.port = request.port self.slam.map_pixels = request.map_size_pixels @@ -24,4 +26,5 @@ class SlamServicer(SlamController_pb2_grpc.SlamControlServicer): def stop_streaming(self, request, context): if self.slam_thread is not None: self.slam.stop_scanning() + self.slam = None return SlamController_pb2.Empty()