From 00f7e0875d0fede2443ab82444106b4543c77992 Mon Sep 17 00:00:00 2001 From: Ken Steinfeldt Date: Thu, 1 Mar 2018 14:33:12 -0800 Subject: [PATCH] adds time, not connected --- .../src/Framework/StatusSystems/Timer.py | 64 +++++++++++++++++++ .../src/Framework/StatusSystems/__init__.py | 0 2 files changed, 64 insertions(+) create mode 100644 software/ros_packages/ground_station/src/Framework/StatusSystems/Timer.py create mode 100644 software/ros_packages/ground_station/src/Framework/StatusSystems/__init__.py diff --git a/software/ros_packages/ground_station/src/Framework/StatusSystems/Timer.py b/software/ros_packages/ground_station/src/Framework/StatusSystems/Timer.py new file mode 100644 index 0000000..b734925 --- /dev/null +++ b/software/ros_packages/ground_station/src/Framework/StatusSystems/Timer.py @@ -0,0 +1,64 @@ +#!/usr/bin/env python2 + +import sys + +from PyQt5 import Qt +from PyQt5.uic import loadUi + +# [ms] +TICK_TIME = 2**6 + + +class Timer(Qt.QMainWindow): + def __init__(self, parent=None): + super().__init__(parent) + + self.reset.clicked.connect(self.do_reset) + self.start.clicked.connect(self.do_start) + + self.timer = Qt.QTimer() + self.timer.setInterval(TICK_TIME) + self.timer.timeout.connect(self.tick) + + self.do_reset() + + def keyPressEvent(self, event): + if event.key() == Qt.Qt.Key_Escape: + self.close() + else: + super().keyPressEvent(event) + + def display(self): + self.lcd.display("%d:%05.2f" % (self.time // 60, self.time % 60)) + + @Qt.pyqtSlot() + def tick(self): + self.time += TICK_TIME/1000 + self.display() + + @Qt.pyqtSlot() + def do_start(self): + self.timer.start() + self.start.setText("Pause") + self.start.clicked.disconnect() + self.start.clicked.connect(self.do_pause) + + @Qt.pyqtSlot() + def do_pause(self): + self.timer.stop() + self.start.setText("Start") + self.start.clicked.disconnect() + self.start.clicked.connect(self.do_start) + + @Qt.pyqtSlot() + def do_reset(self): + self.time = 0 + self.display() + + +app = Qt.QApplication(sys.argv) + +timer = Timer() +timer.show() + +app.exec_() diff --git a/software/ros_packages/ground_station/src/Framework/StatusSystems/__init__.py b/software/ros_packages/ground_station/src/Framework/StatusSystems/__init__.py new file mode 100644 index 0000000..e69de29