Index: leahi_dialin/dd/modules/drybicart.py =================================================================== diff -u -r1f2bf6d939eb4033dbedb7d7005494cc12fccbc6 -r775f2d7ca9a4d1c86c02bc27130f8765dc4156ad --- leahi_dialin/dd/modules/drybicart.py (.../drybicart.py) (revision 1f2bf6d939eb4033dbedb7d7005494cc12fccbc6) +++ leahi_dialin/dd/modules/drybicart.py (.../drybicart.py) (revision 775f2d7ca9a4d1c86c02bc27130f8765dc4156ad) @@ -20,14 +20,14 @@ # Project imports from leahi_dialin.common.constants import NO_RESET , RESET from leahi_dialin.common.generic_defs import DataTypes -from leahi_dialin.common.msg_defs import MsgIds +from leahi_dialin.common.msg_defs import MsgIds, MsgFieldPositions from leahi_dialin.common.override_templates import cmd_generic_broadcast_interval_override, cmd_generic_override +from dataclasses import dataclass from leahi_dialin.protocols.CAN import CanMessenger, CanChannels from leahi_dialin.utils.abstract_classes import AbstractSubSystem from leahi_dialin.utils.base import publish -from leahi_dialin.utils.conversions import integer_to_bytearray +from leahi_dialin.utils.conversions import integer_to_bytearray, float_to_bytearray - class DDDryBicart(AbstractSubSystem): """ DryBicart @@ -63,14 +63,17 @@ self.dd_dry_bicart_current_fill_time = 0 #: The Dry Bicart current fill time self.dd_dryBiCartType = 0 #: The Dry Bicart concentrate option index self.dd_dryBiCartDrainTimePeriod = 0 #: The Dry Bicart drain time period in sec + self.dd_dry_bicart_timestamp = 0 #: The timestamp of the last message + @publish(["msg_id_dd_dry_bicart_data", "dd_dry_bicart_fill_execution_state", "dd_bicarb_chamber_fill_execution_state", "dd_dry_bicart_drain_execution_state", "dd_dry_bicart_fill_cycle_counter", "dd_dry_bicart_max_fill_cycle_count", "dd_dry_bicart_fill_request", "dry_bicarb_chamber_fill_request", "dd_dry_bicart_drain_request", "dd_dry_bicart_last_fill_time", "dd_dry_bicart_current_fill_time", "dd_dryBiCartType", "dd_dryBiCartDrainTimePeriod", "dd_dry_bicart_timestamp"]) + def _handler_dry_bicart_sync(self, message, timestamp=0.0): """ Handles published dry bicart data messages. @@ -94,9 +97,9 @@ self.process_into_vars(decoder_list = msg_list, message = message) + self.dd_dry_bicart_timestamp = timestamp - def cmd_dry_bicart_broadcast_interval_override(self, ms: int, reset: int = NO_RESET) -> int: """ Constructs and sends the dry bicart data broadcast interval override command @@ -237,3 +240,4 @@ override_text=str(small_large), logger=self.logger, can_interface=self.can_interface) +