Index: dialin/common/hd_defs.py =================================================================== diff -u -rb3ccd0073b7c5ba27457a4b7cdd3e60b3a8d3d68 -r4a14fb08755f069501169e63a652d8681135462c --- dialin/common/hd_defs.py (.../hd_defs.py) (revision b3ccd0073b7c5ba27457a4b7cdd3e60b3a8d3d68) +++ dialin/common/hd_defs.py (.../hd_defs.py) (revision 4a14fb08755f069501169e63a652d8681135462c) @@ -120,4 +120,30 @@ STANDBY_DG_FLUSH_IN_PROGRESS_STATE = 3 # DG flush operation is in progress STANDBY_DG_HEAT_DISINFECT_IN_PROGRESS_STATE = 4 # DG heat disinfection operation is in progress STANDBY_DG_CHEM_DISINFECT_IN_PROGRESS_STATE = 5 # DG chemical disinfection operation is in progress - NUM_OF_STANDBY_STATES = 6 # Number of standby states (sub-modes) \ No newline at end of file + NUM_OF_STANDBY_STATES = 6 # Number of standby states (sub-modes) + +class DG_Heat_States(DialinEnum): # although it is a dg state and the file is hd_defs since we don't have dg_defs I put it here. + DG_HEAT_DISINFECT_STATE_START = 0 # Heat disinfect, start mode state + DG_HEAT_DISINFECT_STATE_DRAIN_R1 = 1 # Heat disinfect, drain R1 state + DG_HEAT_DISINFECT_STATE_DRAIN_R2 = 2 # Heat disinfect, drain R2 state + DG_HEAT_DISINFECT_STATE_FLUSH_DRAIN = 3 # Heat disinfect, flush drain state + DG_HEAT_DISINFECT_STATE_FLUSH_CIRCULATION = 4 # Heat disinfect, flush circulation state + DG_HEAT_DISINFECT_STATE_FLUSH_R1_AND_R2 = 5 # Heat disinfect, flush R1 and R2 state + DG_HEAT_DISINFECT_STATE_FLUSH_R2_AND_DRAIN_R1 = 6 # Heat disinfect, flush R2 and drain R1 state + DG_HEAT_DISINFECT_STATE_FLUSH_DRAIN_R2 = 7 # Heat disinfect, flush drain R2 state + DG_HEAT_DISINFECT_STATE_FLUSH_DRAIN_R1 = 8 # Heat disinfect, flush drain R1 state + DG_HEAT_DISINFECT_STATE_FILL_WITH_WATER = 9 # Heat disinfect, fill with water state + DG_HEAT_DISINFECT_STATE_DISINFECT_R1_TO_R2 = 10 # Heat disinfect, disinfect R1 to R2 state + DG_HEAT_DISINFECT_STATE_FILL_R2_WITH_HOT_WATER = 11 # Heat disinfect, fill R2 with hot water state + DG_HEAT_DISINFECT_STATE_DISINFECT_R2_TO_R1 = 12 # Heat disinfect, disinfect R2 to R1 state + DG_HEAT_DISINFECT_STATE_COOL_DOWN_HEATERS = 13 # Heat disinfect, cool down heaters state + DG_HEAT_DISINFECT_STATE_COOL_DOWN_RO_FILTER = 14 # Heat disinfect, cool down RO filter state + DG_HEAT_DISINFECT_STATE_MIX_DRAIN_R1 = 15 # Heat disinfect, mix drain R1 state + DG_HEAT_DISINFECT_STATE_MIX_DRAIN_R2 = 16 # Heat disinfect, mix drain R2 state + DG_HEAT_DISINFECT_STATE_RINSE_R1_TO_R2 = 17 # Heat disinfect, rinse R1 to R2 state + DG_HEAT_DISINFECT_STATE_RINSE_R2_TO_R1_AND_DRAIN_R1 = 18 # Heat disinfect, rinse R2 to R1 and drain R1 state + DG_HEAT_DISINFECT_STATE_RINSE_CIRCULATION = 19 # Heat disinfect, rinse circulation state + DG_HEAT_DISINFECT_STATE_CANCEL_BASIC_PATH = 20 # Heat disinfect, cancel mode basic path state + DG_HEAT_DISINFECT_STATE_CANCEL_WATER_PATH = 21 # Heat disinfect, cancel mode water path state + DG_HEAT_DISINFECT_STATE_COMPLETE = 22 # Heat disinfect, complete state + NUM_OF_DG_HEAT_DISINFECT_STATES = 23 # Number of heat disinfect mode states Index: dialin/common/msg_defs.py =================================================================== diff -u -r3ecee312b820f6e96da728ac2d233539310e856a -r4a14fb08755f069501169e63a652d8681135462c --- dialin/common/msg_defs.py (.../msg_defs.py) (revision 3ecee312b820f6e96da728ac2d233539310e856a) +++ dialin/common/msg_defs.py (.../msg_defs.py) (revision 4a14fb08755f069501169e63a652d8681135462c) @@ -125,6 +125,9 @@ MSG_ID_UI_TREATMENT_LOG_DATA_REQUEST = 0x75 # UI request treatment log data message MSG_ID_HD_TREATMENT_LOG_DATA_RESPONSE = 0x76 # HD response to UI treatment log data request + MSG_ID_DG_DISINFECT_STATE = 0x7E # DG disinfect states + + MSG_ID_CAN_ERROR_COUNT = 0x999 # test code in support of EMC testing Index: dialin/ui/hd_simulator.py =================================================================== diff -u -r3ecee312b820f6e96da728ac2d233539310e856a -r4a14fb08755f069501169e63a652d8681135462c --- dialin/ui/hd_simulator.py (.../hd_simulator.py) (revision 3ecee312b820f6e96da728ac2d233539310e856a) +++ dialin/ui/hd_simulator.py (.../hd_simulator.py) (revision 4a14fb08755f069501169e63a652d8681135462c) @@ -2079,3 +2079,22 @@ payload=payload) self.can_interface.send(message, 0) + + def cmd_send_dg_disinfection_state(self, subMode, flushMode, heatMode, chemicalMode): + """ + Broadcasts the current DG disinfection mode + :param subMode (int): disinfect states + :param flushMode (int): flush states + :param heatMode (int): heat states + :param ChemicalMode (int): chemical states + :return: + """ + payload = integer_to_bytearray(subMode) + payload += integer_to_bytearray(flushMode) + payload += integer_to_bytearray(heatMode) + payload += integer_to_bytearray(chemicalMode) + + message = DenaliMessage.build_message(channel_id=DenaliChannels.dg_sync_broadcast_ch_id, + message_id=MsgIds.MSG_ID_DG_DISINFECT_STATE.value, + payload=payload) + self.can_interface.send(message, 0)