import numpy as np from datetime import datetime class PlotData(): def __init__(self): self.refresh_rate = 1 # ms self.timeout = 100 # cycles self.data = {"time": np.array([0])} self.start_time = datetime.utcnow() self.queues = {} def append_data(self, sensor_name, data): """ """ if sensor_name not in self.data: self.queues[sensor_name] = [] self.data[sensor_name] = np.full_like(self.data["time"], np.nan) for data_tuple in data.values(): self.queues[sensor_name].append(data_tuple) running = True while running: #TODO timeout clean for que in self.queues.values(): if len(que) == 0: running = False break for sensor,que in self.queues.items(): self.data[sensor] = np.append(self.data[sensor], que[0]) que = que[1:] """ TODO while true clean delte all to old values for q in que: if q is empty return update np array """