diff --git a/Server/server_gui.py b/Server/server_gui.py
index 1962d02..95a4363 100644
--- a/Server/server_gui.py
+++ b/Server/server_gui.py
@@ -12,7 +12,7 @@ from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_MainWindow(object):
def setupUi(self, MainWindow):
MainWindow.setObjectName("MainWindow")
- MainWindow.resize(1220, 600)
+ MainWindow.resize(1220, 613)
self.centralwidget = QtWidgets.QWidget(MainWindow)
self.centralwidget.setEnabled(True)
self.centralwidget.setObjectName("centralwidget")
@@ -136,6 +136,8 @@ class Ui_MainWindow(object):
self.menubar.setObjectName("menubar")
self.menuOptions = QtWidgets.QMenu(self.menubar)
self.menuOptions.setObjectName("menuOptions")
+ self.menuDeveloper_mode = QtWidgets.QMenu(self.menuOptions)
+ self.menuDeveloper_mode.setObjectName("menuDeveloper_mode")
MainWindow.setMenuBar(self.menubar)
self.action_send_animations = QtWidgets.QAction(MainWindow)
self.action_send_animations.setObjectName("action_send_animations")
@@ -143,9 +145,25 @@ class Ui_MainWindow(object):
self.action_send_configurations.setObjectName("action_send_configurations")
self.action_send_Aruco_map = QtWidgets.QAction(MainWindow)
self.action_send_Aruco_map.setObjectName("action_send_Aruco_map")
+ self.action_update_client_repo = QtWidgets.QAction(MainWindow)
+ self.action_update_client_repo.setObjectName("action_update_client_repo")
+ self.actionSend_launch_file_for_clever = QtWidgets.QAction(MainWindow)
+ self.actionSend_launch_file_for_clever.setObjectName("actionSend_launch_file_for_clever")
+ self.action_send_launch_file = QtWidgets.QAction(MainWindow)
+ self.action_send_launch_file.setObjectName("action_send_launch_file")
+ self.action_restart_clever = QtWidgets.QAction(MainWindow)
+ self.action_restart_clever.setObjectName("action_restart_clever")
+ self.action_restart_clever_show = QtWidgets.QAction(MainWindow)
+ self.action_restart_clever_show.setObjectName("action_restart_clever_show")
+ self.menuDeveloper_mode.addAction(self.action_send_launch_file)
+ self.menuDeveloper_mode.addAction(self.action_restart_clever)
+ self.menuDeveloper_mode.addAction(self.action_restart_clever_show)
+ self.menuDeveloper_mode.addAction(self.action_update_client_repo)
self.menuOptions.addAction(self.action_send_animations)
self.menuOptions.addAction(self.action_send_configurations)
self.menuOptions.addAction(self.action_send_Aruco_map)
+ self.menuOptions.addSeparator()
+ self.menuOptions.addAction(self.menuDeveloper_mode.menuAction())
self.menubar.addAction(self.menuOptions.menuAction())
self.retranslateUi(MainWindow)
@@ -177,8 +195,14 @@ class Ui_MainWindow(object):
self.calibrate_gyro.setText(_translate("MainWindow", "Calibrate gyro"))
self.calibrate_level.setText(_translate("MainWindow", "Calibrate level"))
self.menuOptions.setTitle(_translate("MainWindow", "Actions"))
+ self.menuDeveloper_mode.setTitle(_translate("MainWindow", "Developer mode"))
self.action_send_animations.setText(_translate("MainWindow", "Send Animations"))
self.action_send_configurations.setText(_translate("MainWindow", "Send Configurations"))
self.action_send_Aruco_map.setText(_translate("MainWindow", "Send Aruco map"))
+ self.action_update_client_repo.setText(_translate("MainWindow", "Update client repo"))
+ self.actionSend_launch_file_for_clever.setText(_translate("MainWindow", "Send launch file for clever"))
+ self.action_send_launch_file.setText(_translate("MainWindow", "Send .launch file to clever"))
+ self.action_restart_clever.setText(_translate("MainWindow", "Restart clever service"))
+ self.action_restart_clever_show.setText(_translate("MainWindow", "Restart clever-show service"))
diff --git a/Server/server_gui.ui b/Server/server_gui.ui
index b2ed721..5dfc370 100644
--- a/Server/server_gui.ui
+++ b/Server/server_gui.ui
@@ -7,7 +7,7 @@
0
0
1220
- 600
+ 613
@@ -266,9 +266,20 @@
Actions
+
+
+
@@ -287,6 +298,31 @@
Send Aruco map
+
+
+ Update client repo
+
+
+
+
+ Send launch file for clever
+
+
+
+
+ Send .launch file to clever
+
+
+
+
+ Restart clever service
+
+
+
+
+ Restart clever-show service
+
+
check_button
diff --git a/Server/server_qt.py b/Server/server_qt.py
index a4574eb..6443325 100644
--- a/Server/server_qt.py
+++ b/Server/server_qt.py
@@ -115,6 +115,10 @@ class MainWindow(QtWidgets.QMainWindow):
self.ui.action_send_animations.triggered.connect(self.send_animations)
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)
+ self.ui.action_restart_clever.triggered.connect(self.restart_clever)
+ self.ui.action_restart_clever_show.triggered.connect(self.restart_clever_show)
+ self.ui.action_update_client_repo.triggered.connect(self.update_client_repo)
# Set most safety-important buttons disabled
self.ui.start_button.setEnabled(False)
@@ -305,6 +309,31 @@ class MainWindow(QtWidgets.QMainWindow):
copter.client.send_file(path, "/home/pi/catkin_ws/src/clever/aruco_pose/map/animation_map.txt")
copter.client.send_message("service_restart", {"name": "clever"})
+ @pyqtSlot()
+ def send_launch(self):
+ path = QFileDialog.getOpenFileName(self, "Select launch file for clever", filter="Launch files (*.launch)")[0]
+ if path:
+ filename = os.path.basename(path)
+ print("Selected file:", path, filename)
+ for copter in self.model.user_selected():
+ copter.client.send_file(path, "/home/pi/catkin_ws/src/clever/clever/launch/{}".format(filename))
+ # copter.client.send_message("service_restart", {"name": "clever"})
+
+ @pyqtSlot()
+ def restart_clever(self):
+ for copter in self.model.user_selected():
+ copter.client.send_message("service_restart", {"name": "clever"})
+
+ @pyqtSlot()
+ def restart_clever_show(self):
+ for copter in self.model.user_selected():
+ copter.client.send_message("service_restart", {"name": "clever-show"})
+
+ @pyqtSlot()
+ def update_client_repo(self):
+ for copter in self.model.user_selected():
+ copter.client.send_message("update_repo")
+
@pyqtSlot()
def emergency(self):
client_row_min = 0