Index: leahi_dialin/dd/modules/substitution_pump.py =================================================================== diff -u -r3f4937e339925dde0b95f08e49969f8983c5cba4 -reca9e15bc984af2b7f59eb38f3836ca354ee1251 --- leahi_dialin/dd/modules/substitution_pump.py (.../substitution_pump.py) (revision 3f4937e339925dde0b95f08e49969f8983c5cba4) +++ leahi_dialin/dd/modules/substitution_pump.py (.../substitution_pump.py) (revision eca9e15bc984af2b7f59eb38f3836ca354ee1251) @@ -15,7 +15,6 @@ ############################################################################ # Module imports -import struct from logging import Logger # Project imports @@ -51,7 +50,7 @@ message_id = MsgIds.MSG_ID_DD_SUBSTITUTION_PUMP_DATA.value, function = self._handler_substitution_pump_sync) - #: The substitution pump data in dictionary format + self.dd_substitution_pump_timestamp = 0 #: The timestamp of the latest message self.dd_substitution_pumps = { dd_enum_repository.DDSubstitutionPumpNames.D92_PUMP.name: { dd_enum_repository.DDSubstitutionPumpAttributes.TARGET_SPEED.name: 0.0, @@ -60,8 +59,24 @@ dd_enum_repository.DDSubstitutionPumpAttributes.MEASURED_SPEED.name: 0.0, } } - self.dd_substitution_pump_timestamp = 0 #: The timestamp of the latest message + + +# ============================================================ Properties ============================================================ + @property + def dd_substitution_pumps(self) -> dict: + """ + The Substitution Pumps data + """ + return self._substitution_pumps + + @dd_substitution_pumps.setter + def dd_substitution_pumps(self, value): + self._substitution_pumps = value + + + +# ============================================================ Handlers ============================================================ @publish(["msg_id_dd_rinse_pump_data", "dd_substitution_pumps", "dd_substitution_pump_timestamp"]) @@ -72,18 +87,18 @@ @param message: published substitution pump data message @return: None """ - substitution_pump_list = [] - substitution_pump_list.append((dd_enum_repository.DDSubstitutionPumpNames.D92_PUMP.name, dd_enum_repository.DDSubstitutionPumpAttributes.TARGET_SPEED.name, DataTypes.F32)) - substitution_pump_list.append((dd_enum_repository.DDSubstitutionPumpNames.D92_PUMP.name, dd_enum_repository.DDSubstitutionPumpAttributes.CURRENT_SPEED.name, DataTypes.F32)) - substitution_pump_list.append((dd_enum_repository.DDSubstitutionPumpNames.D92_PUMP.name, dd_enum_repository.DDSubstitutionPumpAttributes.STATE.name, DataTypes.U32)) - substitution_pump_list.append((dd_enum_repository.DDSubstitutionPumpNames.D92_PUMP.name, dd_enum_repository.DDSubstitutionPumpAttributes.MEASURED_SPEED.name, DataTypes.F32)) + msg_list = [] + msg_list.append((self.dd_substitution_pumps, dd_enum_repository.DDSubstitutionPumpNames.D92_PUMP.name, dd_enum_repository.DDSubstitutionPumpAttributes.TARGET_SPEED.name, DataTypes.F32)) + msg_list.append((self.dd_substitution_pumps, dd_enum_repository.DDSubstitutionPumpNames.D92_PUMP.name, dd_enum_repository.DDSubstitutionPumpAttributes.CURRENT_SPEED.name, DataTypes.F32)) + msg_list.append((self.dd_substitution_pumps, dd_enum_repository.DDSubstitutionPumpNames.D92_PUMP.name, dd_enum_repository.DDSubstitutionPumpAttributes.STATE.name, DataTypes.U32)) + msg_list.append((self.dd_substitution_pumps, dd_enum_repository.DDSubstitutionPumpNames.D92_PUMP.name, dd_enum_repository.DDSubstitutionPumpAttributes.MEASURED_SPEED.name, DataTypes.F32)) - self.process_into_vars(dict_to_update = self.dd_substitution_pumps, - decoder_list = substitution_pump_list, - message = message) - + self.process_into_vars(decoder_list = msg_list, message = message) self.dd_substitution_pump_timestamp = timestamp + + +# ============================================================ Overrides and Requests ============================================================ def cmd_substitution_pump_data_publish_interval_override(self, ms: int, reset: int = NO_RESET) -> int: """ Constructs and sends the substitution pump data publish interval override command @@ -127,5 +142,3 @@ override_text=str(spd), logger=self.logger, can_interface=self.can_interface) - -