diff --git a/src/components/modbus_component.py b/src/components/modbus_component.py index ffdd0d6..fc438ab 100644 --- a/src/components/modbus_component.py +++ b/src/components/modbus_component.py @@ -33,7 +33,7 @@ class ModbusComponent(Component): self.lock = QMutex() def config_changed(self): - try: + # Read configuration values self.method = self.config[self.name].get("method", "rtu").lower() self.port = self.config[self.name]["port"] @@ -65,16 +65,16 @@ class ModbusComponent(Component): if not self.client.is_socket_open(): raise ConnectionError(f"Connection socket not open on port {self.port}") + except FileNotFoundError as e: + error_message = f"Serial port error: {self.port} not found. Check your configuration." + #self.log.error(error_message, exc_info=True) + self.modbus_error_signal.emit(error_message) + except Exception as e: + error_message = f"Configuration error: {str(e)}" + #self.log.error(error_message, exc_info=True) + self.modbus_error_signal.emit(error_message) finally: self.lock.unlock() - except FileNotFoundError as e: - error_message = f"Serial port error: {self.port} not found. Check your configuration." - #self.log.error(error_message, exc_info=True) - self.modbus_error_signal.emit(error_message) - except Exception as e: - error_message = f"Configuration error: {str(e)}" - #self.log.error(error_message, exc_info=True) - self.modbus_error_signal.emit(error_message) def _read(self, register, count=1, **kwargs): """Read holding registers with error handling.""" diff --git a/src/components/tecna_marposs_provaset_t3.py b/src/components/tecna_marposs_provaset_t3.py index 7639b64..100107d 100644 --- a/src/components/tecna_marposs_provaset_t3.py +++ b/src/components/tecna_marposs_provaset_t3.py @@ -28,13 +28,17 @@ class TecnaMarpossProvasetT3(ModbusComponent): else: raise NotImplementedError(f"tecna t3 model {self.model!r} not implemented.") self.set_measure_units() - self.units = self.get_measure_units() - self.max_program_number = self.read("Max number of programs") - self.saver_label_count = min(abs(int(self.config[self.name].get("saver_label_count", 1))), 0b1111) - self.saver_print_on_fail = 1 if self.config[self.name].get("saver_print_on_fail", "no").lower() in {"yes", "y", "on", "true", "1", "x"} else 0 - self.saver_label_template = min(abs(int(self.config[self.name].get("saver_label_template", 1))), 0b11111111) - self.model = self.config[self.name]["model"].lower() - self.log.info(f"units: {self.units}") + try: + self.units = self.get_measure_units() + self.max_program_number = self.read("Max number of programs") + self.saver_label_count = min(abs(int(self.config[self.name].get("saver_label_count", 1))), 0b1111) + self.saver_print_on_fail = 1 if self.config[self.name].get("saver_print_on_fail", "no").lower() in {"yes", "y", "on", "true", "1", "x"} else 0 + self.saver_label_template = min(abs(int(self.config[self.name].get("saver_label_template", 1))), 0b11111111) + self.model = self.config[self.name]["model"].lower() + self.log.info(f"units: {self.units}") + except Exception as e: + error_message = f"Error during config_changed operation: {str(e)}" + self.tecna_error_signal.emit(True, error_message) _pressure_units = {"mH2O": 0, "mbar": 1, "kPa": 2, "mmHg": 3, "inH2O": 4, "psi": 5, "mmH2O": 6, } # (se fondoscala <=6 bar) _leak_units = {"mmH2O": 0, "mbar": 1, "Pa": 2, "mmHg": 3, "inH2O": 4, "psi": 5, } diff --git a/src/ui/test_leak/test_leak.py b/src/ui/test_leak/test_leak.py index 89083ca..b83c073 100644 --- a/src/ui/test_leak/test_leak.py +++ b/src/ui/test_leak/test_leak.py @@ -325,5 +325,4 @@ class Test_Leak(Test_Test): text=f"ERRORE TECNA TEST INTERROTTO.", bg_color="red", text_color="white" ) - self.parent.fail_cycle() self.stop_test()