Index: dialin/common/AlarmIds.txt =================================================================== diff -u -r5d36fab08811664f85c4de033dc34c51cc9bb9a4 -r0eca01fa6e88a160663fc305e0bd36348f7bf590 --- dialin/common/AlarmIds.txt (.../AlarmIds.txt) (revision 5d36fab08811664f85c4de033dc34c51cc9bb9a4) +++ dialin/common/AlarmIds.txt (.../AlarmIds.txt) (revision 0eca01fa6e88a160663fc305e0bd36348f7bf590) @@ -91,8 +91,8 @@ ALARM_ID_ARTERIAL_PRESSURE_SENSOR_FAULT = 91 ALARM_ID_VENOUS_PRESSURE_SENSOR_FAULT = 92 ALARM_ID_UV_REACTOR_NOT_HEALTHY = 93 -ALARM_ID_POST_ACID_CONDUCTIVITY_OUT_OF_RANGE = 94 -ALARM_ID_POST_BICARB_CONDUCTIVITY_OUT_OF_RANGE = 95 +ALARM_ID_ACID_CONDUCTIVITY_OUT_OF_RANGE = 94 +ALARM_ID_BICARB_CONDUCTIVITY_OUT_OF_RANGE = 95 ALARM_ID_RO_PUMP_FLOW_RATE_OUT_OF_RANGE = 96 ALARM_ID_DG_THERMISTORS_TEMPERATURE_OUT_OF_RANGE = 97 ALARM_ID_DG_FAN_RPM_OUT_OF_RANGE = 98 @@ -104,9 +104,9 @@ ALARM_ID_DRAIN_PUMP_RPM_OUT_OF_RANGE = 104 ALARM_ID_DG_HEATERS_NEGATIVE_COLD_JUNCTION_TEMPERATURE = 105 ALARM_ID_DG_HEATERS_FAULT = 106 -ALARM_ID_END_OF_DIALYSIS_TREATMENT_WARNING = 107 -ALARM_ID_END_OF_DIALYSIS_TREATMENT_ALARM = 108 -ALARM_ID_END_OF_DIALYSIS_TREATMENT_ALARM_HIGH = 109 +ALARM_ID_END_OF_TREATMENT_WARNING = 107 +ALARM_ID_END_OF_TREATMENT_ALARM = 108 +ALARM_ID_END_OF_TREATMENT_HIGH = 109 ALARM_ID_DG_HEAT_DISINFECT_CYCLE_FAILED = 110 ALARM_ID_RO_PUMP_RAMP_UP_TO_FLOW_TIMEOUT = 111 ALARM_ID_FLOW_RATE_OUT_OF_LOWER_RANGE = 112 @@ -138,3 +138,39 @@ ALARM_ID_PRE_TREATMENT_WET_SELF_TEST_FAILURE = 138 ALARM_ID_DG_FLOW_METER_CHECK_FAILURE = 139 ALARM_ID_DG_RO_PUMP_TOO_MANY_RAMP_UP_RETRY = 140 +ALARM_ID_NVDATAMGMT_GROUP_RECORD_CRC_INVALID = 141 +ALARM_ID_NVDATAMGMT_INDIVIDUAL_RECORD_CRC_INVALID = 142 +ALARM_ID_NVDATAMGMT_INDIVIDUAL_RECORD_TIME_INVALID = 143 +ALARM_ID_HD_AC_POWER_LOST = 144 +ALARM_ID_DG_RESTARTED_FAULT = 145 +ALARM_ID_DIALYSATE_CONDUCTIVITY_OUT_OF_RANGE = 146 +ALARM_ID_HD_FLUID_LEAK_DETECTED = 147 +ALARM_ID_DG_FLUID_LEAK_DETECTED = 148 +ALARM_ID_HD_SYRINGE_PUMP_ADC_ERROR = 149 +ALARM_ID_HD_SYRINGE_DETECTED = 150 +ALARM_ID_HD_SYRINGE_PUMP_VOLUME_ERROR = 151 +ALARM_ID_HD_SYRINGE_PUMP_SPEED_ERROR = 152 +ALARM_ID_HD_SYRINGE_PUMP_SYRINGE_EMPTY = 153 +ALARM_ID_HD_SYRINGE_PUMP_OCCLUSION = 154 +ALARM_ID_HD_SYRINGE_PUMP_SYRINGE_REMOVED = 155 +ALARM_ID_HD_SYRINGE_PUMP_NOT_STOPPED_ERROR = 156 +ALARM_ID_HD_BLOOD_LEAK_DETECTED = 157 +ALARM_ID_CARTRIDGE_REMOVAL_FAILURE = 158 +ALARM_ID_DG_RESERVOIR_DRAIN_TIMEOUT = 159 +ALARM_ID_DG_RESERVOIR_FILL_TIMEOUT = 160 +ALARM_ID_DG_RESERVOIR_LEAK_TIMEOUT = 161 +ALARM_ID_DG_HEAT_DISINFECT_TARGET_TEMP_TIMEOUT = 162 +ALARM_ID_DG_TEMP_SENSORS_DIFF_OUT_OF_RANGE = 163 +ALARM_ID_DG_HEAT_DISINFECT_INLET_PRES_AND_TEMP_SNSRS_OUT = 164 +ALARM_ID_DG_HEAT_DISINFECT_INLET_COND_AND_TEMP_OUT = 165 +ALARM_ID_DG_BAD_INLET_WATER_QUALITY = 166 +ALARM_ID_HD_BP_OCCLUSION_SELF_TEST_FAILURE = 167 +ALARM_ID_HD_DIP_OCCLUSION_SELF_TEST_FAILURE = 168 +ALARM_ID_HD_DOP_OCCLUSION_SELF_TEST_FAILURE = 169 +ALARM_ID_HD_ARTERIAL_PRESSURE_SELF_TEST_FAILURE = 170 +ALARM_ID_HD_VENOUS_PRESSURE_SELF_TEST_FAILURE = 171 +ALARM_ID_HD_BLOOD_FLOW_STATUS_SELF_TEST_FAILURE = 172 +ALARM_ID_HD_DIALYSATE_FLOW_STATUS_SELF_TEST_FAILURE = 173 +ALARM_ID_HD_BLOOD_LEAK_SELF_TEST_FAILURE = 174 +ALARM_ID_HD_BLOOD_LEAK_DETECTOR_FAULT = 175 +ALARM_ID_DG_LOAD_CELLS_INVALID_CALIBRATION = 176 Index: tests/test_deprime.py =================================================================== diff -u --- tests/test_deprime.py (revision 0) +++ tests/test_deprime.py (revision 0eca01fa6e88a160663fc305e0bd36348f7bf590) @@ -0,0 +1,91 @@ +########################################################################### +# +# Copyright (c) 2019-2020 Diality Inc. - All Rights Reserved. +# +# THIS CODE MAY NOT BE COPIED OR REPRODUCED IN ANY FORM, IN PART OR IN +# WHOLE, WITHOUT THE EXPLICIT PERMISSION OF THE COPYRIGHT OWNER. +# +# @file test_deprime.py +# +# @date 01-April-2021 +# @author Q. Nguyen +# +# @brief +# +############################################################################ +import sys +sys.path.append("..") +from dialin.dg.dialysate_generator import DG +from dialin.hd.hemodialysis_device import HD +from dialin.hd.valves import ValvesEnum, ValvesPositions +from time import sleep + +def dePrime(): + hd.valves.cmd_set_hd_valve_position(ValvesEnum.VDI.value, ValvesPositions.VALVE_POSITION_B_OPEN.value) + hd.valves.cmd_set_hd_valve_position(ValvesEnum.VDO.value, ValvesPositions.VALVE_POSITION_B_OPEN.value) + hd.valves.cmd_set_hd_valve_position(ValvesEnum.VBA.value, ValvesPositions.VALVE_POSITION_B_OPEN.value) + hd.valves.cmd_set_hd_valve_position(ValvesEnum.VBV.value, ValvesPositions.VALVE_POSITION_B_OPEN.value) + + hd.dialysate_inlet_flow.cmd_dialysate_inlet_flow_set_point_override(400, 1) + hd.dialysate_outlet_flow.cmd_dialysate_outlet_flow_set_point_override(400, 1) + hd.bloodflow.cmd_blood_flow_set_point_override(400, 1) + +def drainReservoirs( drainRes ): + if ( drainRes == 1 ): + dg.reservoirs.cmd_switch_reservoirs(0) + else: + dg.reservoirs.cmd_switch_reservoirs(1) + sleep(1) + + dg.hd_proxy.cmd_drain(0) + sleep(1) + while dg.dg_operation_mode == 5: + sleep(1) + print("In recirc") + + while dg.dg_operation_mode == 7: + sleep(1) + print("Draining") + print("Drain Completed") + +if __name__ == "__main__": + + dg = DG() + hd = HD() + + counter=0 + skipDrain=False + dg.cmd_log_in_to_dg() + hd.cmd_log_in_to_hd() + + dg.hd_proxy.cmd_start_stop_dg() + + if skipDrain == False: + drainReservoirs(0) + drainReservoirs(1) + + dg.reservoirs.cmd_switch_reservoirs(0) + dg.valves.cmd_valve_override(1, dg.valves.VALVE_RESERVOIR_INLET) + + dePrime() + + while True: + print("COUNTER: {} - HD {} sub-mode {}, DG {} sub-mode {} RO pump {} Res1 {} Res2 {}".format( + counter, + hd.hd_operation_mode, + hd.hd_operation_sub_mode, + dg.dg_operation_mode, + dg.dg_operation_sub_mode, + dg.ro_pump.measured_flow_rate_lpm, + dg.load_cells.load_cell_A1, + dg.load_cells.load_cell_B1 + )) + + sleep(1) + counter = counter + 1 + + if counter > 60: + hd.dialysate_inlet_flow.cmd_dialysate_inlet_flow_set_point_override(0, 1) + hd.dialysate_outlet_flow.cmd_dialysate_outlet_flow_set_point_override(0, 1) + hd.bloodflow.cmd_blood_flow_set_point_override(0, 1) + break