From cf95a46c7dd4fce46380bb2942564b245b727d3a Mon Sep 17 00:00:00 2001 From: Corwin Perren Date: Thu, 12 Apr 2018 12:08:13 -0700 Subject: [PATCH] Spacenav mouse now broadcasts states for use with gui. --- .../Framework/InputSystems/SpaceNavControlSender.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/software/ros_packages/ground_station/src/Framework/InputSystems/SpaceNavControlSender.py b/software/ros_packages/ground_station/src/Framework/InputSystems/SpaceNavControlSender.py index 891b331..1dfd6d4 100644 --- a/software/ros_packages/ground_station/src/Framework/InputSystems/SpaceNavControlSender.py +++ b/software/ros_packages/ground_station/src/Framework/InputSystems/SpaceNavControlSender.py @@ -19,6 +19,8 @@ THREAD_HERTZ = 15 # Controller Class Definition ##################################### class SpaceNavControlSender(QtCore.QThread): + spacenav_state_update__signal = QtCore.pyqtSignal(object) + GUI_MODE = 0 ARM_MODE = 1 @@ -93,8 +95,6 @@ class SpaceNavControlSender(QtCore.QThread): 5: "f_pressed" } - - self.current_control_mode = self.GUI_MODE def run(self): @@ -105,6 +105,8 @@ class SpaceNavControlSender(QtCore.QThread): start_time = time() self.process_spnav_events() + self.check_control_mode_change() + self.broadcast_control_state() time_diff = time() - start_time @@ -134,6 +136,11 @@ class SpaceNavControlSender(QtCore.QThread): elif self.spnav_states["2_pressed"]: self.current_control_mode = self.ARM_MODE + def broadcast_control_state(self): + if self.current_control_mode == self.GUI_MODE: + self.spacenav_state_update__signal.emit(self.spnav_states) + elif self.current_control_mode == self.ARM_MODE: + pass def connect_signals_and_slots(self): pass