mirror of
https://github.com/OSURoboticsClub/Rover_2017_2018.git
synced 2025-11-09 02:31:14 +00:00
Fix QObject thread for Map Coordinator
This commit is contained in:
@@ -33,6 +33,10 @@ class RoverMapCoordinator(QtCore.QThread):
|
|||||||
self.run_thread_flag = True
|
self.run_thread_flag = True
|
||||||
self.setup_map_flag = True
|
self.setup_map_flag = True
|
||||||
|
|
||||||
|
self.google_maps_object = None
|
||||||
|
self.map_image = None
|
||||||
|
self.overlay_image = None
|
||||||
|
|
||||||
# setup map
|
# setup map
|
||||||
self._setup_map_threads()
|
self._setup_map_threads()
|
||||||
|
|
||||||
@@ -40,21 +44,28 @@ class RoverMapCoordinator(QtCore.QThread):
|
|||||||
self.logger.debug("Starting Map Coordinator Thread")
|
self.logger.debug("Starting Map Coordinator Thread")
|
||||||
|
|
||||||
while self.run_thread_flag:
|
while self.run_thread_flag:
|
||||||
self.msleep(10)
|
if self.setup_map_flag:
|
||||||
|
self.__map_setup()
|
||||||
|
self.setup_map_flag = False
|
||||||
|
else:
|
||||||
|
self._get_map_image()
|
||||||
|
self.msleep(3)
|
||||||
|
|
||||||
self.__wait_for_map_thread()
|
|
||||||
self.logger.debug("Stopping Map Coordinator Thread")
|
self.logger.debug("Stopping Map Coordinator Thread")
|
||||||
|
|
||||||
def _setup_map_threads(self):
|
def _setup_map_threads(self):
|
||||||
self.map_thread = RoverMap.GMapsStitcher(1280,
|
self.google_maps_object = RoverMap.GMapsStitcher(1280,
|
||||||
720, 44.567161, -123.278432,
|
720,
|
||||||
18, 'terrain', None, 20)
|
44.567161,
|
||||||
|
-123.278432,
|
||||||
|
18,
|
||||||
|
'terrain',
|
||||||
|
None, 20)
|
||||||
|
|
||||||
def pixmap_ready_slot(self):
|
def _get_map_image(self):
|
||||||
self.mapping_label.setPixmap(self.map_thread.display_image)
|
self.map_image = self.google_maps_object.display_image
|
||||||
|
# get overlay here
|
||||||
def __wait_for_map_thread(self):
|
self.pixmap_ready_signal.emit()
|
||||||
self.map_thread.wait()
|
|
||||||
|
|
||||||
def on_kill_threads_requested_slot(self):
|
def on_kill_threads_requested_slot(self):
|
||||||
self.run_thread_flag = False
|
self.run_thread_flag = False
|
||||||
@@ -66,4 +77,4 @@ class RoverMapCoordinator(QtCore.QThread):
|
|||||||
kill_signal.connect(self.on_kill_threads_requested_slot)
|
kill_signal.connect(self.on_kill_threads_requested_slot)
|
||||||
|
|
||||||
def connect_signals_and_slots(self):
|
def connect_signals_and_slots(self):
|
||||||
self.map_thread.image_ready_signal.connect(self.pixmap_ready_slot)
|
self.image_ready_signal.connect(self.pixmap_ready_slot)
|
||||||
|
|||||||
Reference in New Issue
Block a user