diff --git a/Server/server_qt.py b/Server/server_qt.py index c1ebd6b..f931fc4 100644 --- a/Server/server_qt.py +++ b/Server/server_qt.py @@ -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"))