Index: leahi_dialin/dd/modules/substitution_pump.py =================================================================== diff -u -r5c1132f5aadff6082afa56588ad1f4a64f828cd9 -r6caa49d072aceb2655d605de5d2eea52ab1a8911 --- leahi_dialin/dd/modules/substitution_pump.py (.../substitution_pump.py) (revision 5c1132f5aadff6082afa56588ad1f4a64f828cd9) +++ leahi_dialin/dd/modules/substitution_pump.py (.../substitution_pump.py) (revision 6caa49d072aceb2655d605de5d2eea52ab1a8911) @@ -22,7 +22,7 @@ from leahi_dialin.common.constants import NO_RESET from leahi_dialin.common import dd_enum_repository from leahi_dialin.common.generic_defs import DataTypes -from leahi_dialin.common.msg_defs import MsgIds +from leahi_dialin.common.msg_ids import MsgIds from leahi_dialin.common.override_templates import cmd_generic_broadcast_interval_override, cmd_generic_override from leahi_dialin.protocols.CAN import CanMessenger, CanChannels from leahi_dialin.utils.abstract_classes import AbstractSubSystem @@ -51,7 +51,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,9 +60,25 @@ dd_enum_repository.DDSubstitutionPumpAttributes.MEASURED_SPEED.name: 0.0, } } - self.dd_substitution_pump_timestamp = 0 #: The timestamp of the latest message self.handler_execution_times = [] + + +# ============================================================ 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"]) @@ -74,19 +90,19 @@ @return: None """ start = time.perf_counter() - 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_dict(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 self.handler_execution_times.append((timestamp, message, time.perf_counter() - start)) + + +# ============================================================ 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 @@ -107,6 +123,7 @@ logger=self.logger, can_interface=self.can_interface) + def cmd_substitution_pump_set_start_stop(self, pump_id: int, command: int, speed: float) -> int: """ Constructs and sends the substitution pump start stop command @@ -130,5 +147,3 @@ override_text=str(spd), logger=self.logger, can_interface=self.can_interface) - -