Source code for autopilot.gui.plots.info

from time import time

import numpy as np
from PySide2 import QtWidgets, QtCore


[docs]class Timer(QtWidgets.QLabel): """ A simple timer that counts... time... Uses a :class:`QtCore.QTimer` connected to :meth:`.Timer.update_time` . """ def __init__(self): # type: () -> None super(Timer, self).__init__() self.timer = QtCore.QTimer() self.timer.timeout.connect(self.update_time) self.start_time = None
[docs] def start_timer(self, update_interval=1000): """ Args: update_interval (float): How often (in ms) the timer should be updated. """ self.start_time = time() self.timer.start(update_interval)
[docs] def stop_timer(self): """ you can read the sign ya punk """ self.timer.stop() self.setText("")
[docs] def update_time(self): """ Called every (update_interval) milliseconds to set the text of the timer. """ secs_elapsed = int(np.floor(time()-self.start_time)) self.setText("{:02d}:{:02d}:{:02d}".format(int(secs_elapsed/3600), int((secs_elapsed/60))%60, secs_elapsed%60))