TIdy up, regenerate slam proto to include port

This commit is contained in:
Piv
2020-02-12 20:29:25 +10:30
parent a7d5e8010f
commit 1d69b7cbbb
3 changed files with 29 additions and 18 deletions

View File

@@ -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)

View File

@@ -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',

View File

@@ -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()