Index: dialin/common/dg_defs.py =================================================================== diff -u -r7ea4b936cef531b2cde9053ae58b7119a3bf0e6c -r71a18fc40dc40519d50aa7888405dbcd4c4cad25 --- dialin/common/dg_defs.py (.../dg_defs.py) (revision 7ea4b936cef531b2cde9053ae58b7119a3bf0e6c) +++ dialin/common/dg_defs.py (.../dg_defs.py) (revision 71a18fc40dc40519d50aa7888405dbcd4c4cad25) @@ -145,6 +145,18 @@ @unique +class DGFlushUIStates(DialinEnum): + FLUSH_UI_STATE_NOT_RUNNING = 0 + FLUSH_UI_STATE_NOT_DRAIN_DEVICE = 1 + FLUSH_UI_STATE_NOT_FLUSH_RESERVOIRS = 2 + FLUSH_UI_STATE_NOT_DRAIN_RESERVOIRS = 3 + FLUSH_UI_STATE_NOT_FLUSH_RECIRCULATION_PATH = 4 + FLUSH_UI_STATE_NOT_CANCEL_FLUSH = 5 + FLUSH_UI_STATE_NOT_COMPLETE = 6 + NUM_OF_FLUSH_UI_STATES = 7 + + +@unique class DGHeatDisinfectStates(DialinEnum): DG_HEAT_DISINFECT_STATE_START = 0 # Heat disinfect, start mode state DG_HEAT_DISINFECT_STATE_DRAIN_R1 = 1 # Heat disinfect, drain R1 state Index: dialin/dg/flush.py =================================================================== diff -u -r837d2551fdf0ffbbf96870de746a0d4864f17d84 -r71a18fc40dc40519d50aa7888405dbcd4c4cad25 --- dialin/dg/flush.py (.../flush.py) (revision 837d2551fdf0ffbbf96870de746a0d4864f17d84) +++ dialin/dg/flush.py (.../flush.py) (revision 71a18fc40dc40519d50aa7888405dbcd4c4cad25) @@ -20,7 +20,7 @@ from ..common.msg_defs import MsgIds, MsgFieldPositions from ..protocols.CAN import DenaliChannels from ..utils.base import AbstractSubSystem, publish -from ..common.dg_defs import DGFlushStates +from ..common.dg_defs import DGFlushStates, DGFlushUIStates class FlushMode(AbstractSubSystem): @@ -38,6 +38,7 @@ self.overall_elapsed_time = 0 self.state_elapsed_time = 0 self.flush_drain_line_volume_l = 0.0 + self.flush_UI_state = DGFlushUIStates.FLUSH_UI_STATE_NOT_RUNNING.value if self.can_interface is not None: channel_id = DenaliChannels.dg_sync_broadcast_ch_id @@ -56,24 +57,29 @@ self.overall_elapsed_time = 0 self.state_elapsed_time = 0 - @publish(["flush_state", "overall_elapsed_time", "state_elapsed_time", "flush_drain_line_volume"]) + @publish(["flush_state", "overall_elapsed_time", "state_elapsed_time", "flush_drain_line_volume", + "flush_UI_state"]) def _handler_flush_sync(self, message: dict) -> None: """ Handles published flush message @param message: published flush data message @returns none """ - state = struct.unpack('i', bytearray( + state = struct.unpack('