Index: tests/dg_tests.py =================================================================== diff -u -rc3b33cf5796df77eb213523c1e06ba4adbb9501d -r3610e47688e6536f3183e60dbff44d2cb29e56e7 --- tests/dg_tests.py (.../dg_tests.py) (revision c3b33cf5796df77eb213523c1e06ba4adbb9501d) +++ tests/dg_tests.py (.../dg_tests.py) (revision 3610e47688e6536f3183e60dbff44d2cb29e56e7) @@ -97,12 +97,17 @@ def get_dg_reservoirs_info(): info = ('Time_rsrvr_cycle, {}, Time_rsrvr_fill_2_switch, {}, Time_uf_decay, {:5.3f}, Temp_uf_fill, {:5.3f}, ' 'Temp_rsrvr_use_actual, {:5.3f}, Temp_rsrvr_end_fill, {:5.3}, Temp_avg_fill, {:5.3f}, ' - 'Temp_last_fill, {:5.3f}, Time_rsrvr_fill, {:5.3f}, '.format(dg.reservoirs.time_reservoir_cycle, - dg.reservoirs.time_reservoir_fill_2_switch, - dg.reservoirs.time_uf_decay, dg.reservoirs.temp_uf_fill, - dg.reservoirs.temp_reservoir_use_actual, - dg.reservoirs.temp_reservoir_end_fill, dg.reservoirs.temp_avg_fill, - dg.reservoirs.temp_last_fill, dg.reservoirs.time_rsrvr_fill)) + 'Temp_last_fill, {:5.3f}, Time_rsrvr_fill, {:5.3f}, drain_flow, {:5.3f}, load_cell_w, {:5.3f}, start_time, {}, ' + .format(dg.reservoirs.time_reservoir_cycle, + dg.reservoirs.time_reservoir_fill_2_switch, + dg.reservoirs.time_uf_decay, + dg.reservoirs.temp_uf_fill, + dg.reservoirs.temp_reservoir_use_actual, + dg.reservoirs.temp_reservoir_end_fill, + dg.reservoirs.temp_avg_fill, + dg.reservoirs.temp_last_fill, + dg.reservoirs.time_rsrvr_fill, + dg.reservoirs.drainFlow, dg.reservoirs.previousLoad, dg.reservoirs.startTime)) return info @@ -155,11 +160,11 @@ def get_ro_info(): info = ('RO, {}, PPi, {:5.3f}, PPo, {:5.3f}, PWM, {:5.3f}, Flow, {:5.3f}, Tgt_flow, {:5.3f}, Dia_flow, {:5.3f}, ' - 'Feedback_PWM, {:5.3f}, ' + 'Feedback_PWM, {:5.3f}, Raw_flow, {:5.3f}, ' .format(dg.ro_pump.ro_pump_state, dg.pressures.ro_pump_inlet_pressure, dg.pressures.ro_pump_outlet_pressure, dg.ro_pump.pwm_duty_cycle_pct, dg.ro_pump.measured_flow_rate_lpm, dg.ro_pump.target_flow_lpm, dg.dialysate_flow_sensor.flow_rate, - dg.ro_pump.feedback_duty_cycle_pct)) + dg.ro_pump.feedback_duty_cycle_pct, dg.ro_pump.measured_raw_flow_rate_mlp)) return info @@ -215,14 +220,15 @@ def get_hd_fans_info(): info = ('HD_Fan_DC, {:5.3f}, Target_HD_RPM, {:5.3f}, Inlet1_RPM, {:5.3f}, HD_Board_temp, {:5.3f}, ' 'HD_Power_supply, {:5.3f}, HD_FPGA_temp, {:5.3f}, PBA_ADC_temp, {:5.3f}, Venous_temp, {:5.3f}, ' - 'Arterial_temp, {:5.3f}, ' + 'Arterial_temp, {:5.3f}, RPM_time_offset, {}, Start_time, {} ' .format(hd.fans.duty_cycle, hd.fans.target_rpm, hd.fans.inlet_1_rpm, hd.temperatures.hd_temperatures[HDTemperaturesNames.THERMISTOR_ONBOARD_NTC.name], hd.temperatures.hd_temperatures[HDTemperaturesNames.THERMISTOR_POWER_SUPPLY_1.name], hd.temperatures.hd_temperatures[HDTemperaturesNames.TEMPSENSOR_FPGA_BOARD.name], hd.temperatures.hd_temperatures[HDTemperaturesNames.TEMPSENSOR_PBA_ADC_SENSOR.name], hd.temperatures.hd_temperatures[HDTemperaturesNames.TEMPSENSOR_VENOUS_PRESS_TEMP.name], - hd.temperatures.hd_temperatures[HDTemperaturesNames.TEMPSENSOR_ARTERIAL_PRESS_TEMP.name])) + hd.temperatures.hd_temperatures[HDTemperaturesNames.TEMPSENSOR_ARTERIAL_PRESS_TEMP.name], + hd.fans.rpm_alarm_time_offset, hd.fans.remove)) return info @@ -233,7 +239,6 @@ def get_concentrate_pumps_info(): - info = ('Bicarb_tgt_speed, {:5.3f}, Bicarb_speed, {:5.3f}, Acid_tgt_speed, {:5.3f}, Acid_speed, {:5.3f}, ' 'CPo, {:5.3f}, CD1, {:5.3f}, CD2, {:5.3f}, ' .format(dg.concentrate_pumps.concentrate_pump_cp2_current_set_speed, @@ -267,6 +272,9 @@ dg.hd_proxy.cmd_start_stop_dg() sleep(0.1) + dg.hd_proxy.cmd_switch_reservoirs(reservoir_id=1) + sleep(0.1) + try: while True: dg_run = get_dg_run_info() @@ -275,51 +283,30 @@ load_cell = get_load_cells_info() drain = get_drain_states_info() ro = get_ro_info() + dg_rsrvrs = get_dg_reservoirs_info() fans = get_dg_fans_info() + conc = get_concentrate_pumps_info() valves = get_dg_valves_states() - var = str(datetime.now()) + ', ' + str(run_number) + ', ' + str(recirc_delay) + ', ' + dg_run + \ - temperature + heaters + load_cell + drain + ro + fans + valves + '\r' + var = str(datetime.now()) + ', ' + dg_run + \ + temperature + heaters + load_cell + drain + ro + dg_rsrvrs + conc + fans + valves + '\r' print(var) f.write(var) - if run_number > 7 and dg.dg_operation_sub_mode == 2: - dg.hd_proxy.cmd_start_stop_dg(start=False) - f.close() - break - - elif DGOperationModes(dg.dg_operation_mode).name == DGOperationModes.DG_OP_MODE_GEN_IDLE.name and \ + if DGOperationModes(dg.dg_operation_mode).name == DGOperationModes.DG_OP_MODE_GEN_IDLE.name and \ dg.dg_operation_sub_mode == 2 and counter == 1: - - if recirc_delay < 5: - recirc_delay += 1 - else: - if timer == 1: - dg.hd_proxy.cmd_switch_reservoirs(reservoirID=1) - timer += 1 - - if timer > ((1 / sleep_time) * 1): - timer = 1 - recirc_delay = 1 - counter += 1 - - elif DGOperationModes(dg.dg_operation_mode).name == DGOperationModes.DG_OP_MODE_GEN_IDLE.name and \ - dg.dg_operation_sub_mode == 2 and counter == 2: dg.hd_proxy.cmd_drain(tare_load_cell=True) counter += 1 timer = 1 elif DGOperationModes(dg.dg_operation_mode).name == DGOperationModes.DG_OP_MODE_GEN_IDLE.name and \ - dg.dg_operation_sub_mode == 2 and counter == 3: + dg.dg_operation_sub_mode == 2 and counter == 2: + counter += 1 + dg.hd_proxy.cmd_fill() - timer += 1 - if timer > 4: - dg.hd_proxy.cmd_fill(volume=1700) - counter += 1 - elif DGOperationModes(dg.dg_operation_mode).name == DGOperationModes.DG_OP_MODE_GEN_IDLE.name and \ - dg.dg_operation_sub_mode == 2 and counter == 4: + dg.dg_operation_sub_mode == 2 and counter == 3: counter = 1 run_number += 1 @@ -351,7 +338,7 @@ blood_leak = get_blood_leak_info() var = str(datetime.now()) + ', ' + hd_run + dg_run + hd_rsrvrs + dg_rsrvrs + load_cell + drain + ro + \ - temp + heaters + conc_pumps + dg_fans + valves + blood_leak + '\r' + temp + heaters + conc_pumps + dg_fans + valves + blood_leak + '\r' print(var) f.write(var) @@ -368,7 +355,6 @@ try: while True: - sleep(1) except KeyboardInterrupt: events = hd.hd_events.get_hd_events(2, 0) @@ -489,27 +475,27 @@ hd.fans.cmd_fans_rpm_override(0, 1000.0, reset=0) start_time = datetime.now() i = 0 + ack = False + counter = 0 while True: - info = str(counter) + ', ' + str(datetime.now() - start_time) + ', ' + str(hd.fans.alarm_elapsed) \ - + ', ' + str(hd.fans.inlet_1_rpm) + ', ' + str(hd.fans.target_rpm) + ', ' + \ - str(hd.alarms.get_alarm_state(AlarmList.ALARM_ID_HD_FAN_RPM_OUT_OF_RANGE.value)) + ', ' + \ - str(hd.alarms.alarm_states[AlarmList.ALARM_ID_HD_FAN_RPM_OUT_OF_RANGE.value]) + '\r' + alarm_state = hd.alarms.get_alarm_state(AlarmList.ALARM_ID_HD_FAN_RPM_OUT_OF_RANGE.value) + info = str(alarm_state) + ', ' + str(datetime.now() - start_time) + ', ' + get_hd_fans_info() + '\r' print(info) f.write(info) - if hd.alarms.get_alarm_state(AlarmList.ALARM_ID_HD_FAN_RPM_OUT_OF_RANGE.value): - print(counter, datetime.now() - start_time) + if alarm_state: + if ack is False and counter == 0: + hd.ui.cmd_ui_user_alarm_response(3) + ack = True + if ack: + if i == 0 and counter == 50: + hd.fans.cmd_fans_rpm_alarm_start_time_offset_override(86401) + i += 1 + elif alarm_state and i > 0: + break + counter += 1 - hd.ui.cmd_ui_user_alarm_response(3) - break - - #if i > 4000 / 50: - # hd.ui.cmd_ui_user_alarm_response(3) - # break - #i += 1 sleep(0.05) - - counter += 1 break @@ -546,7 +532,7 @@ ack = True if ack: if i == 0 and counter == 50: - dg.fans.cmd_fans_rpm_alarm_start_time_offset_override(24, 5) + dg.fans.cmd_fans_rpm_alarm_start_time_offset_override(86390) i += 1 elif alarm_state and i > 0: break @@ -557,27 +543,31 @@ if __name__ == "__main__": - dg = DG(log_level='DEBUG') dg.cmd_log_in_to_dg() sleep(1) hd = HD(log_level='DEBUG') hd.cmd_log_in_to_hd() sleep(1) - run_heat_disinfect() + # run_heat_disinfect() # run_chemical_disinfect() # run_dg() # cmd_set_disinfect_ui_screen() - #collect_treatment_data() + # collect_treatment_data() # collect_hd_treatment() # test_hd_fans_alarms() # test_dg_fans_alarms() + while True: + #print(get_dg_fans_info()) + for i in range(0, 18): + print(dg.temperatures.get_temperatures_values(i)) + sleep(1)