Server: Add developer menu options

This commit is contained in:
Arthur Golubtsov
2019-09-13 19:10:24 +03:00
parent 6e2b9926e6
commit a408b298e3
3 changed files with 91 additions and 2 deletions

View File

@@ -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"))

View File

@@ -7,7 +7,7 @@
<x>0</x>
<y>0</y>
<width>1220</width>
<height>600</height>
<height>613</height>
</rect>
</property>
<property name="windowTitle">
@@ -266,9 +266,20 @@
<property name="title">
<string>Actions</string>
</property>
<widget class="QMenu" name="menuDeveloper_mode">
<property name="title">
<string>Developer mode</string>
</property>
<addaction name="action_send_launch_file"/>
<addaction name="action_restart_clever"/>
<addaction name="action_restart_clever_show"/>
<addaction name="action_update_client_repo"/>
</widget>
<addaction name="action_send_animations"/>
<addaction name="action_send_configurations"/>
<addaction name="action_send_Aruco_map"/>
<addaction name="separator"/>
<addaction name="menuDeveloper_mode"/>
</widget>
<addaction name="menuOptions"/>
</widget>
@@ -287,6 +298,31 @@
<string>Send Aruco map</string>
</property>
</action>
<action name="action_update_client_repo">
<property name="text">
<string>Update client repo</string>
</property>
</action>
<action name="actionSend_launch_file_for_clever">
<property name="text">
<string>Send launch file for clever</string>
</property>
</action>
<action name="action_send_launch_file">
<property name="text">
<string>Send .launch file to clever</string>
</property>
</action>
<action name="action_restart_clever">
<property name="text">
<string>Restart clever service</string>
</property>
</action>
<action name="action_restart_clever_show">
<property name="text">
<string>Restart clever-show service</string>
</property>
</action>
</widget>
<tabstops>
<tabstop>check_button</tabstop>

View File

@@ -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