class DataRecorder(): def __init__(self, drone, lock): self.lock = lock self.drone = drone self.dm = DataManager(self.drone) self.done = False t = Thread(target = self.record) t.start() def record(self): t = 0 prev = time.time() now = 0 while(not self.done): prevT = t with self.lock: t, vel, pos, quat = self.drone.getState() self.dm.saveImg(t) self.dm.writeToFile(t, vel, pos, quat) # this also saves img now = time.time() elapsed = now - prev while (elapsed < 0.09): now = time.time() elapsed = now - prev dt = (t - prevT) / 10 ** 9 print(1 / dt) prev = now self.dm.closeFile()
def main(): vehicle = MyVehicle() dm = DataManager(vehicle) t = 0 prev = time.time() now = 0 for i in range(0, 10): prevT = t t, vel, pos, quat = vehicle.getState() dm.saveImg(t) dm.writeToFile(t, vel, pos, quat) # this also saves img now = time.time() elapsed = now - prev while (elapsed < 0.09): now = time.time() elapsed = now - prev dt = (t - prevT) / 10**9 print(1 / dt) prev = now dm.closeFile() # print(t) # print(vel) # print(pos) # print(quat) vehicle.reset()