diff --git a/pykirdy/kirdy_qt.py b/pykirdy/kirdy_qt.py index 0a8e154..02cbec9 100644 --- a/pykirdy/kirdy_qt.py +++ b/pykirdy/kirdy_qt.py @@ -76,6 +76,7 @@ class Kirdy(QObject): setting_update_sig = pyqtSignal(dict) report_update_sig = pyqtSignal(dict) cmd_fail_sig = pyqtSignal(str) + cmd_warning_sig = pyqtSignal(str) def __init__(self, parent, kirdy, _poll_interval): super().__init__(parent) @@ -88,6 +89,7 @@ class Kirdy(QObject): self._noti_info_box.setIcon(QtWidgets.QMessageBox.Icon.Information) self._kirdy.set_err_msg_sig(self.cmd_fail_sig) + self._kirdy.set_warning_msg_sig(self.cmd_warning_sig) self._poll_report_timer = QtCore.QTimer() self._poll_report_timer.timeout.connect(self.polling_event) @@ -576,7 +578,8 @@ class MainWindow(QtWidgets.QMainWindow): self.kirdy_handler.setting_update_sig.connect(self.update_thermostat_ctrl_panel_settings) self.kirdy_handler.report_update_sig.connect(self.update_ld_ctrl_panel_readings) self.kirdy_handler.report_update_sig.connect(self.update_thermostat_ctrl_panel_readings) - self.kirdy_handler.cmd_fail_sig.connect(self.cmd_cannot_execute) + self.kirdy_handler.cmd_fail_sig.connect(self.show_err_cmd_msg) + self.kirdy_handler.cmd_warning_sig.connect(self.show_warning_cmd_msg) self.graphs = Graphs(self.ld_i_set_graph, self.pd_mon_pwr_graph, self.tec_i_graph, self.tec_temp_graph, max_samples=self.max_samples) self.kirdy_handler.report_update_sig.connect(self.graphs.plot_append) @@ -884,11 +887,18 @@ class MainWindow(QtWidgets.QMainWindow): self.params[1].child('Temperature ADC Filter Settings', 'Configure ADC Filter').sigActivated.connect(show_adc_filter_cfg_form) @pyqtSlot(str) - def cmd_cannot_execute(self, kirdy_msg): + def show_err_cmd_msg(self, kirdy_msg): self.info_box.setWindowTitle(" ") self.info_box.setText(f"Command fails to execute. {kirdy_msg}") self.info_box.show() + @pyqtSlot(str) + def show_warning_cmd_msg(self, kirdy_msg): + self.info_box.setWindowTitle(" ") + self.info_box.setText(f"Command executed but has warning message. {kirdy_msg}") + self.info_box.show() + + @asyncSlot(dict) async def autotune_tick(self, report): self.autotuner.run(report['thermostat']['temperature'], report['ts']/1000)