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]