From 130cb1484a7b9fe8145e70e54e4f6da6f7cd2f2f Mon Sep 17 00:00:00 2001 From: Arthur Golubtsov Date: Fri, 21 Feb 2020 13:46:04 +0300 Subject: [PATCH 1/3] Server: Fix start_animation and takeoff_z commands --- Server/server_qt.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/Server/server_qt.py b/Server/server_qt.py index b6afe2f..3ebbb87 100644 --- a/Server/server_qt.py +++ b/Server/server_qt.py @@ -306,8 +306,9 @@ class MainWindow(QtWidgets.QMainWindow): music_dt = self.ui.music_delay_spin.value() asyncio.ensure_future(self.play_music_at_time(music_dt + time_now), loop=loop) logging.info('Wait {} seconds to play music'.format(music_dt)) - # self.selfcheck_selected() - for copter in filter(lambda copter: copter.all_checks, self.model.user_selected()): + # This filter constraints takeoff in real world, when copter state was normal and then some checks were failed for a while + # for copter in filter(lambda copter: copter.states.all_checks, self.model.user_selected()): + for copter in self.model.user_selected(): server.send_starttime(copter.client, dt + time_now) @pyqtSlot() @@ -326,7 +327,7 @@ class MainWindow(QtWidgets.QMainWindow): for copter in self.model.user_selected(): if table.takeoff_checks(copter): if self.ui.z_checkbox.isChecked(): - copter.client.send_message("takeoff_z", {"z": str(self.ui.z_spin.value())}) # todo int, merge commands + copter.client.send_message("takeoff_z", kwargs={"z": str(self.ui.z_spin.value())}) # todo int, merge commands else: copter.client.send_message("takeoff") From e208b7959fd09d508557831f75d154197468a1a5 Mon Sep 17 00:00:00 2001 From: Arthur Golubtsov Date: Fri, 21 Feb 2020 13:47:05 +0300 Subject: [PATCH 2/3] Server: Fix renaming --- Server/copter_table_models.py | 4 +--- Server/server.py | 4 ++-- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/Server/copter_table_models.py b/Server/copter_table_models.py index c063ed6..fd87467 100644 --- a/Server/copter_table_models.py +++ b/Server/copter_table_models.py @@ -483,9 +483,7 @@ class CopterDataModel(QtCore.QAbstractTableModel): self.data_contents[row][col] = formatted_value if col == 0: - self.data_contents[row].client.send_message("id", {"new_id": formatted_value}) - self.data_contents[row].client.remove() # TODO change - self._remove_row(row) + self.data_contents[row].client.send_message("id", kwargs={"new_id": formatted_value}) elif role == ModelDataRole: # For inner setting\editing of raw data self.data_contents[row][col] = value diff --git a/Server/server.py b/Server/server.py index 79e4e60..1ad1fc5 100644 --- a/Server/server.py +++ b/Server/server.py @@ -305,8 +305,8 @@ class Client(messaging.ConnectionManager): self.connected = True - if self.copter_id is None: - self.get_response("id", self._got_id) + #if self.copter_id is None: + self.get_response("id", self._got_id) if self.on_connect: self.on_connect(self) From 6b1649941bdd2cfbb9912d0fee8a86c67a9021f9 Mon Sep 17 00:00:00 2001 From: Arthur Golubtsov Date: Fri, 21 Feb 2020 10:56:36 +0000 Subject: [PATCH 3/3] Client: Fix responce id --- Drone/client.py | 2 ++ Drone/copter_client.py | 5 +++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/Drone/client.py b/Drone/client.py index ff293c2..c7aaf45 100644 --- a/Drone/client.py +++ b/Drone/client.py @@ -51,6 +51,8 @@ class Client(object): self.client_id = socket.gethostname() elif config_id == '/ip': self.client_id = messaging.get_ip_address() + else: + self.client_id = config_id logger.info("Config loaded") diff --git a/Drone/copter_client.py b/Drone/copter_client.py index 1aa9797..150e694 100644 --- a/Drone/copter_client.py +++ b/Drone/copter_client.py @@ -252,14 +252,15 @@ def _response_id(*args, **kwargs): old_id = client.active_client.client_id if new_id != old_id: client.active_client.config.set('PRIVATE', 'id', new_id, write=True) + client.active_client.client_id = new_id if new_id != '/hostname': - if client.active_client.system_restart_after_rename: + if client.active_client.config.system_restart_after_rename: hostname = client.active_client.client_id configure_hostname(hostname) configure_hosts(hostname) configure_bashrc(hostname) configure_motd(hostname) - execute_command("reboot") + execute_command("systemctl stop clever-show & reboot") # execute_command("hostname {}".format(hostname)) # restart_service("dhcpcd") # restart_service("avahi-daemon")