Index: dialin/common/dg_defs.py =================================================================== diff -u -r26c7b6057f11680681e0a25399b5e5be9b92818d -rfdd68b47e0ec4dbc3be930de58641348243bb167 --- dialin/common/dg_defs.py (.../dg_defs.py) (revision 26c7b6057f11680681e0a25399b5e5be9b92818d) +++ dialin/common/dg_defs.py (.../dg_defs.py) (revision fdd68b47e0ec4dbc3be930de58641348243bb167) @@ -222,18 +222,19 @@ DG_CHEM_DISINFECT_STATE_DRAIN_R1 = 1 DG_CHEM_DISINFECT_STATE_DRAIN_R2 = 2 DG_CHEM_DISINFECT_STATE_FLUSH_DRAIN = 3 - DG_CHEM_DISINFECT_STATE_FLUSH_CIRCULATION = 4 - DG_CHEM_DISINFECT_STATE_PRIME_DISINFECTANT = 5 - DG_CHEM_DISINFECT_STATE_DISINFECTANT_FLUSH = 6 - DG_CHEM_DISINFECT_STATE_FILL_WITH_DISINFECTANT = 7 - DG_CHEM_DISINFECT_STATE_DISINFECT_R1_TO_R2 = 8 - DG_CHEM_DISINFECT_STATE_PARTIAL_DRAIN_R1_FILL_R2_TO_R1 = 9 - DG_CHEM_DISINFECT_STATE_DISINFECT_R2_TO_R1 = 10 - DG_CHEM_DISINFECT_STATE_PARTIAL_DRAIN_R2_FILL_R1_TO_R2 = 11 - DG_CHEM_DISINFECT_STATE_CANCEL_BASIC_PATH = 12 - DG_CHEM_DISINFECT_STATE_CANCEL_WATER_PATH = 13 - DG_CHEM_DISINFECT_STATE_COMPLETE = 14 - NUM_OF_DG_CHEM_DISINFECT_STATES = 15 + DG_CHEM_DISINFECT_STATE_DEPRIME_ACID_LINE = 4 + DG_CHEM_DISINFECT_STATE_FLUSH_CIRCULATION = 5 + DG_CHEM_DISINFECT_STATE_PRIME_DISINFECTANT = 6 + DG_CHEM_DISINFECT_STATE_DISINFECTANT_FLUSH = 7 + DG_CHEM_DISINFECT_STATE_FILL_WITH_DISINFECTANT = 8 + DG_CHEM_DISINFECT_STATE_DISINFECT_R1_TO_R2 = 9 + DG_CHEM_DISINFECT_STATE_PARTIAL_DRAIN_R1_FILL_R2_TO_R1 = 10 + DG_CHEM_DISINFECT_STATE_DISINFECT_R2_TO_R1 = 11 + DG_CHEM_DISINFECT_STATE_PARTIAL_DRAIN_R2_FILL_R1_TO_R2 = 12 + DG_CHEM_DISINFECT_STATE_CANCEL_BASIC_PATH = 13 + DG_CHEM_DISINFECT_STATE_CANCEL_WATER_PATH = 14 + DG_CHEM_DISINFECT_STATE_COMPLETE = 15 + NUM_OF_DG_CHEM_DISINFECT_STATES = 16 @unique Index: dialin/common/hd_defs.py =================================================================== diff -u -r535bf5f030deddfd0d99edce1d8d011b7797e1e2 -rfdd68b47e0ec4dbc3be930de58641348243bb167 --- dialin/common/hd_defs.py (.../hd_defs.py) (revision 535bf5f030deddfd0d99edce1d8d011b7797e1e2) +++ dialin/common/hd_defs.py (.../hd_defs.py) (revision fdd68b47e0ec4dbc3be930de58641348243bb167) @@ -119,15 +119,16 @@ WET_SELF_TESTS_BUBBLE_CHECK_SETUP_STATE = 1 WET_SELF_TESTS_BUBBLE_CHECK_STATE = 2 WET_SELF_TESTS_PRIME_CHECK_STATE = 3 - WET_SELF_TESTS_BLOOD_LEAK_DETECTOR_STATE = 4 - WET_SELF_TESTS_FIRST_DISPLACEMENT_SETUP_STATE = 5 - WET_SELF_TESTS_FIRST_DISPLACEMENT_STATE = 6 - WET_SELF_TESTS_FIRST_DISPLACEMENT_VERIFY_STATE = 7 - WET_SELF_TESTS_SECOND_DISPLACEMENT_SETUP_STATE = 8 - WET_SELF_TESTS_SECOND_DISPLACEMENT_STATE = 9 - WET_SELF_TESTS_SECOND_DISPLACEMENT_VERIFY_STATE = 10 - WET_SELF_TESTS_STOPPED_STATE = 11 - WET_SELF_TESTS_COMPLETE_STATE = 12 + WET_SELF_TESTS_BLOOD_LEAK_DETECTOR_DEBUBBLE_STATE = 4 + WET_SELF_TESTS_BLOOD_LEAK_DETECTOR_STATE = 5 + WET_SELF_TESTS_FIRST_DISPLACEMENT_SETUP_STATE = 6 + WET_SELF_TESTS_FIRST_DISPLACEMENT_STATE = 7 + WET_SELF_TESTS_FIRST_DISPLACEMENT_VERIFY_STATE = 8 + WET_SELF_TESTS_SECOND_DISPLACEMENT_SETUP_STATE = 9 + WET_SELF_TESTS_SECOND_DISPLACEMENT_STATE = 10 + WET_SELF_TESTS_SECOND_DISPLACEMENT_VERIFY_STATE = 11 + WET_SELF_TESTS_STOPPED_STATE = 12 + WET_SELF_TESTS_COMPLETE_STATE = 13 # Heparin states Index: dialin/dg/chemical_disinfect.py =================================================================== diff -u -r9ff38465c87974ff92d99ece044c413141f9d3b7 -rfdd68b47e0ec4dbc3be930de58641348243bb167 --- dialin/dg/chemical_disinfect.py (.../chemical_disinfect.py) (revision 9ff38465c87974ff92d99ece044c413141f9d3b7) +++ dialin/dg/chemical_disinfect.py (.../chemical_disinfect.py) (revision fdd68b47e0ec4dbc3be930de58641348243bb167) @@ -52,6 +52,7 @@ self.r2_level = 0 self.dg_chem_disinfect_data_timestamp = 0.0 self.dg_chem_disinfect_time_timestamp = 0.0 + self.acid_average_cond_us_per_cm = 0.0 if self.can_interface is not None: channel_id = DenaliChannels.dg_sync_broadcast_ch_id @@ -79,8 +80,9 @@ self.cancellation_mode = 0 self.r1_level = 0 self.r2_level = 0 + self.acid_average_cond_us_per_cm = 0.0 - @publish(["dg_chem_disinfect_time_timestamp","chemical_disinfect_elapsed_time", "chemical_disinfect_target_time"]) + @publish(["dg_chem_disinfect_time_timestamp", "chemical_disinfect_elapsed_time", "chemical_disinfect_target_time"]) def _handler_chemical_disinfect_to_ui_sync(self, message, timestamp=0.0): """ Handles published chemical disinfect message @@ -98,9 +100,9 @@ self.chemical_disinfect_elapsed_time = int(disinfect_elapsed_time / 1000) self.dg_chem_disinfect_time_timestamp = timestamp - @publish(["dg_chem_disinfect_data_timestamp", "chemical_disinfect_state", "overall_elapsed_time", "state_elapsed_time", - "cancellation_mode", "r1_level", "r2_level"]) - def _handler_chemical_disinfect_sync(self, message, timestamp = 0.0): + @publish(["dg_chem_disinfect_data_timestamp", "chemical_disinfect_state", "overall_elapsed_time", + "state_elapsed_time", "cancellation_mode", "r1_level", "r2_level", "acid_average_cond_us_per_cm"]) + def _handler_chemical_disinfect_sync(self, message, timestamp=0.0): """ Handles published chemical disinfect message @@ -116,15 +118,15 @@ cancellation_mode, index = bytearray_to_integer(payload, index, False) r1, index = bytearray_to_float(payload, index, False) r2, index = bytearray_to_float(payload, index, False) - target_post_rinse_cnt, index = bytearray_to_integer(payload, index, False) - current_post_rinse_cnt, index = bytearray_to_integer(payload, index, False) + acid_cond, index = bytearray_to_float(payload, index, False) self.chemical_disinfect_state = state self.overall_elapsed_time = int(elapsed_time / 1000) self.state_elapsed_time = int(state_elapsed_time / 1000) self.cancellation_mode = cancellation_mode self.r1_level = r1 self.r2_level = r2 + self.acid_average_cond_us_per_cm = acid_cond self.dg_chem_disinfect_data_timestamp = timestamp def get_chem_disinfect_target_time(self) -> int: @@ -190,20 +192,3 @@ @return: (int) """ return self.r2_level - - def get_chem_disinfect_target_post_rinse_count(self) -> int: - """ - Gets Chemical Disinfection target post rinse count - - @return: (int) - """ - return self.target_post_rinse_count - - def get_chem_disinfect_current_post_rinse_count(self) -> int: - """ - Gets Chemical Disinfection current post rinse count - - @return: (int) - """ - return self.current_post_rinse_count - Index: tests/dg_nvm_scripts.py =================================================================== diff -u -r26c7b6057f11680681e0a25399b5e5be9b92818d -rfdd68b47e0ec4dbc3be930de58641348243bb167 --- tests/dg_nvm_scripts.py (.../dg_nvm_scripts.py) (revision 26c7b6057f11680681e0a25399b5e5be9b92818d) +++ tests/dg_nvm_scripts.py (.../dg_nvm_scripts.py) (revision fdd68b47e0ec4dbc3be930de58641348243bb167) @@ -32,7 +32,7 @@ # Use cmd_set_dg_sw_config_record() set the changes back to firmware # This function requires an address for the excel report. Use the absolute address of your excel report like the # example below - dg.sw_configs.cmd_update_dg_sw_config_record('/home/fw/projects/DG_NV_Records/2023-06-11-DG-SW-CONFIGS-Record.xlsx') + dg.sw_configs.cmd_update_dg_sw_config_record('/home/fw/projects/DG_NV_Records/2023-06-26-DG-SW-CONFIGS-Record.xlsx') # Use this function to reset the configuration records to all be 0 #dg.sw_configs.cmd_reset_dg_sw_config_record() @@ -68,9 +68,9 @@ # It creates a folder called DG_NV_Records in the destination that is called # If no address is provided, the default location is one folder above the dialin folder wherever it is installed # in your computer. - #dg.system_record.cmd_get_dg_system_record_report() + dg.system_record.cmd_get_dg_system_record_report() - dg.system_record.cmd_set_dg_system_record_excel_to_fw('/home/fw/projects/DG_NV_Records/2023-02-04-DG-Record.xlsx') + #dg.system_record.cmd_set_dg_system_record_excel_to_fw('/home/fw/projects/DG_NV_Records/2023-02-04-DG-Record.xlsx') # For resetting the system record to benign values, use the function below #dg.system_record.cmd_reset_dg_system_record() @@ -112,13 +112,13 @@ if dg.cmd_log_in_to_dg(): - #run_sw_configs_commands() + run_sw_configs_commands() #run_calibration_commands() #run_system_commands() - run_usage_info_commands() + #run_usage_info_commands() #run_service_commands() Index: tests/dg_tests.py =================================================================== diff -u -r9ff38465c87974ff92d99ece044c413141f9d3b7 -rfdd68b47e0ec4dbc3be930de58641348243bb167 --- tests/dg_tests.py (.../dg_tests.py) (revision 9ff38465c87974ff92d99ece044c413141f9d3b7) +++ tests/dg_tests.py (.../dg_tests.py) (revision fdd68b47e0ec4dbc3be930de58641348243bb167) @@ -74,13 +74,13 @@ info = ('State, {}, Overall_elapsed_time, {}, State_elapsed_time, {}, Disinfect_elapsed_time, {}, ' 'Cancellation_mode, {}, R1_level, {:5.3f}, R2_level, {:5.3f}, Current_rinse_count, {}, ' - 'Total_rinse_count, {}, Top_alarm, {}, ' + 'Total_rinse_count, {}, Top_alarm, {}, chem_acid_avg_cond, {:5.3f}, ' .format(state, overall_elapsed_time, state_elapsed_time, dg.chemical_disinfect.chemical_disinfect_target_time, ChemCancellationModes(dg.chemical_disinfect.cancellation_mode).name, dg.chemical_disinfect.r1_level, dg.chemical_disinfect.r2_level, dg.chemical_disinfect_flush.rinse_count, - dg.chemical_disinfect_flush.rinse_count, - hd.alarms.alarm_top)) + dg.chemical_disinfect_flush.rinse_count, hd.alarms.alarm_top, + dg.chemical_disinfect.acid_average_cond_us_per_cm)) return info @@ -442,6 +442,9 @@ hd.test_configs.cmd_set_test_config(HDTestConfigOptions.TEST_CONFIG_SKIP_DISINFECT_AND_SERVICE_TX_BLOCKERS.value) sleep(0.5) hd.test_configs.cmd_set_test_config(HDTestConfigOptions.TEST_CONFIG_DISABLE_WET_SELFTEST_DISPLACEMENT_CHECK.value) + sleep(0.5) + hd.test_configs.cmd_set_test_config(HDTestConfigOptions.TEST_CONFIG_USE_WORN_CARTRIDGE.value) + sleep(0.5) #dg.hd_proxy.cmd_start_stop_dg() #sleep(4) @@ -567,11 +570,12 @@ def run_chemical_disinfect(): complete_counter = 1 - f = open("/home/fw/projects/dialin/tests/chemical_disinfect.log", "w") + base_dir = os.getcwd() + f = open(os.path.join(base_dir, "chemical_disinfect.log"), "w") dg.hd_proxy.cmd_start_stop_dg_chemical_disinfect() #dg.hd_proxy.cmd_start_stop_dg_chemical_disinfect_flush() - #dg.test_configs.cmd_set_test_config(DGTestConfigOptions.TEST_CONFIG_MIX_WITH_WATER.value) + dg.test_configs.cmd_set_test_config(DGTestConfigOptions.TEST_CONFIG_MIX_WITH_WATER.value) try: while True: @@ -725,7 +729,7 @@ #run_flush_mode() - run_chemical_disinfect() + #run_chemical_disinfect() #hd.alarms.cmd_alarm_state_override(301, 1) #dg.ro_permeate_sample.cmd_send_hd_dg_is_ready_to_dispense() @@ -764,4 +768,6 @@ # print(dg.switches.dg_switches_status) # sleep(1) + dg.temperatures.cmd_temperatures_value_override(0, 30) + Index: tests/hd_nvm_scripts.py =================================================================== diff -u -r26c7b6057f11680681e0a25399b5e5be9b92818d -rfdd68b47e0ec4dbc3be930de58641348243bb167 --- tests/hd_nvm_scripts.py (.../hd_nvm_scripts.py) (revision 26c7b6057f11680681e0a25399b5e5be9b92818d) +++ tests/hd_nvm_scripts.py (.../hd_nvm_scripts.py) (revision fdd68b47e0ec4dbc3be930de58641348243bb167) @@ -50,15 +50,15 @@ # It creates a folder called HD_NV_Records in the destination that is called # If no address is provided, the default location is one folder above the dialin folder wherever it is installed # in your computer. - hd.calibration_record.cmd_get_hd_calibration_record_report() + #hd.calibration_record.cmd_get_hd_calibration_record_report() # Use cmd_set_hd_calibration_excel_to_fw() set the changes back to firmware # This function requires an address for the excel report. Use the absolute address of your excel report like the # example below - #hd.calibration_record.cmd_set_hd_calibration_excel_to_fw('/home/fw/projects/HD_NV_Records/2023-03-27-HD-Record.xlsx') + hd.calibration_record.cmd_set_hd_calibration_excel_to_fw('/home/fw/projects/HD_NV_Records/2023-06-23-HD-Record.xlsx') # For resetting the calibration record to benign values, use the function below - hd.calibration_record.cmd_reset_hd_calibration_record() + #hd.calibration_record.cmd_reset_hd_calibration_record() def run_system_commands(): @@ -69,9 +69,9 @@ # It creates a folder called DG_NV_Records in the destination that is called # If no address is provided, the default location is one folder above the dialin folder wherever it is installed # in your computer. - #hd.system_record.cmd_get_hd_system_record_report() + hd.system_record.cmd_get_hd_system_record_report() - hd.system_record.cmd_set_hd_system_record_excel_to_fw('/home/fw/projects/HD_NV_Records/2022-12-19-HD-Record.xlsx') + #hd.system_record.cmd_set_hd_system_record_excel_to_fw('/home/fw/projects/HD_NV_Records/2022-12-19-HD-Record.xlsx') # For resetting the system record to benign values, use the function below #hd.system_record.cmd_reset_hd_system_record() @@ -117,12 +117,12 @@ #run_sw_configs_commands() # Comment this function if not needed - #run_calibration_commands() + run_calibration_commands() #run_system_commands() #run_usage_info_commands() - run_service_commands() + #run_service_commands()