[supervision] Fix edit flight plan in GCS.

This commit is contained in:
Fabien-B
2023-09-06 18:53:35 +02:00
committed by Freek van Tienen
parent a40e0fa4e1
commit f2ed1adfec
4 changed files with 13 additions and 8 deletions
+3 -2
View File
@@ -1,4 +1,5 @@
<program command="sw/ground_segment/cockpit/gcs" name="Flight Plan Editor">
<arg flag="-edit" />
<program command="sw/tools/gcs_launch.py" name="Flight Plan Editor">
<arg flag="--" />
<arg flag="-f" />
</program>
+6 -6
View File
@@ -5,10 +5,11 @@ import utils
from generated.ui_configuration_panel import Ui_ConfigurationPanel
from program_widget import ProgramWidget, TabProgramsState
from conf import *
from programs_conf import parse_tools
from programs_conf import Tool
import subprocess
class ConfigurationPanel(QWidget, Ui_ConfigurationPanel):
clear_error = QtCore.pyqtSignal()
@@ -67,13 +68,12 @@ class ConfigurationPanel(QWidget, Ui_ConfigurationPanel):
self.currentAC.radio = self.conf_widget.radio.path
self.currentAC.telemetry = self.conf_widget.telemetry.path
self.ac_edited.emit(self.currentAC)
def handle_tools_changed(self, tools: Dict[str, Tool]):
if "Flight Plan Editor" in tools:
self.flight_plan_editor = tools["Flight Plan Editor"]
def edit_flightplan_gcs(self, path):
if self.flight_plan_editor is None:
tools = parse_tools()
if "Flight Plan Editor" in tools:
self.flight_plan_editor = tools["Flight Plan Editor"]
if self.flight_plan_editor is not None:
cmd = [os.path.join(utils.PAPARAZZI_SRC, self.flight_plan_editor.command)]
for arg in self.flight_plan_editor.args:
+2
View File
@@ -61,6 +61,8 @@ class PprzCenter(QMainWindow, Ui_SupervisionWindow):
self.operation_panel.session.program_spawned.connect(self.header.disable_sets)
self.operation_panel.session.programs_all_stopped.connect(self.header.enable_sets)
self.operation_panel.session.tools_changed.connect(self.configuration_panel.handle_tools_changed)
self.configuration_panel.splitter.splitterMoved.connect(self.update_left_pane_width)
settings = utils.get_settings()
window_size = settings.value("ui/window_size", QtCore.QSize(1000, 600), QtCore.QSize)
+2
View File
@@ -22,6 +22,7 @@ class SessionWidget(QWidget, Ui_Session):
programs_all_stopped = QtCore.pyqtSignal()
program_spawned = QtCore.pyqtSignal()
program_state_changed = QtCore.pyqtSignal(TabProgramsState)
tools_changed = QtCore.pyqtSignal(dict) # Dict[str, Tool]
def __init__(self, parent=None):
QWidget.__init__(self, parent=parent)
@@ -63,6 +64,7 @@ class SessionWidget(QWidget, Ui_Session):
current_cp = self.control_panel_combo.currentText()
self.sessions = parse_sessions(current_cp)
self.tools = parse_tools(current_cp)
self.tools_changed.emit(self.tools)
self.init_tools_menu()
sessions_names = [session.name for session in self.sessions]
self.sessions_combo.clear()