def __init__(self, connections: Dict[str, Connection], rocket_profile: RocketProfile) -> None:
        """

        :param connections:
        :param rocket_profile:
        """
        super().__init__(connections, rocket_profile)

        self.map_data = map_data.MapData()
        self.im = None  # Plot im

        self.command_history = []
        self.command_history_index = None

        # Attach functions for static buttons
        self.sendButton.clicked.connect(self.send_button_pressed)
        self.actionSave.triggered.connect(self.save_file)
        self.actionSave.setShortcut("Ctrl+S")
        self.actionReset.triggered.connect(self.reset_view)

        # Hook into some of commandEdit's events
        qtHook(self.commandEdit, 'focusNextPrevChild', lambda _: False, override_return=True)  # Prevents tab from changing focus
        qtHook(self.commandEdit, 'keyPressEvent', self.command_edit_key_pressed)
        qtHook(self.commandEdit, 'showPopup', self.command_edit_show_popup)

        # Hook-up logger to UI text output
        # Note: Currently doesn't print logs from other processes (e.g. mapping process)
        log_format = logging.Formatter("[%(asctime)s] (%(levelname)s) %(message)s")
        log_handler = qtSignalLogHandler(exception_traces=False)
        log_handler.setLevel(logging.INFO)
        log_handler.setFormatter(log_format)
        log_handler.qt_signal.connect(self.print_to_ui)
        LOGGER.addHandler(log_handler)

        # Setup dynamic UI elements
        self.setup_buttons()
        self.setup_labels()
        self.setup_subwindow().showMaximized()
        self.setup_view_menu()

        self.setWindowIcon(QtGui.QIcon(mapbox_utils.MARKER_PATH))

        # Setup user window preferences
        self.original_geometry = self.saveGeometry()
        self.original_state = self.saveState()
        self.settings = QtCore.QSettings('UBCRocket', 'UBCRGS')
        self.restore_view()

        # Init and connection of MappingThread
        self.MappingThread = MappingThread(self.connections, self.map_data, self.rocket_data, self.rocket_profile)
        self.MappingThread.sig_received.connect(self.receive_map)
        self.MappingThread.start()

        LOGGER.info(f"Successfully started app (version = {GIT_HASH})")
    def __init__(self, connections: Dict[str, Connection], rocket_profile: RocketProfile) -> None:
        """

        :param connection:
        :type connection: Connection
        :param rocket_profile:
        :type rocket_profile: RocketProfile
        """
        super().__init__(connections, rocket_profile)

        self.map = map_data.MapData()

        self.im = None  # Plot im

        # Attach functions for static buttons
        self.sendButton.clicked.connect(self.send_button_pressed)
        self.commandEdit.returnPressed.connect(self.send_button_pressed)
        self.actionSave.triggered.connect(self.save_file)
        self.actionSave.setShortcut("Ctrl+S")
        self.actionReset.triggered.connect(self.reset_view)

        # Hook-up logger to UI text output
        # Note: Currently doesnt print logs from other processes (e.g. mapping process)
        log_format = logging.Formatter("[%(asctime)s] (%(levelname)s) %(message)s")
        log_handler = qtSignalLogHandler(exception_traces=False)
        log_handler.setLevel(logging.INFO)
        log_handler.setFormatter(log_format)
        log_handler.qt_signal.connect(self.print_to_ui)
        LOGGER.addHandler(log_handler)

        self.setup_buttons()
        self.setup_labels()
        self.setup_subwindow().showMaximized()

        self.setWindowIcon(QtGui.QIcon(mapbox_utils.MARKER_PATH))

        self.original_geometry = self.saveGeometry()
        self.original_state = self.saveState()
        self.settings = QtCore.QSettings('UBCRocket', 'UBCRGS')
        self.restore_view()

        # Init and connection of MappingThread
        self.MappingThread = MappingThread(self.connections, self.map, self.rocket_data, self.rocket_profile)
        self.MappingThread.sig_received.connect(self.receive_map)
        self.MappingThread.start()

        LOGGER.info(f"Successfully started app (version = {GIT_HASH})")