This commit is contained in:
matteo porta 2022-07-13 10:48:10 +02:00
parent 78ed0c7ebd
commit d536719795

View File

@ -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]]