########################################################################### # # Copyright (c) 2019-2019 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 HD_TestScript.py # # @date 19-Nov-2019 # @author S. Nash # # @brief This is an example test script for the HD. # ############################################################################ # TODO: Use .format or f" {varname}" instead of casting to string. # TODO: Break while loops on some condition, shouldn't rely on Ctrl-C. from HemodialysisDevice import HD from time import sleep if __name__ == "__main__": hd = HD(can_interface_name="vcan0") sleep(2) if hd.basics.cmd_log_in_to_hd() == 0: exit(1) hd.bloodflow.cmd_blood_flow_broadcast_interval_override(hd.RESET, 0) sleep(2) print("Blood Flow Target = " + str(hd.bloodflow.TargetBloodFlowRate)) print("Blood Pump Current= " + str(hd.bloodflow.MeasuredBloodPumpMCCurrent)) sleep(5) print("Blood Pump Current= " + str(hd.bloodflow.MeasuredBloodPumpMCCurrent)) hd.bloodflow.cmd_blood_pump_measured_current_override(hd.NO_RESET, 140) sleep(1) print("Blood Pump Current= " + str(hd.bloodflow.MeasuredBloodPumpMCCurrent)) sleep(5) hd.bloodflow.cmd_blood_pump_measured_current_override(hd.RESET, 0) while True: sleep(0.5) print("Measured Flow = " + str(hd.bloodflow.MeasuredBloodFlowRate) + " mL/min") tgtRate = 0 hd.BloodFlow.cmd_blood_flow_broadcast_interval_override(hd.NO_RESET, 2000) while True: if hd.BloodFlow.TargetBloodFlowRate == 0: if tgtRate != 0: hd.BloodFlow.cmd_blood_flow_broadcast_interval_override(hd.NO_RESET, 2000) tgtRate = 0 else: if tgtRate == 0: hd.BloodFlow.cmd_blood_flow_broadcast_interval_override(hd.NO_RESET, 200) tgtRate = hd.BloodFlow.TargetBloodFlowRate # hd.bloodflow.cmd_blood_flow_broadcast_interval_override(hd.RESET,0)