import persontracking.lidar_tracker_pb2 as lidar_tracker_pb2 from persontracking.lidar_tracker_pb2_grpc import PersonTrackingServicer from persontracking.lidar_cache import LidarCache from multiprocessing import Process class LidarServicer(PersonTrackingServicer): lidar_thread = None def __init__(self): self.cache = LidarCache(measurements=100) def set_tracking_group(self, request, context): pass def stop_tracking(self, request, context): self.cache.stop_scanning() self.lidar_thread.join() self.lidar_thread = None def start_tracking(self, request, context): ''' Starts the lidar cache. ''' if self.lidar_thread is None: self.lidar_thread = Process(target=self.cache.do_scanning)