########################################################################### # # 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_UFTest.py # # @date 28-Jan-2020 # @author S. Nash # # @brief This script simulates 300 grams of load cell increase over 15 minutes (20 mL/min). # ############################################################################ 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 an HD object called hd hd = HD() # create a DG object called dg dg = DG() sleep(2) # log in to HD and DG as tester if hd.cmd_log_in_to_hd() == 0: exit(1) if dg.cmd_log_in_to_dg() == 0: exit(1) sleep(1) # create log file with open("SeansUFLog1.txt", "w") as f: # collect UF related data from HD and DG while True: sleep(1) pumpSetPts = "B," + str(hd.bloodflow.target_blood_flow_rate) + \ ",DI," + str(hd.dialysate_inlet_flow.target_dialysate_inlet_flow_rate) + \ ",DO,N/A,RO," + str(dg.ro_pump.target_pressure_psi) + \ ",DR," + str(dg.drain_pump.target_drain_pump_speed_RPM) pumpMeasSpds = "B.m," + str(hd.bloodflow.measured_blood_pump_speed) + \ ",B.r," + str(hd.bloodflow.measured_blood_pump_rotor_speed) + \ ",DI.m," + str(hd.dialysate_inlet_flow.measured_dialysate_inlet_pump_speed) + \ ",DI.r," + str(hd.dialysate_inlet_flow.measured_dialysate_inlet_pump_rotor_speed) + \ ",DO.m," + str(hd.dialysate_outlet_flow.measured_dialysate_outlet_pump_speed) + \ ",DO.r," + str(hd.dialysate_outlet_flow.measured_dialysate_outlet_pump_rotor_speed) pumpPWMs = "B,"+str(hd.bloodflow.pwm_duty_cycle_pct) + \ ",DI," + str(hd.dialysate_inlet_flow.pwm_duty_cycle_pct) + \ ",DO," + str(hd.dialysate_outlet_flow.pwm_duty_cycle_pct) + \ ",RO," + str(dg.ro_pump.pwm_duty_cycle_pct) + \ ",DR," + str(dg.drain_pump.dacValue) loadCells = "A1," + str(dg.load_cells.load_cell_A1) + \ ",B1," + str(dg.load_cells.load_cell_B1) + \ ",A2," + str(dg.load_cells.load_cell_A2) + \ ",B2," + str(dg.load_cells.load_cell_B2) ultraFilt = "RfUF," + str(hd.dialysate_outlet_flow.reference_dialysate_outlet_uf_volume) + \ ",MsUF," + str(hd.dialysate_outlet_flow.measured_dialysate_outlet_uf_volume) # log data f.write(pumpSetPts) f.write(pumpMeasSpds) f.write(pumpPWMs) f.write(loadCells) f.write(ultraFilt) f.write("\n") # print to console print("Pump Set Points: "+pumpSetPts) print(" Pump Speeds: "+pumpMeasSpds) print(" Pump PWMs/DACs: "+pumpPWMs) print(" Load Cells: "+loadCells) print("Ultrafiltration: "+ultraFilt) # exit(1)