Index: dialin/common/msg_ids.py =================================================================== diff -u -rfc301b720e14c38a55e8a86e04e5c63bddf12000 -r35309aba38c8d8105181f619b63e2438602d8738 --- dialin/common/msg_ids.py (.../msg_ids.py) (revision fc301b720e14c38a55e8a86e04e5c63bddf12000) +++ dialin/common/msg_ids.py (.../msg_ids.py) (revision 35309aba38c8d8105181f619b63e2438602d8738) @@ -396,6 +396,7 @@ MSG_ID_HD_PARTIAL_OCCL_BLOOD_PUMP_BASELINE_OVERRIDE = 0x80A2 MSG_ID_HD_BLOOD_LEAK_EMB_MODE_INFO_VALUES_OVERRIDE = 0x80A3 MSG_ID_HD_BLOOD_LEAK_INTENSITY_MVG_AVERAGE_OVERRIDE = 0x80A4 + MSG_ID_HD_BLOOD_LEAK_ZEROING_INTERVAL_IN_MINS_OVERRIDE = 0x80A5 MSG_ID_DG_TESTER_LOGIN_REQUEST = 0xA000 MSG_ID_DG_ALARM_STATE_OVERRIDE = 0xA001 Index: dialin/hd/blood_leak.py =================================================================== diff -u -r3b24090c1e1bd87d1e58d14d23d9bbdb0f141372 -r35309aba38c8d8105181f619b63e2438602d8738 --- dialin/hd/blood_leak.py (.../blood_leak.py) (revision 3b24090c1e1bd87d1e58d14d23d9bbdb0f141372) +++ dialin/hd/blood_leak.py (.../blood_leak.py) (revision 35309aba38c8d8105181f619b63e2438602d8738) @@ -406,3 +406,33 @@ self.logger.debug("Timeout!!!!") return False + def cmd_blood_leak_zeroing_interval_in_minutes(self, value_mins: int, reset=NO_RESET): + """ + Constructs and sends the blood leak zeroing interval in munutes + Constraints: + Must be logged into HD. + + @param value_mins: unsigned int - blood leak zeroing interval in minutes + @param reset: integer - 1 to reset a previous override, 0 to override + @return: 1 if successful, zero otherwise + """ + rst = integer_to_bytearray(reset) + mins = integer_to_bytearray(value_mins) + payload = rst + mins + + message = DenaliMessage.build_message(channel_id=DenaliChannels.dialin_to_hd_ch_id, + message_id=MsgIds.MSG_ID_HD_BLOOD_LEAK_ZEROING_INTERVAL_IN_MINS_OVERRIDE.value, + payload=payload) + + self.logger.debug("Override blood leak zeroing interval to {} minute(s)".format(value)) + + # Send message + received_message = self.can_interface.send(message) + + # If there is content... + if received_message is not None: + # response payload is OK or not OK + return received_message['message'][DenaliMessage.PAYLOAD_START_INDEX] + else: + self.logger.debug("Timeout!!!!") + return False