mirror of
https://github.com/OSURoboticsClub/Rover_2017_2018.git
synced 2025-11-09 10:41:15 +00:00
Map now loads. Changed launcher to match monitors.
This commit is contained in:
@@ -2,7 +2,9 @@
|
|||||||
# Imports
|
# Imports
|
||||||
#####################################
|
#####################################
|
||||||
# Python native imports
|
# Python native imports
|
||||||
from PyQt5 import QtCore, QtWidgets
|
from PyQt5 import QtCore, QtWidgets, QtGui
|
||||||
|
from PIL.ImageQt import ImageQt
|
||||||
|
|
||||||
import logging
|
import logging
|
||||||
|
|
||||||
import rospy
|
import rospy
|
||||||
@@ -17,7 +19,7 @@ import RoverMap
|
|||||||
|
|
||||||
|
|
||||||
class RoverMapCoordinator(QtCore.QThread):
|
class RoverMapCoordinator(QtCore.QThread):
|
||||||
pixmap_ready_signal = QtCore.pyqtSignal(str)
|
pixmap_ready_signal = QtCore.pyqtSignal()
|
||||||
|
|
||||||
def __init__(self, shared_objects):
|
def __init__(self, shared_objects):
|
||||||
super(RoverMapCoordinator, self).__init__()
|
super(RoverMapCoordinator, self).__init__()
|
||||||
@@ -37,15 +39,14 @@ class RoverMapCoordinator(QtCore.QThread):
|
|||||||
self.map_image = None
|
self.map_image = None
|
||||||
self.overlay_image = None
|
self.overlay_image = None
|
||||||
|
|
||||||
# setup map
|
self.map_pixmap = None
|
||||||
self._setup_map_threads()
|
|
||||||
|
|
||||||
def run(self):
|
def run(self):
|
||||||
self.logger.debug("Starting Map Coordinator Thread")
|
self.logger.debug("Starting Map Coordinator Thread")
|
||||||
|
|
||||||
while self.run_thread_flag:
|
while self.run_thread_flag:
|
||||||
if self.setup_map_flag:
|
if self.setup_map_flag:
|
||||||
self.__map_setup()
|
self._map_setup()
|
||||||
self.setup_map_flag = False
|
self.setup_map_flag = False
|
||||||
else:
|
else:
|
||||||
self._get_map_image()
|
self._get_map_image()
|
||||||
@@ -62,19 +63,33 @@ class RoverMapCoordinator(QtCore.QThread):
|
|||||||
'terrain',
|
'terrain',
|
||||||
None, 20)
|
None, 20)
|
||||||
|
|
||||||
|
def _map_setup(self):
|
||||||
|
self.google_maps_object = RoverMap.GMapsStitcher(1280,
|
||||||
|
720,
|
||||||
|
44.567161,
|
||||||
|
-123.278432,
|
||||||
|
18,
|
||||||
|
'terrain',
|
||||||
|
None, 20)
|
||||||
def _get_map_image(self):
|
def _get_map_image(self):
|
||||||
self.map_image = self.google_maps_object.display_image
|
self.map_image = self.google_maps_object.display_image
|
||||||
# get overlay here
|
# get overlay here
|
||||||
|
qim = ImageQt(self.map_image)
|
||||||
|
self.map_pixmap = QtGui.QPixmap.fromImage(qim)
|
||||||
self.pixmap_ready_signal.emit()
|
self.pixmap_ready_signal.emit()
|
||||||
|
|
||||||
|
def connect_signals_and_slots(self):
|
||||||
|
self.pixmap_ready_signal.connect(self.pixmap_ready__slot)
|
||||||
|
|
||||||
def on_kill_threads_requested_slot(self):
|
def on_kill_threads_requested_slot(self):
|
||||||
self.run_thread_flag = False
|
self.run_thread_flag = False
|
||||||
|
|
||||||
def setup_signals(self, start_signal, signals_and_slots_signal,
|
def setup_signals(self, start_signal, signals_and_slots_signal,
|
||||||
kill_signal):
|
kill_signal):
|
||||||
start_signal.connect(self.start)
|
start_signal.connect(self.start)
|
||||||
signals_and_slots_signal(self.connect_signals_and_slots)
|
signals_and_slots_signal.connect(self.connect_signals_and_slots)
|
||||||
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 pixmap_ready__slot(self):
|
||||||
self.image_ready_signal.connect(self.pixmap_ready_slot)
|
self.logger.info("Made it")
|
||||||
|
self.mapping_label.setPixmap(self.map_pixmap)
|
||||||
|
|||||||
@@ -55,8 +55,8 @@ class ApplicationWindow(QtWidgets.QMainWindow):
|
|||||||
# GroundStation Class Definition
|
# GroundStation Class Definition
|
||||||
#####################################
|
#####################################
|
||||||
class GroundStation(QtCore.QObject):
|
class GroundStation(QtCore.QObject):
|
||||||
LEFT_SCREEN_ID = 0
|
LEFT_SCREEN_ID = 1
|
||||||
RIGHT_SCREEN_ID = 1
|
RIGHT_SCREEN_ID = 0
|
||||||
|
|
||||||
exit_requested_signal = QtCore.pyqtSignal()
|
exit_requested_signal = QtCore.pyqtSignal()
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user