Starting qthread for WaypointCoordinator and disables

This commit is contained in:
Chris Pham
2018-03-17 14:48:03 -07:00
parent 87bffcff0b
commit a8e12d184b
2 changed files with 21 additions and 4 deletions

View File

@@ -9,11 +9,13 @@ class WaypointsCoordinator(QtCore.QThread):
def __init__(self, shared_objects): def __init__(self, shared_objects):
super(WaypointsCoordinator, self).init() super(WaypointsCoordinator, self).init()
self.run_thread_flag = True
self.shared_objects = shared_objects self.shared_objects = shared_objects
self.left_screen = self.shared_objects["screens"]["left_screen"] self.left_screen = self.shared_objects["screens"]["left_screen"]
self.navigation_label = self.left_screen.navigation_waypoints_table_widget self.navigation_label = (self.left_screen.
navigation_waypoints_table_widget)
self.landmark_label = self.left_screen.landmark_waypoints_table_widget self.landmark_label = self.left_screen.landmark_waypoints_table_widget
self.name_edit_label = (self.left_screen. self.name_edit_label = (self.left_screen.
@@ -27,6 +29,10 @@ class WaypointsCoordinator(QtCore.QThread):
self.logger = logging.getLogger("groundstation") self.logger = logging.getLogger("groundstation")
def run(self):
while self.run_thread_flag:
self.msleep(3)
def connect_signals_and_slots(self): def connect_signals_and_slots(self):
self.new_manual_waypoint_entry.connect(self.update_manual_entry) self.new_manual_waypoint_entry.connect(self.update_manual_entry)
@@ -34,11 +40,20 @@ class WaypointsCoordinator(QtCore.QThread):
# self. # self.
self.navigation_label.cellClicked.connect(self._on_nav_clicked) self.navigation_label.cellClicked.connect(self._on_nav_clicked)
self.landmark_label.cellClicked.connect(self.__on_land_clicked) self.landmark_label.cellClicked.connect(self._on_land_clicked)
def setup_signals(self, start_signal,
signals_and_slots_signal, kill_signal):
start_signal.connect(self.start)
signals_and_slots_signal.connect(self.connect_signals_and_slots)
kill_signal.connect(self.on_kill_threads_requested_slot)
def on_kill_threads_requested__slot(self):
self.run_thread_flag = False
def update_manual_entry(self, name, lat, lng, table): def update_manual_entry(self, name, lat, lng, table):
if table == 1: self.name_edit_label.readOnly(table % 2)
self.name_edit_label.setText(name) self.name_edit_label.setText(name)
self.latitude_label.setText(lat) self.latitude_label.setText(lat)
self.longitude_label.set(lng) self.longitude_label.set(lng)

View File

@@ -17,6 +17,7 @@ import Framework.VideoSystems.RoverVideoCoordinator as RoverVideoCoordinator
import Framework.MapSystems.RoverMapCoordinator as RoverMapCoordinator import Framework.MapSystems.RoverMapCoordinator as RoverMapCoordinator
import Framework.JoystickControlSystems.JoystickControlSender as JoystickControlSender import Framework.JoystickControlSystems.JoystickControlSender as JoystickControlSender
import Framework.NavigationSystems.SpeedAndHeadingIndication as SpeedAndHeading import Framework.NavigationSystems.SpeedAndHeadingIndication as SpeedAndHeading
import Framework.NavigationSystems.WaypointsCoordinator as WaypointsCoordinator
import Framework.ArmSystems.ArmIndication as ArmIndication import Framework.ArmSystems.ArmIndication as ArmIndication
import Framework.StatusSystems.StatusCore as StatusCore import Framework.StatusSystems.StatusCore as StatusCore
import Framework.SettingsSystems.UbiquitiRadioSettings as UbiquitiRadioSettings import Framework.SettingsSystems.UbiquitiRadioSettings as UbiquitiRadioSettings
@@ -107,6 +108,7 @@ class GroundStation(QtCore.QObject):
self.__add_thread("Arm Indication", ArmIndication.ArmIndication(self.shared_objects)) self.__add_thread("Arm Indication", ArmIndication.ArmIndication(self.shared_objects))
self.__add_thread("Rover Status", StatusCore.SensorCore(self.shared_objects)) self.__add_thread("Rover Status", StatusCore.SensorCore(self.shared_objects))
self.__add_thread("Ubiquiti Radio Settings", UbiquitiRadioSettings.UbiquitiRadioSettings(self.shared_objects)) self.__add_thread("Ubiquiti Radio Settings", UbiquitiRadioSettings.UbiquitiRadioSettings(self.shared_objects))
self.__add_thread("Waypoints Coordinator", WaypointsCoordinator.WaypointsCoordinator(self.shared_objects))
self.connect_signals_and_slots_signal.emit() self.connect_signals_and_slots_signal.emit()
self.__connect_signals_to_slots() self.__connect_signals_to_slots()