Server: Add current position request check

This commit is contained in:
Arthur Golubtsov
2019-09-19 16:03:25 +03:00
parent da5cc5becc
commit 130ca7845f
2 changed files with 13 additions and 3 deletions

View File

@@ -8,7 +8,7 @@ from PyQt5.QtCore import Qt as Qt
class CopterData:
class_attrs = collections.OrderedDict([('copter_id', None), ('anim_id', None), ('batt_v', None), ('batt_p', None),
('sys_status', None), ('cal_status', None), ('selfcheck', None), ("time_delta", None),
('sys_status', None), ('cal_status', None), ('selfcheck', None), ('position', None), ("time_delta", None),
("client", None), ("checked", 0)], )
def __init__(self, **kwargs):
@@ -35,7 +35,7 @@ class CopterDataModel(QtCore.QAbstractTableModel):
def __init__(self, parent=None):
super(CopterDataModel, self).__init__(parent)
self.headers = ('copter ID', 'animation ID', 'battery V', 'battery %', 'system status', 'calibration status', 'selfcheck', 'time delta')
self.headers = ('copter ID', ' animation ID ', 'batt V', 'batt %', 'system', 'calibration', 'selfcheck', 'current x y z yaw frame_id', 'time delta')
self.data_contents = []
self.first_col_is_checked = False
@@ -224,6 +224,13 @@ def check_selfcheck(item):
return False
@col_check(7)
def check_cal_status(item):
if not item:
return None
else:
return True
@col_check(8)
def check_time_delta(item):
if not item:
return None

View File

@@ -138,7 +138,8 @@ class MainWindow(QtWidgets.QMainWindow):
client.get_response("sys_status", self._set_copter_data, callback_args=(4, copter.copter_id))
client.get_response("cal_status", self._set_copter_data, callback_args=(5, copter.copter_id))
client.get_response("selfcheck", self._set_copter_data, callback_args=(6, copter.copter_id))
client.get_response("time", self._set_copter_data, callback_args=(7, copter.copter_id))
client.get_response("position", self._set_copter_data, callback_args=(7, copter.copter_id))
client.get_response("time", self._set_copter_data, callback_args=(8, copter.copter_id))
def _set_copter_data(self, value, col, copter_id):
row = self.model.data_contents.index(next(
@@ -158,6 +159,8 @@ class MainWindow(QtWidgets.QMainWindow):
elif col == 6:
data = str(value)
elif col == 7:
data = str(value)
elif col == 8:
#data = time.ctime(int(value))
data = "{}".format(round(float(value) - time.time(), 3))
if abs(float(data)) > 1: