diff --git a/pytec/tec_qt.py b/pytec/tec_qt.py index 4d3cb68..8802656 100644 --- a/pytec/tec_qt.py +++ b/pytec/tec_qt.py @@ -16,8 +16,6 @@ from ui_tec_qt import Ui_MainWindow tec_client: Client = None -client_watcher = None - def get_argparser(): parser = argparse.ArgumentParser(description="ARTIQ master") @@ -72,6 +70,7 @@ class MainWindow(QtWidgets.QMainWindow, Ui_MainWindow): self.fan_power_slider.valueChanged.connect(self.fan_set) self.fan_auto_box.stateChanged.connect(self.fan_auto_set) + self.client_watcher: ClientWatcher = None self.client_watcher_task = None if args.connect: @@ -136,7 +135,7 @@ class MainWindow(QtWidgets.QMainWindow, Ui_MainWindow): @asyncSlot() async def connect(self): - global tec_client, client_watcher + global tec_client ip, port = self.ip_set_line.text(), self.port_set_spin.value() try: @@ -148,20 +147,20 @@ class MainWindow(QtWidgets.QMainWindow, Ui_MainWindow): self._hw_rev(await tec_client.hw_rev()) # self.fan_update(await tec_client.fan()) - client_watcher = ClientWatcher(self.main_widget, self.report_refresh_spin.value()) - client_watcher.fan_update.connect(self.fan_update) + self.client_watcher = ClientWatcher(self.main_widget, self.report_refresh_spin.value()) + self.client_watcher.fan_update.connect(self.fan_update) self.report_apply_btn.clicked.connect( - lambda: client_watcher.set_update_s(self.report_refresh_spin.value()) + lambda: self.client_watcher.set_update_s(self.report_refresh_spin.value()) ) - QtWidgets.QApplication.instance().aboutToQuit.connect(client_watcher.stop_watching) - self.client_watcher_task = asyncio.create_task(client_watcher.run()) + QtWidgets.QApplication.instance().aboutToQuit.connect(self.client_watcher.stop_watching) + self.client_watcher_task = asyncio.create_task(self.client_watcher.run()) else: await tec_client.disconnect() tec_client = None self._on_connection_changed(False) - client_watcher.stop_watching() - client_watcher = None + self.client_watcher.stop_watching() + self.client_watcher = None await self.client_watcher_task self.client_watcher_task = None except Exception as e: