From d536719795ecfda265c4e783e322faa384899e79 Mon Sep 17 00:00:00 2001 From: matteo porta Date: Wed, 13 Jul 2022 10:48:10 +0200 Subject: [PATCH] wip --- src/components/tecna_marposs_provaset_t3.py | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/src/components/tecna_marposs_provaset_t3.py b/src/components/tecna_marposs_provaset_t3.py index 62e2048..24794ff 100644 --- a/src/components/tecna_marposs_provaset_t3.py +++ b/src/components/tecna_marposs_provaset_t3.py @@ -52,13 +52,14 @@ class TecnaMarpossProvasetT3(ModbusComponent): _flow_units_map = {v: k for k, v in _flow_units.items()} def set_measure_units(self): - return [ - self.write("MEASURE UNITS: pressure measure units", (self._pressure_units["mbar"] << 8) + 0), # red, ?purple? - self.write("MEASURE UNITS: Leak measure units", (self._leak_units["mbar"] << 8) + 0), # yellow - self.write("MEASURE UNITS: leak flow rate measure units", (self._leak_flow_units["cm3/min"] << 8) + 0), # blue - self.write("MEASURE UNITS: Volume", (self._volume_units["litri"] << 8) + 0), # green - self.write("MEASURE UNITS: Flow rate measure units", (self._flow_units["liters/min"] << 8) + 0), # orange - ] + for register, [unit, decimals] in { + "MEASURE UNITS: pressure measure units": [self._pressure_units["mbar"], 0], # red, ?purple? + "MEASURE UNITS: Leak measure units": [self._leak_units["mbar"], 0], # yellow + "MEASURE UNITS: leak flow rate measure units": [self._leak_flow_units["cm3/min"], 0], # blue + "MEASURE UNITS: Volume": [self._volume_units["litri"], 0], # green + "MEASURE UNITS: Flow rate measure units": [self._flow_units["liters/min"], 0], # orange + }.items(): + print(self.write(register, (unit << 8) + decimals)) def get_measure_units(self): units = {} @@ -70,6 +71,11 @@ class TecnaMarpossProvasetT3(ModbusComponent): ["Format of volume variables", self._volume_units_map, ["volume", "green", "g", 25, ]], # also by documentation color and register number ["Format of time variables", self._time_units_map, ["time", "tangerine", "t", 26, ]], # also by documentation color and register number ["Format of variables related to flow measurements", self._flow_units_map, ["flow", "orange", "o", 27, ]], # also by documentation color and register number + ["MEASURE UNITS: pressure measure units": self._pressure_units, ["pressur"]], + ["MEASURE UNITS: Leak measure units": self._leak_units, ["lea"]], + ["MEASURE UNITS: leak flow rate measure units": self._leak_flow_units, ["leaflo"]], + ["MEASURE UNITS: Volume": self._volume_units, ["volum"]], + ["MEASURE UNITS: Flow rate measure units": self._flow_units, ["flo"]], ]: v = self.read(register) unit = [10**(-((v >> 8) & 0xff)), unit_map[v & 0xff]]