Index: dialin/hd/syringe_pump.py =================================================================== diff -u -radae506afce35a0063c6c2baf7e8580986f3bee7 -r1230c685476b4fe0aee90ecf07b553725c1a3e92 --- dialin/hd/syringe_pump.py (.../syringe_pump.py) (revision adae506afce35a0063c6c2baf7e8580986f3bee7) +++ dialin/hd/syringe_pump.py (.../syringe_pump.py) (revision 1230c685476b4fe0aee90ecf07b553725c1a3e92) @@ -745,3 +745,32 @@ self.logger.debug("Timeout!!!!") return False + def cmd_heprin_target_rate_override(self, rate: float, reset: int = NO_RESET) -> int: + """ + Constructs and sends the target rate value override command + Constraints: + Must be logged into HD. + + @param rate: (float) the target rate to be set + @param reset: (int) 1 to reset a previous override, 0 to override + @return 1 if successful, zero otherwise + """ + reset_value = integer_to_bytearray(reset) + vlu = float_to_bytearray(rate) # HD expects the rate in mL/hour + payload = reset_value + vlu + + message = DenaliMessage.build_message(channel_id=DenaliChannels.dialin_to_hd_ch_id, + message_id=MsgIds.MSG_ID_HD_HEPRIN_BOLUS_TARGET_RATE_OVERRIDE.value, + payload=payload) + self.logger.debug("Overriding heprin bolus target rate broadcast value override") + + # 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("Heprin bolus target value override Timeout!!!") + return False \ No newline at end of file Index: tests/test_heprin_bolus_target_rate.py =================================================================== diff -u --- tests/test_heprin_bolus_target_rate.py (revision 0) +++ tests/test_heprin_bolus_target_rate.py (revision 1230c685476b4fe0aee90ecf07b553725c1a3e92) @@ -0,0 +1,37 @@ +########################################################################### +# +# Copyright (c) 2019-2022 Diality Inc. - All Rights Reserved. +# +# THIS CODE MAY NOT BE COPIED OR REPRODUCED IN ANY FORM, IN PART OR IN +# WHOLE, WITHOUT THE EXPLICIT PERMISSION OF THE COPYRIGHT OWNER. +# +# @file test_heprin_target_rate.py +# +# @author (last) Hung Nguyen +# @date (last) 12-Feb-2022 +# @author (original) Hung Nguyen +# @date (original) 29-Oct-2021 +# +############################################################################ + +import sys +sys.path.append("..") +from dialin.hd.hemodialysis_device import HD +from dialin.dg.dialysate_generator import DG +from time import sleep + +if __name__ == "__main__": + + # Create a heprin bolus set target rate object called df_object + hd_object = HD() + hd_object.cmd_log_in_to_dg() + + hd_object.syringe_pump.cmd_heprin_target_rate_override(30.0) + + + + + + + +