Minor refactoring and more support for recording data.
This commit is contained in:
@@ -5,6 +5,7 @@ import time
|
||||
import car.control.motorService_pb2 as motorService_pb2
|
||||
import car.control.motorService_pb2_grpc as motorService_pb2_grpc
|
||||
from car.control.gpio.recording_vehicle_decorator import VehicleRecordingDecorator
|
||||
import google.protobuf.empty_pb2 as empty
|
||||
|
||||
|
||||
class MotorServicer(motorService_pb2_grpc.CarControlServicer):
|
||||
@@ -12,7 +13,7 @@ class MotorServicer(motorService_pb2_grpc.CarControlServicer):
|
||||
self.vehicle = VehicleRecordingDecorator(vehicle)
|
||||
self._timer = None
|
||||
|
||||
def SetThrottle(self, request, context):
|
||||
def set_throttle(self, request, context):
|
||||
# gRPC streams currently don't work between python and android.
|
||||
# If we don't get a response every 3 seconds, stop the car.
|
||||
print('Setting throttle to: ' + str(request.throttle))
|
||||
@@ -20,7 +21,7 @@ class MotorServicer(motorService_pb2_grpc.CarControlServicer):
|
||||
self.vehicle.throttle = request.throttle
|
||||
return motorService_pb2.ThrottleResponse(throttleSet=True)
|
||||
|
||||
def SetSteering(self, request, context):
|
||||
def set_steering(self, request, context):
|
||||
print('Setting steering to: ' + str(request.steering))
|
||||
self.vehicle.steering = request.steering
|
||||
return motorService_pb2.SteeringResponse(steeringSet=True)
|
||||
@@ -40,9 +41,11 @@ class MotorServicer(motorService_pb2_grpc.CarControlServicer):
|
||||
print("Node timeout elapsed")
|
||||
self.vehicle.stop()
|
||||
|
||||
def Record(self, request, context):
|
||||
def record(self, request, context):
|
||||
"""Indicate whether the vehicle data should be recorded."""
|
||||
self.vehicle.record = request.record
|
||||
return empty.Empty()
|
||||
|
||||
def SaveRecordedData(self, request, context):
|
||||
def save_recorded_data(self, request, context):
|
||||
self.vehicle.save_data(request.file)
|
||||
return empty.Empty()
|
||||
|
||||
@@ -9,6 +9,7 @@ from car.tracking.devices.recording_lidar import RecordingLidarDecorator
|
||||
from car.messaging import messages
|
||||
import car.tracking.algorithms as alg
|
||||
import os
|
||||
import google.protobuf.empty_pb2 as empty
|
||||
|
||||
|
||||
class LidarServicer(PersonTrackingServicer):
|
||||
@@ -28,15 +29,22 @@ class LidarServicer(PersonTrackingServicer):
|
||||
def set_tracking_group(self, request, context):
|
||||
# Invalid groups should stop tracking
|
||||
self._tracked_group = None if request.value < 0 else request.value
|
||||
return empty.Empty()
|
||||
|
||||
def stop_tracking(self, request, context):
|
||||
self._should_stream = False
|
||||
self.cache.stop_scanning()
|
||||
return empty.Empty()
|
||||
|
||||
def start_tracking(self, request, context):
|
||||
"""Starts the lidar cache, streaming on the provided port."""
|
||||
self._should_stream = True
|
||||
self.cache.start_cache()
|
||||
return empty.Empty()
|
||||
|
||||
def record(self, request, context):
|
||||
self._lidar.record = True
|
||||
return empty.Empty()
|
||||
|
||||
def onGroupsChanged(self, message):
|
||||
if self._mFactory is None:
|
||||
|
||||
Reference in New Issue
Block a user