From 8356ebd35ccc95bf74842c8838f4b4113288ccff Mon Sep 17 00:00:00 2001 From: michaelpivato Date: Wed, 12 Feb 2020 12:03:24 +1030 Subject: [PATCH 1/3] Bind and start socket in start method, not initialiser. --- SlamController/slam_streamer.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/SlamController/slam_streamer.py b/SlamController/slam_streamer.py index f062a36..ed80ffe 100644 --- a/SlamController/slam_streamer.py +++ b/SlamController/slam_streamer.py @@ -18,7 +18,7 @@ class SlamStreamer: self._map_meters = map_meters self._lidar_connection = lidar_connection self._port = port - self._socket = self._start_socket(self._create_tcp_pub_socket(), port) + self._zmq_context = self._create_context() def start(self): ''' @@ -31,6 +31,8 @@ class SlamStreamer: to calling this method, and changing those values after calling this method will have no effect. ''' + + self._socket = self._start_socket(self._create_socket(self._zmq_context), self._port) # Block until user opens zmq. self._socket.recv() @@ -80,8 +82,8 @@ class SlamStreamer: def _create_context(self): return zmq.Context.instance() - def _create_tcp_pub_socket(self): - return self._create_context().socket(zmq.PAIR) + def _create_socket(self, context): + return context.socket(zmq.PAIR) def _start_socket(self, socket, port): socket.bind('tcp://*:' + str(self._port)) From f7d08ae31fd050446849b36e67438cf6b3f76cb5 Mon Sep 17 00:00:00 2001 From: Piv <18462828+Piv200@users.noreply.github.com> Date: Wed, 12 Feb 2020 17:40:05 +1030 Subject: [PATCH 2/3] Add slam servicer to server, not streamer. --- MotorControl/MotorServer.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/MotorControl/MotorServer.py b/MotorControl/MotorServer.py index f175a37..59a7920 100755 --- a/MotorControl/MotorServer.py +++ b/MotorControl/MotorServer.py @@ -10,7 +10,7 @@ import grpc import MotorControl.motorService_pb2 as motorService_pb2 import MotorControl.motorService_pb2_grpc as motorService_pb2_grpc from MotorControl.gpiozero.motor_session import Motor -from SlamController.slam_streamer import SlamStreamer +from SlamController.slam_servicer import SlamServicer import SlamController.SlamController_pb2_grpc as SlamController_pb2_grpc @@ -63,7 +63,7 @@ class MotorServicer(motorService_pb2_grpc.CarControlServicer): time.sleep(60*60) def create_slam_servicer(self): - return SlamStreamer() + return SlamServicer() def create_credentials(self): pvtKeyPath = '/home/pi/tls/device.key' From 5993dc2072fd807bffe2ac0ebd5be826d181878e Mon Sep 17 00:00:00 2001 From: Piv <18462828+Piv200@users.noreply.github.com> Date: Wed, 12 Feb 2020 17:41:04 +1030 Subject: [PATCH 3/3] Add lidar connection --- MotorControl/MotorServer.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MotorControl/MotorServer.py b/MotorControl/MotorServer.py index 59a7920..67807d9 100755 --- a/MotorControl/MotorServer.py +++ b/MotorControl/MotorServer.py @@ -63,7 +63,7 @@ class MotorServicer(motorService_pb2_grpc.CarControlServicer): time.sleep(60*60) def create_slam_servicer(self): - return SlamServicer() + return SlamServicer('/dev/ttyUSB0') def create_credentials(self): pvtKeyPath = '/home/pi/tls/device.key'