From 5745daaf67954bfdf75df48c1aace1bac818515e Mon Sep 17 00:00:00 2001 From: Arthur Golubtsov Date: Wed, 16 Oct 2019 17:10:05 +0300 Subject: [PATCH] Server: Add send calibration files menu function --- Server/server_gui.py | 6 +++++- Server/server_gui.ui | 8 +++++++- Server/server_qt.py | 19 ++++++++++++++++++- 3 files changed, 30 insertions(+), 3 deletions(-) diff --git a/Server/server_gui.py b/Server/server_gui.py index a64c38b..a26363c 100644 --- a/Server/server_gui.py +++ b/Server/server_gui.py @@ -222,12 +222,15 @@ class Ui_MainWindow(object): self.actionSend_any_command.setObjectName("actionSend_any_command") self.action_stop_music = QtWidgets.QAction(MainWindow) self.action_stop_music.setObjectName("action_stop_music") + self.action_send_calibrations = QtWidgets.QAction(MainWindow) + self.action_send_calibrations.setObjectName("action_send_calibrations") self.menuDeveloper_mode.addAction(self.action_send_any_file) self.menuDeveloper_mode.addAction(self.actionSend_any_command) self.menuOptions.addAction(self.action_send_animations) self.menuOptions.addAction(self.action_send_configurations) - self.menuOptions.addAction(self.action_send_Aruco_map) self.menuOptions.addAction(self.action_send_launch_file) + self.menuOptions.addAction(self.action_send_Aruco_map) + self.menuOptions.addAction(self.action_send_calibrations) self.menuOptions.addSeparator() self.menuOptions.addAction(self.menuDeveloper_mode.menuAction()) self.menuOptions.addSeparator() @@ -302,3 +305,4 @@ class Ui_MainWindow(object): self.action_send_any_file.setText(_translate("MainWindow", "Send any file")) self.actionSend_any_command.setText(_translate("MainWindow", "Send any command")) self.action_stop_music.setText(_translate("MainWindow", "Stop music")) + self.action_send_calibrations.setText(_translate("MainWindow", "Send camera calibrations")) diff --git a/Server/server_gui.ui b/Server/server_gui.ui index b734dd4..c9e1fc6 100644 --- a/Server/server_gui.ui +++ b/Server/server_gui.ui @@ -344,8 +344,9 @@ - + + @@ -491,6 +492,11 @@ Stop music + + + Send camera calibrations + + start_delay_spin diff --git a/Server/server_qt.py b/Server/server_qt.py index 328d843..aabcdf8 100644 --- a/Server/server_qt.py +++ b/Server/server_qt.py @@ -131,6 +131,7 @@ class MainWindow(QtWidgets.QMainWindow): self.ui.calibrate_level.clicked.connect(self.calibrate_level_selected) self.ui.action_send_animations.triggered.connect(self.send_animations) + self.ui.action_send_calibrations.triggered.connect(self.send_calibrations) self.ui.action_send_configurations.triggered.connect(self.send_configurations) self.ui.action_send_Aruco_map.triggered.connect(self.send_aruco) self.ui.action_send_launch_file.triggered.connect(self.send_launch) @@ -308,7 +309,7 @@ class MainWindow(QtWidgets.QMainWindow): print("Selected directory:", path) files = [file for file in glob.glob(path + '/*.csv')] names = [os.path.basename(file).split(".")[0] for file in files] - print(files) + # print(files) for file, name in zip(files, names): for copter in self.model.user_selected(): if name == copter.copter_id: @@ -316,6 +317,22 @@ class MainWindow(QtWidgets.QMainWindow): else: print("Filename has no matches with any drone selected") + @pyqtSlot() + def send_calibrations(self): + path = str(QFileDialog.getExistingDirectory(self, "Select directory with calibration files")) + + if path: + print("Selected directory:", path) + files = [file for file in glob.glob(path + '/*.yaml')] + names = [os.path.basename(file).split(".")[0] for file in files] + # print(files) + for file, name in zip(files, names): + for copter in self.model.user_selected(): + if name == copter.copter_id: + copter.client.send_file(file, "/home/pi/catkin_ws/src/clever/clever/camera_info/calibration.yaml") + else: + print("Filename has no matches with any drone selected") + @pyqtSlot() def send_configurations(self): path = QFileDialog.getOpenFileName(self, "Select configuration file", filter="Configs (*.ini *.txt .cfg)")[0]