Index: tests/SeansUFTest.py =================================================================== diff -u -rcdd3a485aebd088ffcab9848e6f1d0ec50e29624 -r441eda312faf87b49f0967d8413690c7f63f9b58 --- tests/SeansUFTest.py (.../SeansUFTest.py) (revision cdd3a485aebd088ffcab9848e6f1d0ec50e29624) +++ tests/SeansUFTest.py (.../SeansUFTest.py) (revision 441eda312faf87b49f0967d8413690c7f63f9b58) @@ -17,40 +17,54 @@ 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 as tester + # 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) - loadCellGrams = float(1500.0) #start reservoir at 1.5 L (1,500 g) - hdUFRate = 20.0 #assuming UF rate is 20 mL/min - idealWeightChange = hdUFRate / 60.0 #if DPo is controlling perfectly, this would be the weight gain per second - - while hd.dialysate_outlet_flow.PWMDutyCyclePct < 15.0: #wait for treatment to start - hd.dialysate_outlet_flow.CmdSetLoadCellWeights(loadCellGrams, 0.0, 0.0, 0.0) - sleep(1) - - # simulate load cell increase over time w/ some response to UF control + # collect UF related data from HD and DG while True: sleep(1) - error = hd.dialysate_outlet_flow.PWMDutyCyclePct - hd.dialysate_outlet_flow.PWMDutyCyclePct - addedWeight = error * 0.1 - loadCellGrams += addedWeight - hd.dialysate_outlet_flow.CmdSetLoadCellWeights(loadCellGrams, 0.0, 0.0, 0.0) - print("DPi PWM: " + str(hd.dialysate_outlet_flow.PWMDutyCyclePct) + " DPo PWM: " + str(hd.dialysate_outlet_flow.PWMDutyCyclePct)) - print("Treatment Time: " + str(hd.treatment.TreatmentTimeElapsed) + " sec.") - print("Reservoir Vol.: " + str(loadCellGrams) + " mL.") - print("Reference Vol.: " + str(hd.dialysate_outlet_flow.ReferenceDialysateOutletUFVolume) + " mL.") - print("Meas. UF Vol.: " + str(hd.dialysate_outlet_flow.MeasuredDialysateOutletUFVolume) + " mL.") - print("") + 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) - exit(1) + print("Pump Set Points: "+pumpSetPts) + print(" Pump Speeds: "+pumpMeasSpds) + print(" Pump PWMs/DACs: "+pumpPWMs) + print(" Load Cells: "+loadCells) + print("Ultrafiltration: "+ultraFilt) +# exit(1) +