diff --git a/MotorControl/MotorServer.py b/MotorControl/MotorServer.py index 9faafa0..cbc408c 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('/dev/ttyUSB0') def create_credentials(self): pvtKeyPath = '/home/pi/tls/device.key' 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))