From 00f7e0875d0fede2443ab82444106b4543c77992 Mon Sep 17 00:00:00 2001 From: Ken Steinfeldt Date: Thu, 1 Mar 2018 14:33:12 -0800 Subject: [PATCH 1/9] 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 From d9bcbebe01c2ee586538ee6ac03bc42227569326 Mon Sep 17 00:00:00 2001 From: Ken Steinfeldt Date: Thu, 8 Mar 2018 15:24:20 -0800 Subject: [PATCH 2/9] clock and timer elements --- .../src/Resources/Ui/left_screen.ui | 65 ++++++++++++++----- 1 file changed, 49 insertions(+), 16 deletions(-) diff --git a/software/ros_packages/ground_station/src/Resources/Ui/left_screen.ui b/software/ros_packages/ground_station/src/Resources/Ui/left_screen.ui index ac1d018..ea5086c 100644 --- a/software/ros_packages/ground_station/src/Resources/Ui/left_screen.ui +++ b/software/ros_packages/ground_station/src/Resources/Ui/left_screen.ui @@ -39,7 +39,16 @@ 0 - + + 0 + + + 0 + + + 0 + + 0 @@ -68,18 +77,27 @@ - + + 0 + + + 0 + + + 0 + + 0 0 - + 0 - + @@ -121,7 +139,7 @@ Connected - + @@ -166,7 +184,7 @@ Connected - + @@ -208,7 +226,7 @@ Connected - + @@ -250,7 +268,7 @@ Fix - + @@ -292,7 +310,7 @@ Connected - + @@ -334,7 +352,7 @@ Connected - + @@ -376,7 +394,7 @@ Connected - + @@ -418,7 +436,7 @@ Connected - + @@ -459,7 +477,7 @@ Connected - + @@ -501,7 +519,7 @@ Connected - + @@ -546,7 +564,7 @@ Connected - + @@ -591,6 +609,12 @@ Connected + + + + + + @@ -747,7 +771,16 @@ Connected - + + 0 + + + 0 + + + 0 + + 0 From 3eac5910d264e20cd42c4f23ac034d6fe7280615 Mon Sep 17 00:00:00 2001 From: Ken Steinfeldt Date: Thu, 8 Mar 2018 15:42:18 -0800 Subject: [PATCH 3/9] StatusCore init --- .../ground_station/src/Framework/StatusSystems/StatusCore.py | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 software/ros_packages/ground_station/src/Framework/StatusSystems/StatusCore.py diff --git a/software/ros_packages/ground_station/src/Framework/StatusSystems/StatusCore.py b/software/ros_packages/ground_station/src/Framework/StatusSystems/StatusCore.py new file mode 100644 index 0000000..e69de29 From 10750a7a5f67922385f4c9e54a86af52d9008df6 Mon Sep 17 00:00:00 2001 From: Ken Steinfeldt Date: Thu, 8 Mar 2018 16:03:31 -0800 Subject: [PATCH 4/9] small amount of cleanup for some missed changes --- .../src/Framework/StatusSystems/StatusCore.py | 94 +++++++++++++++++++ .../rover_status/msg/RoverSysStatus.msg | 35 +++---- .../rover_status/src/system_statuses_node.py | 2 +- 3 files changed, 113 insertions(+), 18 deletions(-) diff --git a/software/ros_packages/ground_station/src/Framework/StatusSystems/StatusCore.py b/software/ros_packages/ground_station/src/Framework/StatusSystems/StatusCore.py index e69de29..31632a0 100644 --- a/software/ros_packages/ground_station/src/Framework/StatusSystems/StatusCore.py +++ b/software/ros_packages/ground_station/src/Framework/StatusSystems/StatusCore.py @@ -0,0 +1,94 @@ +#!/usr/bin/env python + +import rospy +from rover_status.msg import * +from PyQt5 import QtWidgets, QtCore, QtGui, uic + + +class SensorCore(QtCore.QThread): + + def __init__(self, screen): + super(SensorCore, self).__init__() + + self.not_abort = True + + self.screen_main_window = screen + + self.cpu_read = self.screen_main_window.lineEdit # type: QtWidgets.QLabel + self.ram_read = self.screen_main_window.lineEdit_2 # type: QtWidgets.QLabel + + rospy.init_node('SensorCore') + + # self.pub = rospy.Publisher('rover_statuses_chatter', RoverSysStatus, queue_size=10) + + # Subscription examples on pulling data from system_statuses_node.py + rospy.Subscriber('camera_system_status_chatter', CameraStatuses, self.__camera_callback) + rospy.Subscriber('bogie_system_status_chatter', BogieStatuses, self.__bogie_callback) + rospy.Subscriber('FrSky_system_status_chatter', FrSkyStatus, self.__frsky_callback) + rospy.Subscriber('GPS_system_status_chatter', GPSInfo, self.__gps_callback) + rospy.Subscriber('jetson_system_status_chatter', JetsonInfo, self.__jetson_callback) + rospy.Subscriber('misc_system_status_chatter', MiscStatuses, self.__misc_callback) + + self.camera_msg = CameraStatuses() + self.bogie_msg = BogieStatuses() + self.FrSky_msg = FrSkyStatus() + self.GPS_msg = GPSInfo() + self.jetson_msg = JetsonInfo() + self.misc_msg = MiscStatuses() + + def __camera_callback(self, data): + self.camera_msg.camera_zed = data.camera_zed + self.camera_msg.camera_undercarriage = data.camera_undercarriage + self.camera_msg.camera_chassis = data.camera_chassis + self.camera_msg.camera_main_navigation = data.camera_main_navigation + + def __frsky_callback(self, data): + self.FrSky_msg.FrSky_controller_connection_status = data.FrSky_controller_connection_status + + def __bogie_callback(self, data): + self.bogie_msg.bogie_connection_1 = data.bogie_connection_1 + self.bogie_msg.bogie_connection_2 = data.bogie_connection_2 + self.bogie_msg.bogie_connection_3 = data.bogie_connection_3 + + def __jetson_callback(self, data): + self.jetson_msg.jetson_CPU = data.jetson_CPU + self.cpu_read.setText(str(self.jetson_msg.jetson_CPU)) + self.jetson_msg.jetson_RAM = data.jetson_RAM + self.ram_read.setText(str(self.jetson_msg.jetson_RAM)) + self.jetson_msg.jetson_EMMC = data.jetson_EMMC + self.jetson_msg.jetson_NVME_SSD = data.jetson_NVME_SSD + #rospy.loginfo(self.jetson_msg) + + def __gps_callback(self, data): + self.GPS_msg.UTC_GPS_time = data.UTC_GPS_time + self.GPS_msg.GPS_connection_status = data.GPS_connection_status + + def __misc_callback(self, data): + self.misc_msg.arm_connection_status = data.arm_connection_status + self.misc_msg.arm_end_effector_connection_statuses = data.arm_end_effector_connection_statuses + self.misc_msg.sample_containment_connection_status = data.sample_containment_connection_status + self.misc_msg.tower_connection_status = data.tower_connection_status + self.misc_msg.chassis_pan_tilt_connection_status = data.chassis_pan_tilt_connection_status + + def run(self): + rospy.Subscriber('camera_system_status_chatter', CameraStatuses, self.__camera_callback) + rospy.Subscriber('bogie_system_status_chatter', BogieStatuses, self.__bogie_callback) + rospy.Subscriber('FrSky_system_status_chatter', FrSkyStatus, self.__frsky_callback) + rospy.Subscriber('GPS_system_status_chatter', GPSInfo, self.__gps_callback) + rospy.Subscriber('jetson_system_status_chatter', JetsonInfo, self.__jetson_callback) + rospy.Subscriber('misc_system_status_chatter', MiscStatuses, self.__misc_callback) + #self.gui_element = self.jetson_msg.jetson_CPU + #print(self.jetson_msg.jetson_CPU) + rospy.spin() + + + def on_kill_threads_requested__slot(self): + self.not_abort = False + + def connect_signals_and_slots(self): + pass + + +if __name__ == '__main__': + rover_statuses = SensorCore() + rover_statuses.run() \ No newline at end of file diff --git a/software/ros_packages/rover_status/msg/RoverSysStatus.msg b/software/ros_packages/rover_status/msg/RoverSysStatus.msg index d181327..b5f45a7 100644 --- a/software/ros_packages/rover_status/msg/RoverSysStatus.msg +++ b/software/ros_packages/rover_status/msg/RoverSysStatus.msg @@ -1,19 +1,20 @@ int8 UTC_GPS_time -int8 bogie_connection_1 -int8 bogie_connection_2 -int8 bogie_connection_3 -int8 arm_connection_status -int8 arm_end_effector_connection_statuses -int8 camera_zed -int8 camera_undercarriage -int8 camera_chassis -int8 camera_main_navigation -int8 sample_containment_connection_status -int8 tower_connection_status -int8 chassis_pan_tilt_connection_status +bool bogie_connection_1 +bool bogie_connection_2 +bool bogie_connection_3 +bool arm_connection_status +bool arm_end_effector_connection_statuses +bool camera_zed +bool camera_undercarriage +bool camera_chassis +bool camera_main_navigation +bool sample_containment_connection_status +bool tower_connection_status +bool chassis_pan_tilt_connection_status int8 GPS_connection_status -int8 jetson_CPU -int8 jetson_RAM -int8 jetson_EMMC -int8 jetson_NVME_SSD -int8 FrSky_controller_connection_status \ No newline at end of file +float64 jetson_CPU +float64 jetson_RAM +float64 jetson_EMMC +float64 jetson_NVME_SSD +float64 jetson_GPU_temp +bool FrSky_controller_connection_status \ No newline at end of file diff --git a/software/ros_packages/rover_status/src/system_statuses_node.py b/software/ros_packages/rover_status/src/system_statuses_node.py index da09ba7..0660d3c 100755 --- a/software/ros_packages/rover_status/src/system_statuses_node.py +++ b/software/ros_packages/rover_status/src/system_statuses_node.py @@ -158,7 +158,7 @@ class SystemStatuses: .replace("\n", "").replace("+", "").split() self.jetson_msg.jetson_GPU_temp = float(parsed_temps[4]) except subprocess.CalledProcessError: - print 'sensors call failed (potential reason: on VM)' + print('sensors call failed (potential reason: on VM)') self.jetson_msg.jetson_GPU_temp = -1.0 # EMMC and NVMe_SSD used % calculation From 8d200cdfc7aadee9e73291a790ef70f4bd79eb52 Mon Sep 17 00:00:00 2001 From: Ken Steinfeldt Date: Tue, 13 Mar 2018 11:52:49 -0700 Subject: [PATCH 5/9] rename ui elements, fill in StatusCore --- .../src/Framework/StatusSystems/StatusCore.py | 62 ++++++++++++++++++- .../src/Resources/Ui/left_screen.ui | 24 +++---- 2 files changed, 72 insertions(+), 14 deletions(-) diff --git a/software/ros_packages/ground_station/src/Framework/StatusSystems/StatusCore.py b/software/ros_packages/ground_station/src/Framework/StatusSystems/StatusCore.py index 31632a0..01f5fc9 100644 --- a/software/ros_packages/ground_station/src/Framework/StatusSystems/StatusCore.py +++ b/software/ros_packages/ground_station/src/Framework/StatusSystems/StatusCore.py @@ -17,6 +17,21 @@ class SensorCore(QtCore.QThread): self.cpu_read = self.screen_main_window.lineEdit # type: QtWidgets.QLabel self.ram_read = self.screen_main_window.lineEdit_2 # type: QtWidgets.QLabel + self.rover_conn = self.screen_main_window.rover # type: QtWidgets.QLabel + self.frsky = self.screen_main_window.frsky # type: QtWidgets.QLabel + self.nav_mouse = self.screen_main_window.nav_mouse # type: QtWidgets.QLabel + self.joystick = self.screen_main_window.joystick # type: QtWidgets.QLabel + self.gps = self.screen_main_window.gps # type: QtWidgets.QLabel + self.zed = self.screen_main_window.zed # type: QtWidgets.QLabel + self.main_cam = self.screen_main_window.main_cam # type: QtWidgets.QLabel + self.chassis_cam = self.screen_main_window.chassis_cam # type: QtWidgets.QLabel + self.under_cam = self.screen_main_window.under_cam # type: QtWidgets.QLabel + self.bogie_right = self.screen_main_window.right_bogie # type: QtWidgets.QLabel + self.bogie_left = self.screen_main_window.left_bogie # type: QtWidgets.QLabel + self.bogie_rear = self.screen_main_window.rear_bogie # type: QtWidgets.QLabel + self.clock = self.screen_main_window.clock # type: QtWidgets.QLCDNumber + + rospy.init_node('SensorCore') # self.pub = rospy.Publisher('rover_statuses_chatter', RoverSysStatus, queue_size=10) @@ -42,14 +57,53 @@ class SensorCore(QtCore.QThread): self.camera_msg.camera_chassis = data.camera_chassis self.camera_msg.camera_main_navigation = data.camera_main_navigation + if self.camera_msg.camera_zed is False: + self.zed.setStyleSheet("background-color: red;") + else: + self.zed.setStyleSheet("") + + if self.camera_msg.camera_undercarriage is False: + self.under_cam.setStyleSheet("background-color: red;") + else: + self.under_cam.setStyleSheet("") + + if self.camera_msg.camera_chassis is False: + self.chassis_cam.setStyleSheet("background-color: red;") + else: + self.chassis_cam.setStyleSheet("") + + if self.camera_msg.camera_main_navigation is False: + self.main_cam.setStyleSheet("background-color: red;") + else: + self.main_cam.setStyleSheet("") + def __frsky_callback(self, data): self.FrSky_msg.FrSky_controller_connection_status = data.FrSky_controller_connection_status + if self.FrSky_msg.FrSky_controller_connection_status is False: + self.frsky.setStyleSheet("background-color: red;") + else: + self.frsky.setStyleSheet("") def __bogie_callback(self, data): self.bogie_msg.bogie_connection_1 = data.bogie_connection_1 self.bogie_msg.bogie_connection_2 = data.bogie_connection_2 self.bogie_msg.bogie_connection_3 = data.bogie_connection_3 + if self.bogie_msg.bogie_connection_1 is False: + self.bogie_right.setStyleSheet("background-color: red;") + else: + self.bogie_right.setStyleSheet("") + + if self.bogie_msg.bogie_connection_2 is False: + self.bogie_left.setStyleSheet("background-color: red;") + else: + self.bogie_left.setStyleSheet("") + + if self.bogie_msg.bogie_connection_3 is False: + self.bogie_rear.setStyleSheet("background-color: red;") + else: + self.bogie_rear.setStyleSheet("") + def __jetson_callback(self, data): self.jetson_msg.jetson_CPU = data.jetson_CPU self.cpu_read.setText(str(self.jetson_msg.jetson_CPU)) @@ -63,6 +117,11 @@ class SensorCore(QtCore.QThread): self.GPS_msg.UTC_GPS_time = data.UTC_GPS_time self.GPS_msg.GPS_connection_status = data.GPS_connection_status + if self.GPS_msg.GPS_connection_status is False: + self.gps.setStyleSheet("background-color: red") + else: + self.gps.setStyleSheet("") + def __misc_callback(self, data): self.misc_msg.arm_connection_status = data.arm_connection_status self.misc_msg.arm_end_effector_connection_statuses = data.arm_end_effector_connection_statuses @@ -81,7 +140,6 @@ class SensorCore(QtCore.QThread): #print(self.jetson_msg.jetson_CPU) rospy.spin() - def on_kill_threads_requested__slot(self): self.not_abort = False @@ -91,4 +149,4 @@ class SensorCore(QtCore.QThread): if __name__ == '__main__': rover_statuses = SensorCore() - rover_statuses.run() \ No newline at end of file + rover_statuses.run() diff --git a/software/ros_packages/ground_station/src/Resources/Ui/left_screen.ui b/software/ros_packages/ground_station/src/Resources/Ui/left_screen.ui index ea5086c..0daad68 100644 --- a/software/ros_packages/ground_station/src/Resources/Ui/left_screen.ui +++ b/software/ros_packages/ground_station/src/Resources/Ui/left_screen.ui @@ -98,7 +98,7 @@ 0 - + 0 @@ -140,7 +140,7 @@ Connected - + 0 @@ -185,7 +185,7 @@ Connected - + 0 @@ -227,7 +227,7 @@ Connected - + 0 @@ -269,7 +269,7 @@ Fix - + 0 @@ -311,7 +311,7 @@ Connected - + 0 @@ -353,7 +353,7 @@ Connected - + 0 @@ -395,7 +395,7 @@ Connected - + 0 @@ -437,7 +437,7 @@ Connected - + 0 @@ -478,7 +478,7 @@ Connected - + 0 @@ -520,7 +520,7 @@ Connected - + 0 @@ -565,7 +565,7 @@ Connected - + 0 From 42ed37071ab294866660c546c7cf8a5c1eb82996 Mon Sep 17 00:00:00 2001 From: Ken Steinfeldt Date: Tue, 13 Mar 2018 17:49:01 -0700 Subject: [PATCH 6/9] hook-up clock, cpu and ram % --- .../src/Framework/StatusSystems/StatusCore.py | 20 +++++- .../src/Resources/Ui/left_screen.ui | 72 ++++++++++++++----- 2 files changed, 75 insertions(+), 17 deletions(-) diff --git a/software/ros_packages/ground_station/src/Framework/StatusSystems/StatusCore.py b/software/ros_packages/ground_station/src/Framework/StatusSystems/StatusCore.py index 01f5fc9..cf08fb9 100644 --- a/software/ros_packages/ground_station/src/Framework/StatusSystems/StatusCore.py +++ b/software/ros_packages/ground_station/src/Framework/StatusSystems/StatusCore.py @@ -30,6 +30,7 @@ class SensorCore(QtCore.QThread): self.bogie_left = self.screen_main_window.left_bogie # type: QtWidgets.QLabel self.bogie_rear = self.screen_main_window.rear_bogie # type: QtWidgets.QLabel self.clock = self.screen_main_window.clock # type: QtWidgets.QLCDNumber + self.cpu = self.screen_main_window.cpu # type: QtWidgets.QLabel rospy.init_node('SensorCore') @@ -79,6 +80,7 @@ class SensorCore(QtCore.QThread): def __frsky_callback(self, data): self.FrSky_msg.FrSky_controller_connection_status = data.FrSky_controller_connection_status + if self.FrSky_msg.FrSky_controller_connection_status is False: self.frsky.setStyleSheet("background-color: red;") else: @@ -106,9 +108,20 @@ class SensorCore(QtCore.QThread): def __jetson_callback(self, data): self.jetson_msg.jetson_CPU = data.jetson_CPU - self.cpu_read.setText(str(self.jetson_msg.jetson_CPU)) + + # self.cpu_read.setText(str(self.jetson_msg.jetson_CPU)) + self.cpu.setText(str(self.jetson_msg.jetson_CPU)) + if self.jetson_msg.jetson_CPU > 79: + self.cpu.setStyleSheet("background-color: orange;") + elif self.jetson_msg.jetson_CPU > 89: + self.cpu.setStyleSheet("background-color: red;") + else: + self.cpu.setStyleSheet("") + self.jetson_msg.jetson_RAM = data.jetson_RAM + self.ram_read.setText(str(self.jetson_msg.jetson_RAM)) + self.jetson_msg.jetson_EMMC = data.jetson_EMMC self.jetson_msg.jetson_NVME_SSD = data.jetson_NVME_SSD #rospy.loginfo(self.jetson_msg) @@ -129,6 +142,11 @@ class SensorCore(QtCore.QThread): self.misc_msg.tower_connection_status = data.tower_connection_status self.misc_msg.chassis_pan_tilt_connection_status = data.chassis_pan_tilt_connection_status + def __display_time(self): + time = QtCore.QTime.currentTime() + temp = time.toString('hh:mm:ss') + self.clock.display(temp) + def run(self): rospy.Subscriber('camera_system_status_chatter', CameraStatuses, self.__camera_callback) rospy.Subscriber('bogie_system_status_chatter', BogieStatuses, self.__bogie_callback) diff --git a/software/ros_packages/ground_station/src/Resources/Ui/left_screen.ui b/software/ros_packages/ground_station/src/Resources/Ui/left_screen.ui index 0daad68..549553b 100644 --- a/software/ros_packages/ground_station/src/Resources/Ui/left_screen.ui +++ b/software/ros_packages/ground_station/src/Resources/Ui/left_screen.ui @@ -97,7 +97,37 @@ 0 - + + + + background-color: darkgreen; + + + placeholder + + + + + + + background-color: darkgreen; + + + <html><head/><body><p align="center"><span style=" font-weight:600;">CPU %</span></p></body></html> + + + + + + + background-color: darkgreen; + + + placeholder + + + + @@ -139,7 +169,7 @@ Connected - + @@ -184,7 +214,7 @@ Connected - + @@ -226,7 +256,7 @@ Connected - + @@ -268,7 +298,7 @@ Fix - + @@ -310,7 +340,7 @@ Connected - + @@ -352,7 +382,7 @@ Connected - + @@ -394,7 +424,7 @@ Connected - + @@ -436,7 +466,7 @@ Connected - + @@ -477,7 +507,7 @@ Connected - + @@ -519,7 +549,7 @@ Connected - + @@ -564,7 +594,10 @@ Connected - + + + + @@ -609,12 +642,19 @@ Connected - - - - + + + + + background-color: darkgreen; + + + <html><head/><body><p align="center"><span style=" font-weight:600;">RAM</span></p></body></html> + + + From e13c3b0f498644a28553a94603396d94681bf709 Mon Sep 17 00:00:00 2001 From: Ken Steinfeldt Date: Tue, 13 Mar 2018 17:53:25 -0700 Subject: [PATCH 7/9] actually hook up ram this time --- .../src/Framework/StatusSystems/StatusCore.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/software/ros_packages/ground_station/src/Framework/StatusSystems/StatusCore.py b/software/ros_packages/ground_station/src/Framework/StatusSystems/StatusCore.py index cf08fb9..1931d2a 100644 --- a/software/ros_packages/ground_station/src/Framework/StatusSystems/StatusCore.py +++ b/software/ros_packages/ground_station/src/Framework/StatusSystems/StatusCore.py @@ -31,6 +31,7 @@ class SensorCore(QtCore.QThread): self.bogie_rear = self.screen_main_window.rear_bogie # type: QtWidgets.QLabel self.clock = self.screen_main_window.clock # type: QtWidgets.QLCDNumber self.cpu = self.screen_main_window.cpu # type: QtWidgets.QLabel + self.ram = self.screen_main_window.ram # type: QtWidgets.QLabel rospy.init_node('SensorCore') @@ -119,8 +120,13 @@ class SensorCore(QtCore.QThread): self.cpu.setStyleSheet("") self.jetson_msg.jetson_RAM = data.jetson_RAM - - self.ram_read.setText(str(self.jetson_msg.jetson_RAM)) + self.ram.setText(str(self.jetson_msg.jetson_RAM)) + if self.jetson_msg.jetson_RAM > 79: + self.ram.setStyleSheet("background-color: orange;") + elif self.jetson_msg.jetson_RAM > 89: + self.ram.setStyleSheet("background-color: red;") + else: + self.ram.setStyleSheet("") self.jetson_msg.jetson_EMMC = data.jetson_EMMC self.jetson_msg.jetson_NVME_SSD = data.jetson_NVME_SSD From 4b57b532318d97e81e44bbab5ba91151ee38634d Mon Sep 17 00:00:00 2001 From: Ken Steinfeldt Date: Tue, 13 Mar 2018 17:54:32 -0700 Subject: [PATCH 8/9] fix ui name (ram) error --- .../ros_packages/ground_station/src/Resources/Ui/left_screen.ui | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/software/ros_packages/ground_station/src/Resources/Ui/left_screen.ui b/software/ros_packages/ground_station/src/Resources/Ui/left_screen.ui index 549553b..6ece544 100644 --- a/software/ros_packages/ground_station/src/Resources/Ui/left_screen.ui +++ b/software/ros_packages/ground_station/src/Resources/Ui/left_screen.ui @@ -646,7 +646,7 @@ Connected - + background-color: darkgreen; From f48384f1438dbf6094bad5685e663cc024b09bb7 Mon Sep 17 00:00:00 2001 From: Ken Steinfeldt Date: Tue, 13 Mar 2018 18:17:13 -0700 Subject: [PATCH 9/9] add update request publisher --- .../src/Framework/StatusSystems/StatusCore.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/software/ros_packages/ground_station/src/Framework/StatusSystems/StatusCore.py b/software/ros_packages/ground_station/src/Framework/StatusSystems/StatusCore.py index 1931d2a..a39b2ff 100644 --- a/software/ros_packages/ground_station/src/Framework/StatusSystems/StatusCore.py +++ b/software/ros_packages/ground_station/src/Framework/StatusSystems/StatusCore.py @@ -3,6 +3,9 @@ import rospy from rover_status.msg import * from PyQt5 import QtWidgets, QtCore, QtGui, uic +from std_msgs.msg import Empty + +REQUEST_UPDATE_TOPIC = "/rover_status/update_requested" class SensorCore(QtCore.QThread): @@ -53,6 +56,10 @@ class SensorCore(QtCore.QThread): self.jetson_msg = JetsonInfo() self.misc_msg = MiscStatuses() + self.req = rospy.Publisher(REQUEST_UPDATE_TOPIC, Empty, queue_size=1) + + self.req.publish(Empty()) + def __camera_callback(self, data): self.camera_msg.camera_zed = data.camera_zed self.camera_msg.camera_undercarriage = data.camera_undercarriage