Index: tests/dg_tests.py =================================================================== diff -u -rbca51efc98d8cbb3759ed270193c74e6d4ce3fee -r1c5dbffa6b205c14f92e05badc563f2a84980bfa --- tests/dg_tests.py (.../dg_tests.py) (revision bca51efc98d8cbb3759ed270193c74e6d4ce3fee) +++ tests/dg_tests.py (.../dg_tests.py) (revision 1c5dbffa6b205c14f92e05badc563f2a84980bfa) @@ -44,6 +44,7 @@ from dialin.hd.valves import HDValves from dialin.hd.voltages import HDMonitoredVoltages from dialin.hd.pretreatment import PreTreatmentRsrvrState +from dialin.common.dg_defs import DGFlushStates from time import sleep from datetime import datetime import sys @@ -77,6 +78,14 @@ return info +def get_flush_mode_info(): + info = ('State, {}, Overall_elapsed_time, {}, State_elapsed_time, {}, Drain_vol, {:5.3f}, Top_alarm, {}, ' + .format(DGFlushStates(dg.flush.flush_state).name, dg.flush.overall_elapsed_time, dg.flush.state_elapsed_time, + dg.flush.flush_drain_line_volume_l, hd.alarms.alarm_top)) + + return info + + def get_hd_run_info(): info = ('HD_op_mode, {}, HD_sub_mode, {}, Top_alarm, {}, Target_UF_ml, {:5.3f}, Meas_UF_ml, {:5.3f}, ' 'Wet_test_state, {}, Post_tx_state, {}, Post_tx_drain_state, {}, Prime_state, {}, Pre_Tx_rsrvr_state, {}, ' @@ -175,19 +184,12 @@ 'Feedback_PWM, {:5.3f}, Flow_with_conc_pumps, {:5.3f}, Dialysate_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.measured_flow_rate_lpm, dg.ro_pump.target_flow_lpm, dg.flow_sensors.measured_dialysate_flow_LPM, dg.ro_pump.feedback_duty_cycle_pct, dg.ro_pump.measured_raw_flow_rate_with_conc_pumps_mlp, - dg.dialysate_flow_sensor.flow_rate)) + dg.flow_sensors.measured_dialysate_flow_LPM)) return info -def get_new_ro_info(): - info = ('New_flow, {:5.3f}, Tgt_flow, {:5.3f}, New_flow_with_conc_pumps, {:5.3f}, New_dialysate_flow, {:5.3f}, ' - .format(dg.dialysate_flow_sensor.new_ro_flow, dg.dialysate_flow_sensor.new_dialysate_flow, - dg.dialysate_flow_sensor.new_ro_flow_with_conc, dg.dialysate_flow_sensor.new_dialysate_flow)) - return info - - def get_heaters_with_no_temp_info(): info = ('Pri_main_DC, {:5.3f}, Pri_state, {}, Trimmer_DC, {:5.3f}, Trim_state, {}, ' 'Primary_target_temp, {:5.3f}, Trimmer_target_temp, {:5.3f}, '. @@ -200,16 +202,18 @@ def get_heaters_info(): info = ('Pri_main_DC, {:5.3f}, Pri_state, {}, Trimmer_DC, {:5.3f}, Trimmer_state, {}, ' 'Primary_target_temp, {:5.3f}, Trimmer_target_temp, {:5.3f}, Primary_eff, {:5.3f}, ' - 'Primary_calc_temp, {:5.3f}, Trimmer_calc_temp, {:5.3f}, Primary_volt, {:5.3f}, Primary_sec_volt, {:5.3f},' + 'Primary_calc_temp, {:5.3f}, Trimmer_calc_temp, {:5.3f}, Primary_power, {:5.3f}, ' + 'Primary_volt, {:5.3f}, Primary_sec_volt, {:5.3f},' ' Trimmer_volt, {:5.3f}, ' .format(dg.heaters.main_primary_heater_duty_cycle, dg.heaters.primary_heater_state, dg.heaters.trimmer_heater_duty_cycle, dg.heaters.trimmer_heater_state, dg.heaters.primary_heaters_target_temperature, dg.heaters.trimmer_heater_target_temperature, dg.heaters.primary_efficiency, dg.heaters.primary_calc_target_temperature, dg.heaters.trimmer_calc_target_temperature, - dg.voltages.monitored_voltages[DGMonitoredVoltages.MONITORED_LINE_24V_PRIM_HTR_V.value], - dg.voltages.monitored_voltages[DGMonitoredVoltages.MONITORED_LINE_24V_PRIM_HTR_GND_V.value], - dg.voltages.monitored_voltages[DGMonitoredVoltages.MONITORED_LINE_24V_TRIM_HTR_V.value])) + dg.voltages.monitored_voltages[DGMonitoredVoltages.MONITORED_LINE_24V_POWER_PRIM_HTR_V.value], + dg.voltages.monitored_voltages[DGMonitoredVoltages.MONITORED_LINE_24V_GND_MAIN_PRIM_HTR_V.value], + dg.voltages.monitored_voltages[DGMonitoredVoltages.MONITORED_LINE_24V_GND_SMALL_PRIM_HTR_V.value], + dg.voltages.monitored_voltages[DGMonitoredVoltages.MONITORED_LINE_24V_GND_TRIM_HTR_V.value])) return info @@ -324,6 +328,7 @@ hd.voltages.monitored_voltages[HDMonitoredVoltages.MONITORED_LINE_24V_REGEN.value])) return info + def run_dg(): counter = 1 timer = 0.1 @@ -397,14 +402,19 @@ counter = 1 start = False - sleep_time = 0.05 + sleep_time = 1 - dg.heaters.cmd_heaters_broadcast_interval_override(50) - sleep(1) - dg.voltages.cmd_monitored_voltages_broadcast_interval_override(50) + #dg.heaters.cmd_heaters_broadcast_interval_override(50) + #sleep(1) + #dg.voltages.cmd_monitored_voltages_broadcast_interval_override(50) #dg.concentrate_pumps.cmd_concentrate_pump_broadcast_interval_override(50) - #sleep(0.5) + #sleep(1) + #dg.hd_proxy.cmd_start_stop_dg() + #sleep(1) + + #dg.hd_proxy.cmd_fill() + try: while True: hd_run = get_hd_run_info() @@ -414,8 +424,7 @@ drain = get_drain_states_info() load_cell = get_load_cells_info() valves = get_dg_valves_states() - ro = str(0)#get_ro_info() - new_ro = str(0)#get_new_ro_info() + ro = get_ro_info() temp = get_temperature_sensors_info() heaters = get_heaters_info() dg_fans = get_dg_fans_info() @@ -424,9 +433,10 @@ hd_pumps = get_hd_pumps_info() fill_info = get_dg_fill_info() idle_bad_fill = get_dg_idle_bad_fill_info() + uv = get_uv_reactors_info() var = str(datetime.now()) + ', ' + hd_run + dg_run + hd_rsrvrs + dg_rsrvrs + load_cell + drain + ro + \ - new_ro + temp + heaters + conc_pumps + dg_fans + valves + blood_leak + hd_pumps + fill_info + '\r' + temp + heaters + conc_pumps + dg_fans + valves + blood_leak + hd_pumps + fill_info + uv + '\r' if hd.alarms.get_alarm_state(97) and start is False: dg.conductivity_sensors.cmd_conductivity_sensor_override(ConductivitySensorsEnum.CD2.value, 13700.00) @@ -484,7 +494,7 @@ def run_heat_disinfect(): complete_counter = 1 f = open("/home/fw/projects/dialin/tests/Heat_disinfect.log", "w") - #dg.hd_proxy.cmd_start_stop_dg_heat_disinfect() + dg.hd_proxy.cmd_start_stop_dg_heat_disinfect() try: while True: @@ -496,11 +506,12 @@ ro = get_ro_info() temp = get_temperature_sensors_info() heaters = get_heaters_info() + uv = get_uv_reactors_info() dg_fans = get_dg_fans_info() hd_fans = get_hd_fans_info() conc = get_concentrate_pumps_info() - var = disinfect + load_cell + drain + ro + temp + heaters + dg_fans + hd_fans + valves + conc + '\r' + var = disinfect + load_cell + drain + ro + temp + heaters + uv + dg_fans + hd_fans + valves + conc + '\r' print(var) f.write(var) @@ -575,51 +586,52 @@ sleep(1) -def test_dg_fans_alarms(): - f = open("/home/fw/projects/dialin/tests/dg_fans_issues.log", "w") +def run_flush_mode(): + complete_counter = 1 + f = open("/home/fw/projects/dialin/tests/flush_mode.log", "w") + dg.hd_proxy.cmd_start_stop_dg_flush() + #dg.cmd_dg_software_reset_request() - for fan in DGFansNames.__members__: + try: + while True: + flush = get_flush_mode_info() + load_cell = get_load_cells_info() + drain = get_drain_states_info() + ro = get_ro_info() + conc = get_concentrate_pumps_info() + uv_reactors = get_uv_reactors_info() + valves = get_dg_valves_states() - dg.cmd_dg_software_reset_request() - sleep(1) - dg.alarms.clear_dialin_alarms() - i = 0 - ack = False - counter = 0 + var = flush + uv_reactors + load_cell + drain + ro + conc + valves + '\r' - while True: - if dg.dg_operation_mode == DGOperationModes.DG_OP_MODE_STANDBY.value: - dg.cmd_log_in_to_dg() - sleep(1) - dg.fans.cmd_fans_data_broadcast_interval_override(50, reset=0) - sleep(1) - dg.fans.cmd_fans_rpm_override(DGFansNames[fan].value, 1000.0, reset=0) - start_time = datetime.now() - while True: - alarm_state = dg.alarms.get_alarm_state(AlarmList.ALARM_ID_DG_FAN_RPM_OUT_OF_RANGE.value) - info = str(fan) + ', ' + str(alarm_state) + ', ' + str(datetime.now() - start_time) + ', ' + \ - get_dg_fans_info() + '\r' - print(info) - f.write(info) + print(var) + f.write(var) + sleep(1) - 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: - dg.fans.cmd_fans_rpm_alarm_start_time_offset(86390) - i += 1 - elif alarm_state and i > 0: - break - counter += 1 + # If the mode came back to standby or standby solo + if dg.dg_operation_mode == 3 or dg.dg_operation_mode == 4: - sleep(0.05) - break + if complete_counter == 1: + dg.hd_proxy.cmd_start_stop_dg_flush() + # Write a few more complete states to make sure the complete state items are recorded + if complete_counter == 3: + f.close() + #events = dg.events.get_dg_events(2, 60) + #for event in events: + # print(event) + break + complete_counter += 1 -def test_dvt_drain_pump(): + except KeyboardInterrupt: + dg.hd_proxy.cmd_start_stop_dg_flush(start=False) + f.close() + #events = dg.events.get_dg_events(2, 50) + #for event in events: + # print(event) + +def test_dvt_drain_pump(): dg.drain_pump.cmd_drain_pump_set_rpm(2000) try: while True: @@ -630,7 +642,6 @@ def test_conc_pumps(): - dg.concentrate_pumps.cmd_concentrate_pump_state_change_request(0, True) sleep(1) #dg.concentrate_pumps.cmd_concentrate_pump_state_change_request(1, True) @@ -675,6 +686,8 @@ #run_heat_disinfect() + #run_flush_mode() + #run_chemical_disinfect() #run_dg() @@ -690,10 +703,6 @@ # sleep(1) #while True: - # print(get_new_ro_info(), get_ro_info()) - # sleep(1) - - #while True: # print(dg.rtc.get_rtc_epoch(), hd.rtc.get_rtc_epoch()) # sleep(1) @@ -714,3 +723,10 @@ #dg.ro_pump.cmd_set_ro_flow_rate(0.6) + #dg.flow_sensors.cmd_measured_flow_sensor_value_lpm_override(1, 0.8, reset=1) + + #while True: + + # print(get_ro_info()) + # sleep(1) +