Index: tests/dg_tests.py =================================================================== diff -u -rff18efc549b1029e3c4b76946c83d544e063b2d8 -r7fe939e59e034a80456d9f865c6fda428c2ae861 --- tests/dg_tests.py (.../dg_tests.py) (revision ff18efc549b1029e3c4b76946c83d544e063b2d8) +++ tests/dg_tests.py (.../dg_tests.py) (revision 7fe939e59e034a80456d9f865c6fda428c2ae861) @@ -8,7 +8,7 @@ # @file dg_tests.py # # @author (last) Dara Navaei -# @date (last) 18-Jan-2023 +# @date (last) 03-Feb-2023 # @author (original) Dara Navaei # @date (original) 16-Jan-2022 # @@ -19,7 +19,7 @@ from dialin.hd.hemodialysis_device import HD from dialin.ui.hd_simulator import HDSimulator from dialin.common.dg_defs import DGHeatDisinfectStates, DGHeatDisinfectUIStates -from dialin.dg.heat_disinfect import HeatCancellationModes +from dialin.dg.heat_disinfect import HeatCancellationModes, NelsonSupportModes from dialin.common.dg_defs import DGChemicalDisinfectStates, DGChemDisinfectUIStates from dialin.common.dg_defs import DGChemDisinfectFlushStates, DGChemDisinfectFlushUIStates from dialin.dg.chemical_disinfect import ChemCancellationModes @@ -59,6 +59,7 @@ state = 0 state_elapsed_time = 0 overall_elapsed_time = 0 + if dg.dg_operation_mode == 10: state = DGChemicalDisinfectStates(dg.chemical_disinfect.chemical_disinfect_state).name overall_elapsed_time = dg.chemical_disinfect.overall_elapsed_time @@ -116,12 +117,13 @@ overall_elapsed_time = dg.heat_disinfect_active_cool.overall_elapsed_time state_elapsed_time = dg.heat_disinfect_active_cool.state_elapsed_time - info = ('State, {}, Overall_elapsed_time, {}, State_elapsed_time, {}, Disinfect_elapsed_time, {}, ' - 'R1_level, {:5.3f}, R2_level, {:5.3f}, Top_alarm, {}, UI_state, {}, ' - .format(state, overall_elapsed_time, state_elapsed_time, - dg.heat_disinfect.heat_disinfect_count_down_time, dg.heat_disinfect.r1_level, - dg.heat_disinfect.r2_level, hd.alarms.alarm_top, - DGHeatDisinfectUIStates(dg.heat_disinfect.heat_disinfect_ui_state).name)) + info = ('State, {}, Overall_elapsed_time, {}, State_elapsed_time, {}, Disinfect_RO_77, {}, Disinfect_RO_82, {}, ' + 'Disinfect_R_77, {}, Disinfect_R_82, {}, R1_level, {:5.3f}, R2_level, {:5.3f}, Top_alarm, {}, UI_state, {},' + ' ' + .format(state, overall_elapsed_time, state_elapsed_time, dg.heat_disinfect.disinfect_ro_77_time_s, + dg.heat_disinfect.disinfect_ro_82_time_s, dg.heat_disinfect.disinfect_r_77_time_s, + dg.heat_disinfect.disinfect_r_82_time_s, dg.heat_disinfect.r1_level, dg.heat_disinfect.r2_level, + hd.alarms.alarm_top, DGHeatDisinfectUIStates(dg.heat_disinfect.heat_disinfect_ui_state).name)) return info @@ -307,8 +309,9 @@ def get_uv_reactors_info(): - info = ('Inlet_status, {}, Outlet_status, {}, ' - .format(dg.uv_reactors.inlet_uv_reactor_state, dg.uv_reactors.outlet_uv_reactor_state)) + info = ('Inlet_status, {}, Outlet_status, {}, Inlet_health, {}, Outlet_health, {}, ' + .format(dg.uv_reactors.inlet_uv_reactor_state, dg.uv_reactors.outlet_uv_reactor_state, + dg.uv_reactors.inlet_uv_reactor_health, dg.uv_reactors.outlet_uv_reactor_health)) return info @@ -461,6 +464,7 @@ #dg.heaters.cmd_heaters_broadcast_interval_override(50) #sleep(1) + #dg.uv_reactors.cmd_uv_reactors_data_broadcast_interval_override(50) #dg.voltages.cmd_monitored_voltages_broadcast_interval_override(50) #dg.concentrate_pumps.cmd_concentrate_pump_broadcast_interval_override(50) #sleep(1) @@ -558,8 +562,8 @@ def run_chemical_disinfect(): complete_counter = 1 f = open("/home/fw/projects/dialin/tests/chemical_disinfect.log", "w") - #dg.hd_proxy.cmd_start_stop_dg_chemical_disinfect() - dg.hd_proxy.cmd_start_stop_dg_chemical_disinfect_flush() + dg.hd_proxy.cmd_start_stop_dg_chemical_disinfect() + #dg.hd_proxy.cmd_start_stop_dg_chemical_disinfect_flush() try: while True: @@ -598,49 +602,6 @@ f.close() -def run_chem_disinfect_flush_mode(): - complete_counter = 1 - f = open("/home/fw/projects/dialin/tests/chem_disinfect_flush_mode.log", "w") - dg.hd_proxy.cmd_start_stop_dg_chemical_disinfect_flush() - #dg.cmd_dg_software_reset_request() - - try: - while True: - flush = get_chemical_disinfect_flush_mode_info() - load_cell = get_load_cells_info() - drain = get_drain_states_info() - ro = get_ro_info() - temp = get_temperature_sensors_info() - conc = get_concentrate_pumps_info() - valves = get_dg_valves_states() - - var = flush + load_cell + drain + ro + temp + conc + valves + '\r' - - print(var) - f.write(var) - sleep(1) - - # If the mode came back to standby or standby solo - if dg.dg_operation_mode == 3 or dg.dg_operation_mode == 4: - - # 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 - - except KeyboardInterrupt: - dg.hd_proxy.cmd_start_stop_dg_chemical_disinfect_flush(start=False) - f.close() - #events = dg.events.get_dg_events(2, 50) - #for event in events: - # print(event) - - def cmd_set_disinfect_ui_screen(): hd = HD() sleep(0.5) @@ -695,30 +656,38 @@ # print(event) -def test_dvt_drain_pump(): - dg.drain_pump.cmd_drain_pump_set_rpm(2000) +def run_nelson_support_modes(): + + dg.heat_disinfect.cmd_set_nelson_support_mode(NelsonSupportModes.NELSON_POS_CONTROL_HEAT_DISINFECT.value) + + f = open("/home/fw/projects/dialin/tests/Nelson_Support.log", "w") + try: while True: - print(get_drain_states_info(), get_temperature_sensors_info(), get_dg_fans_info()) - sleep(1) - except KeyboardInterrupt: - dg.drain_pump.cmd_drain_pump_set_rpm(0) + disinfect = get_heat_disinfect_mode_info() + #disinfect = get_chemical_disinfect_mode_info() + drain = get_drain_states_info() + load_cell = get_load_cells_info() + valves = get_dg_valves_states() + 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() -def test_hd_valves(): - while True: + var = disinfect + load_cell + drain + ro + temp + heaters + uv + dg_fans + hd_fans + valves + conc + '\r' - #VALVE_POSITION_A_INSERT_EJECT = 1 - #VALVE_POSITION_B_OPEN = 2 - #VALVE_POSITION_C_CLOSE = 3 - # + print(var) + f.write(var) + sleep(1) - hd.valves.cmd_set_hd_valve_position(3,3) - sleep(2) - hd.valves.cmd_set_hd_valve_position(3,2) - sleep(2) - hd.valves.cmd_set_hd_valve_position(3,1) - sleep(2) + except KeyboardInterrupt: + dg.hd_proxy.cmd_start_stop_dg_heat_disinfect(start=False) + dg.hd_proxy.cmd_start_stop_dg_chemical_disinfect(start=False) + f.close() if __name__ == "__main__": @@ -745,6 +714,8 @@ #collect_hd_treatment() + run_nelson_support_modes() + #while True: # print(get_hd_fans_info(), get_dg_fans_info(), get_temperature_sensors_info()) # print(get_dg_valves_states()) @@ -754,27 +725,19 @@ # print(dg.rtc.get_rtc_epoch(), hd.rtc.get_rtc_epoch()) # sleep(1) - #test_dg_fans_alarms() - - #test_dvt_drain_pump() - - #test_conc_pumps() - - #while True: - # print(get_concentrate_pumps_info()) - # sleep(1) - #ui = HDSimulator() #ui.cmd_send_hd_operation_mode(3, 1) - #test_hd_valves() - #hd.ui.cmd_ui_set_dg_service_time() - #dg.heaters.cmd_heater_duty_cycle_override(1, 10, reset=1) - #hd.cmd_hd_software_reset_request() - #dg.cmd_dg_set_operation_mode(2) - hd.cmd_hd_set_operation_mode(2) + #dg.cmd_dg_software_reset_request() + #sleep(6) + #dg.temperatures.cmd_temperatures_value_override(0, 30) + #sleep(1) + #dg.valves.cmd_valve_override(8, 1) + #sleep(1) + #dg.pressures.cmd_pressure_override(0, 4) + #dg.conductivity_sensors.cmd_conductivity_sensor_override(0, 3000)