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 + + + Developer mode + + + + + + + + @@ -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