Added proper selfcheck and leds testing

This commit is contained in:
artem30801@gmail.com
2019-03-28 18:57:03 +03:00
parent 690fd4a1e3
commit 26deaf3053

View File

@@ -13,7 +13,8 @@ from PyQt5.QtWidgets import QFileDialog
from server_gui import Ui_MainWindow
from server import *
class CopterView(QStandardItemModel):
pass
class MainWindow(QtWidgets.QMainWindow):
def __init__(self):
@@ -29,6 +30,8 @@ class MainWindow(QtWidgets.QMainWindow):
self.ui.start_button.clicked.connect(self.send_starttime)
self.ui.pause_button.clicked.connect(self.pause_all)
self.ui.stop_button.clicked.connect(self.stop_all)
self.ui.leds_button.clicked.connect(self.test_leds)
self.ui.takeoff_button.clicked.connect(self.takeoff_selected)
self.ui.land_button.clicked.connect(self.land_all)
self.ui.disarm_button.clicked.connect(self.disarm_all)
@@ -43,16 +46,19 @@ class MainWindow(QtWidgets.QMainWindow):
@pyqtSlot()
def check_selected(self):
#Client.request_to_selected("selfcheck")
#for row_num in range(model.rowCount()):
# item = model.index(row_num, 0)
# data = model.itemData(item)
# print(item.data())
# print(item, data)
# if data.isCheckable() and data.checkState() == Qt.Checked:
# print("Copter checked")
# batt = Client.get_by_id(data.text()).get_response("batt_voltage")
# model.setData(model.index(0, 2), batt)
for row_num in range(model.rowCount()):
item = model.item(row_num, 0)
if item.isCheckable() and item.checkState() == Qt.Checked:
print("Copter {} checked".format(model.item(row_num, 0).text()))
batt_total = Client.get_by_id(item.text()).get_response("batt_voltage")
batt_cell = Client.get_by_id(item.text()).get_response("cell_voltage")
selfcheck = Client.get_by_id(item.text()).get_response("selfcheck")
batt_percent = (batt_cell-3.2)/(4.2-3.2)
model.setData(model.index(0, 2), "{} V.".format(round(batt_total, 3)))
model.setData(model.index(0, 3), "{} %".format(round(batt_percent, 3)))
model.setData(model.index(0, 3), selfcheck)
self.ui.start_button.setEnabled(True)
self.ui.takeoff_button.setEnabled(True)
@@ -76,6 +82,10 @@ class MainWindow(QtWidgets.QMainWindow):
Client.broadcast(Client.form_message('resume'))
self.ui.pause_button.setText('Pause')
@pyqtSlot()
def test_leds(self):
Client.send_to_selected(Client.form_message("led_test"))
@pyqtSlot()
def takeoff_selected(self):
Client.send_to_selected(Client.form_message("takeoff"))