Index: tests/tx_test_config_tests.py =================================================================== diff -u -r8ac75cccb937866cb13c49a97e91bb9e1060a9d8 -r1b04b37b3a327b145b150477f567e26a26c60e4e --- tests/tx_test_config_tests.py (.../tx_test_config_tests.py) (revision 8ac75cccb937866cb13c49a97e91bb9e1060a9d8) +++ tests/tx_test_config_tests.py (.../tx_test_config_tests.py) (revision 1b04b37b3a327b145b150477f567e26a26c60e4e) @@ -53,6 +53,7 @@ from dialin.hd.pretreatment import PreTreatmentRsrvrState from dialin.common.dg_defs import DGFlushStates, DGHeatDisinfectActiveCoolStates from dialin.common.test_config_defs import DGTestConfigOptions, HDTestConfigOptions +from dialin.common.dg_defs import DGOpModes from time import sleep from datetime import datetime import sys @@ -71,6 +72,90 @@ return state_counter, delay_counter +def recover_treatment(): + + sleep_time = 0.1 + counter = 1 + delay_counter = 0 + target_delay = 1 + + while True: + if counter == 1: + if delay_counter == 0: + # Received the load cells tare values from DG. Reset both stacks + dg.cmd_dg_software_reset_request() + hd.cmd_hd_software_reset_request() + + counter, delay_counter = check_status(delay_counter, sleep_time, target_delay, counter) + + elif counter == 2 and dg.dg_operation_mode == DGOpModes.DG_MODE_STAN.value: + if delay_counter == 0: + # After reset log in again + dg.cmd_log_in_to_dg() + + counter, delay_counter = check_status(delay_counter, sleep_time, target_delay, counter) + + elif counter == 3 and hd.hd_operation_mode == 3: + if delay_counter == 0: + hd.cmd_log_in_to_hd() + + counter, delay_counter = check_status(delay_counter, sleep_time, target_delay, counter) + + elif counter == 4: + if delay_counter == 0: + # Set the operation mode is pre-treatment before commanding the start DG + hd.cmd_hd_set_operation_mode(HDOpModes.MODE_TPAR.value) + + counter, delay_counter = check_status(delay_counter, sleep_time, 0, counter) + + elif counter == 5 and hd.hd_operation_mode == HDOpModes.MODE_TPAR.value: + if delay_counter == 0: + # Start DG cannot be when HD is in standby + dg.hd_proxy.cmd_start_stop_dg() + + counter, delay_counter = check_status(delay_counter, sleep_time, 0, counter) + + elif counter == 6 and dg.dg_operation_mode == DGOpModes.DG_MODE_GENE.value and dg.dg_operation_sub_mode == 1: + if delay_counter == 0: + # This section is for testing only to make sure we always have fluid in the reservoir. This part is not + # needed in the actual test procedure + dg.hd_proxy.cmd_fill(1600) + + counter, delay_counter = check_status(delay_counter, sleep_time, target_delay, counter) + + elif counter == 7 and dg.dg_operation_mode == DGOpModes.DG_MODE_GENE.value and dg.dg_operation_sub_mode == 1: + if delay_counter == 0: + hd.test_configs.cmd_set_test_config(DGTestConfigOptions.TEST_CONFIG_RECOVER_TREATMENT.value) + + counter, delay_counter = check_status(delay_counter, sleep_time, target_delay, counter) + + elif counter == 8 and dg.dg_operation_mode == DGOpModes.DG_MODE_GENE.value and dg.dg_operation_sub_mode == 1: + if delay_counter == 0: + dg.hd_proxy.cmd_drain() + + counter, delay_counter = check_status(delay_counter, sleep_time, target_delay, counter) + + elif counter == 9 and dg.dg_operation_mode == DGOpModes.DG_MODE_DRAI.value and dg.dg_operation_sub_mode == 1: + if delay_counter == 0: + dg.alarms.cmd_alarm_state_override(AlarmList.ALARM_ID_DG_BARO_PRESSURE_OUT_OF_RANGE.value, 1) + + counter, delay_counter = check_status(delay_counter, sleep_time, 0, counter) + + elif counter == 10 and dg.dg_operation_mode == DGOpModes.DG_MODE_FAUL.value and dg.dg_operation_sub_mode == 2: + if delay_counter == 0: + dg.alarms.cmd_alarm_state_override(AlarmList.ALARM_ID_DG_BARO_PRESSURE_OUT_OF_RANGE.value, 1, RESET=1) + + counter, delay_counter = check_status(delay_counter, sleep_time, target_delay, counter) + + elif counter == 11 and dg.dg_operation_mode == DGOpModes.DG_MODE_FAUL.value and dg.dg_operation_sub_mode == 2: + if delay_counter == 0: + dg.test_configs.cmd_set_recover_from_mode_fault_signal() + + counter, delay_counter = check_status(delay_counter, sleep_time, target_delay, counter) + + sleep(sleep_time) + + def expedite_pretreatment(): sleep_time = 0.1 @@ -201,4 +286,6 @@ hd.cmd_log_in_to_hd() sleep(1) - expedite_pretreatment() + #expedite_pretreatment() + + recover_treatment()