Index: dialin/ui/hd_simulator.py =================================================================== diff -u -r0a5edee793018705c54562d73a9a1d5ee648cb41 -rea8582b77ce8dd6a9e1d98d5c6a07b4bfe0e8e1e --- dialin/ui/hd_simulator.py (.../hd_simulator.py) (revision 0a5edee793018705c54562d73a9a1d5ee648cb41) +++ dialin/ui/hd_simulator.py (.../hd_simulator.py) (revision ea8582b77ce8dd6a9e1d98d5c6a07b4bfe0e8e1e) @@ -22,7 +22,7 @@ from . import utils, messageBuilder from .hd_simulator_alarms import HDAlarmsSimulator -from ..common.msg_defs import RequestRejectReasons, MsgIds +from ..common.msg_defs import RequestRejectReasons, MsgIds, MsgFieldPositions from ..common.hd_defs import HDDefs from ..protocols.CAN import (DenaliMessage, DenaliCanMessenger, @@ -225,7 +225,7 @@ MsgIds.MSG_ID_UI_USER_CONFIRM_TREATMENT_PARAMS.value, self._handler_ui_confirm_treatment) self.can_interface.register_receiving_publication_function(channel_id, - MsgIds.MSG_ID_UI_TREATMENT_END_REQUEST.value, + MsgIds.MSG_ID_UI_TX_END_CMD.value, self._handler_ui_end_treatment) self.alarms_simulator = HDAlarmsSimulator(self.can_interface, self.logger) @@ -1671,6 +1671,24 @@ self.can_interface.send(message, 0) + def _handler_ui_end_treatment(self, message): + """ + Handler function when received a request to end a treatment + + @param message: (dict) the end treatment request + @return: None + """ + self.debug("End treatment requested") + request = struct.unpack('i', bytearray( + message['message'][MsgFieldPositions.START_POS_FIELD_1:MsgFieldPositions.END_POS_FIELD_1]))[0] + + if request == 0: + self.logger.debug("Request to start rinseback") + self.cmd_send_treatment_adjust_end_response(vAccepted=YES, vReason=0) + else: + self.logger.debug("End treatment unknown request") + + def cmd_send_treatment_adjust_end_response(self, vAccepted, vReason): """ the treatment end state change Response message method