Files
autopilot/timer.py

37 lines
845 B
Python

import time
class Timer:
elapsed: float
last_enabled: float
enabled: bool
def __init__(self):
self.elapsed = 0.
self.enabled = False
def get_diff(self) -> float:
if not self.enabled: return 0.
return time.time() - self.last_enabled
def start(self):
if self.enabled: return
self.enabled = True
self.last_enabled = time.time()
def stop(self):
self.elapsed += self.get_diff()
self.enabled = False
def get_elapsed(self) -> float:
return self.elapsed + self.get_diff()
def reset(self):
self.elapsed = 0.
self.enabled = False
self.last_enabled = 0.
def loop(self) -> float:
v = self.get_diff()
self.stop()
self.start()
return v