Index: tests/test_uf.py =================================================================== diff -u -r1b768bf4593cd29f00a5e07546c3e7b16d7a646c -r32e628abcbbd3fd70866505d9f2836a6f732ef06 --- tests/test_uf.py (.../test_uf.py) (revision 1b768bf4593cd29f00a5e07546c3e7b16d7a646c) +++ tests/test_uf.py (.../test_uf.py) (revision 32e628abcbbd3fd70866505d9f2836a6f732ef06) @@ -1,24 +1,25 @@ ########################################################################### # -# Copyright (c) 2019-2020 Diality Inc. - All Rights Reserved. +# Copyright (c) 2020-2024 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_uf.py +# @file test_uf.py # -# @author (last) Peter Lucia -# @date (last) 02-Oct-2020 -# @author (original) Peter Lucia -# @date (original) 14-Jul-2020 +# @author (last) Sean Nash +# @date (last) 24-Sep-2022 +# @author (original) Peter Lucia +# @date (original) 14-Jul-2020 # ############################################################################ import sys sys.path.append("..") from dialin.hd.hemodialysis_device import HD from dialin.dg.dialysate_generator import DG -from dialin.dg.temperature_sensors import TemperatureSensorsNames +from dialin.hd.valves import ValvesEnum +from dialin.dg.temperatures import DGTemperaturesNames from time import sleep if __name__ == "__main__": @@ -58,19 +59,31 @@ ultraFilt = ", RfUF, " + '{:9.2f}'.format(hd.dialysate_outlet_flow.reference_dialysate_outlet_uf_volume) + \ ", MsUF, " + '{:9.2f}'.format(hd.dialysate_outlet_flow.measured_dialysate_outlet_uf_volume) + \ ", Act.Res, " + '{:1d}'.format(dg.reservoirs.active_reservoir) - valves = ", Vlv, " + '{:4X}'.format(dg.valves.valve_states_all) + valves = ", DGVlvs, " + '{:4X}'.format(dg.valves.valve_states_all) + \ + ", VBA, " + hd.valves.valves_status[ValvesEnum.VBA.name]["PosID"] + \ + ", VBV, " + hd.valves.valves_status[ValvesEnum.VBV.name]["PosID"] + \ + ", VDi, " + hd.valves.valves_status[ValvesEnum.VDI.name]["PosID"] + \ + ", VDo, " + hd.valves.valves_status[ValvesEnum.VDO.name]["PosID"] + \ + ", VBT, " + '{:1d}'.format(hd.valves.hd_air_trap_status) + air = ", ADV, " + '{:1d}'.format(hd.air_bubbles.air_bubbles_status[0]) + \ + ", ULBl, " + '{:1d}'.format(hd.air_trap.lower_level) + \ + ", ULBu, " + '{:1d}'.format(hd.air_trap.upper_level) pumpSetPts = ", BP.s, " + '{:4d}'.format(hd.bloodflow.target_blood_flow_rate) + \ ", DPi.s, " + '{:4d}'.format(hd.dialysate_inlet_flow.target_dialysate_inlet_flow_rate) + \ ", ROP.s, " + '{:9.2f}'.format(dg.ro_pump.target_pressure_psi) + \ ", DRP.s, " + '{:9.2f}'.format(dg.drain_pump.target_drain_pump_rpm) pumpMeasSpds = ", BP.m, " + '{:7.1f}'.format(hd.bloodflow.measured_blood_pump_speed) + \ + ", BP.m2, " + '{:7.1f}'.format(hd.bloodflow.get_measured_blood_pump_motor_controller_speed()) + \ ", BP.r, " + '{:6.1f}'.format(hd.bloodflow.measured_blood_pump_rotor_speed) + \ ", BP.f, " + '{:7.1f}'.format(hd.bloodflow.measured_blood_flow_rate) + \ ", DPi.m, " + '{:7.1f}'.format(hd.dialysate_inlet_flow.measured_dialysate_inlet_pump_speed) + \ + ", DPi.m2, " + '{:7.1f}'.format(hd.dialysate_inlet_flow.get_measured_dialysate_inlet_pump_motor_controller_speed()) + \ ", DPi.r, " + '{:7.1f}'.format(hd.dialysate_inlet_flow.measured_dialysate_inlet_pump_rotor_speed) + \ ", DPi.f, " + '{:7.1f}'.format(hd.dialysate_inlet_flow.measured_dialysate_inlet_flow_rate) + \ ", DPo.m, " + '{:7.1f}'.format(hd.dialysate_outlet_flow.measured_dialysate_outlet_pump_speed) + \ + ", DPo.m2, " + '{:7.1f}'.format(hd.dialysate_outlet_flow.get_measured_dialysate_outlet_pump_motor_controller_speed()) + \ ", DPo.r, " + '{:6.1f}'.format(hd.dialysate_outlet_flow.measured_dialysate_outlet_pump_rotor_speed) + \ + ", FMD.f, " + '{:7.4f}'.format(dg.dialysate_flow_sensor.get_flow_rate()) + \ ", ROP.f, " + '{:9.3f}'.format(dg.ro_pump.measured_flow_rate_lpm) pumpPWMs = ", BP.w, "+'{:6.1f}'.format(hd.bloodflow.pwm_duty_cycle_pct) + \ ", DPi.w, " + '{:6.1f}'.format(hd.dialysate_inlet_flow.pwm_duty_cycle_pct) + \ @@ -83,14 +96,12 @@ ", PDr, " + '{:9.2f}'.format(dg.pressures.drain_pump_outlet_pressure) hdPress = ", PBA, " + '{:9.2f}'.format(hd.pressure_occlusion.arterial_pressure) + \ ", PBV, " + '{:9.2f}'.format(hd.pressure_occlusion.venous_pressure) + \ - ", OB, " + '{:7d}'.format(hd.pressure_occlusion.blood_pump_occlusion) + \ - ", ODi, " + '{:7d}'.format(hd.pressure_occlusion.dialysate_inlet_pump_occlusion) + \ - ", ODo, " + '{:7d}'.format(hd.pressure_occlusion.dialysate_outlet_pump_occlusion) - Temps = ", TPi, " + '{:9.2f}'.format(dg.temperature_sensors.get_temperature(TemperatureSensorsNames.INLET_PRIMARY_HEATER.name)) + \ - ", TPo, " + '{:9.2f}'.format(dg.temperature_sensors.get_temperature(TemperatureSensorsNames.OUTLET_PRIMARY_HEATER.name)) + \ - ", TRo, " + '{:9.2f}'.format(dg.temperature_sensors.get_temperature(TemperatureSensorsNames.INLET_DIALYSATE.name)) + \ - ", TDi, " + '{:9.2f}'.format(dg.temperature_sensors.get_temperature(TemperatureSensorsNames.OUTLET_DIALYSATE_REDUNDANT.name)) - alarms = ", AL.s, " + hd.alarms.get_current_alarms_state() + \ + ", OB, " + '{:7d}'.format(hd.pressure_occlusion.blood_pump_occlusion) + Temps = ", TPi, " + '{:9.2f}'.format(dg.temperatures.temperatures[DGTemperaturesNames.INLET_PRIMARY_HEATER.name]) + \ + ", TPo, " + '{:9.2f}'.format(dg.temperatures.temperatures[DGTemperaturesNames.OUTLET_PRIMARY_HEATER.name]) + \ + ", TRo, " + '{:9.2f}'.format(dg.temperatures.temperatures[DGTemperaturesNames.INLET_DIALYSATE.name]) + \ + ", TDi, " + '{:9.2f}'.format(dg.temperatures.temperatures[DGTemperaturesNames.OUTLET_DIALYSATE_REDUNDANT.name]) + "," + alarms = ", AL.s, " + '{:1d}'.format(hd.alarms.get_current_alarms_state()) + \ ", AL.t, " + '{:4d}'.format(hd.alarms.alarm_top) accels = ", AC.x, " + '{:9.4f}'.format(hd.accel.get_accel_vector().x) + \ ", AC.y, " + '{:9.4f}'.format(hd.accel.get_accel_vector().y) + \ @@ -101,6 +112,11 @@ ", ACt.x, " + '{:9.4f}'.format(hd.accel.get_accel_tilts().x) + \ ", ACt.y, " + '{:9.4f}'.format(hd.accel.get_accel_tilts().y) + \ ", ACt.z, " + '{:9.4f}'.format(hd.accel.get_accel_tilts().z) + htrs = (', Pri_main_DC, {:5.3f}, Pri_small_DC, {:5.3f}, Trimmer_DC, {:5.3f}, ' + 'Primary_target_temp, {:5.3f}, Trimmer_target_temp, {:5.3f}, '. + format(dg.heaters.main_primary_heater_duty_cycle, dg.heaters.small_primary_heater_duty_cycle, + dg.heaters.trimmer_heater_duty_cycle, + dg.heaters.primary_heaters_target_temperature, dg.heaters.trimmer_heater_target_temperature)) # log data f.write(modes) @@ -115,6 +131,8 @@ f.write(accels) f.write(hdPress) f.write(Temps) + f.write(htrs) + f.write(air) f.write("\n") # print to console @@ -127,7 +145,9 @@ print(" Pump PWMs/DACs: "+pumpPWMs) print(" DG Pressures: "+dgPress) print(" HD Pressures: "+hdPress) + print(" DG Heaters: "+htrs) print(" Temperatures: "+Temps) + print(" Air: "+air) print(" Accelerometer: "+accels) print(" Alarms: "+alarms)