Index: dialin/common/alarm_defs.py =================================================================== diff -u -r2c3670be196a05ad6c34d798af26bdb798e607d4 -r83d005a1873228d7d3ed0cb0aa8f8edb1e44a754 --- dialin/common/alarm_defs.py (.../alarm_defs.py) (revision 2c3670be196a05ad6c34d798af26bdb798e607d4) +++ dialin/common/alarm_defs.py (.../alarm_defs.py) (revision 83d005a1873228d7d3ed0cb0aa8f8edb1e44a754) @@ -7,8 +7,8 @@ # # @file alarm_defs.py # -# @author (last) Micahel Garthwaite -# @date (last) 19-May-2022 +# @author (last) Dara Navaei +# @date (last) 21-Dec-2022 # @author (original) Peter Lucia # @date (original) 07-Aug-2020 # @@ -27,28 +27,28 @@ ALARM_ID_HD_WATCHDOG_POST_TEST_FAILED = 4 ALARM_ID_DG_WATCHDOG_POST_TEST_FAILED = 5 ALARM_ID_UI_COMM_POST_FAILED = 6 - ALARM_ID_RTC_CONFIG_ERROR = 7 + ALARM_ID_HD_RTC_BATTERY_LOW = 7 ALARM_ID_HD_ACCELEROMETER_SELF_TEST_FAILURE = 8 ALARM_ID_DG_ACCELEROMETER_SELF_TEST_FAILURE = 9 - ALARM_ID_RTC_OR_TIMER_ACCURACY_FAILURE = 10 - ALARM_ID_DG_HEATERS_SELF_TEST_FAILURE = 11 + ALARM_ID_HD_BLOOD_LEAK_SENSOR_EMBEDDED_MODE_FAILURE = 10 + ALARM_ID_HD_DIALYSATE_TEMP_BELOW_TARGET_TEMP = 11 ALARM_ID_HD_INTEGRITY_POST_TEST_FAILED = 12 ALARM_ID_DG_INTEGRITY_POST_TEST_FAILED = 13 - ALARM_ID_HD_BLOOD_FLOW_INVALID_CALIBRATION = 14 - ALARM_ID_HD_DIALYSATE_FLOW_INVALID_CALIBRATION = 15 + ALARM_ID_DG_INVALID_USAGE_RECORD_CRC = 14 + ALARM_ID_HD_INVALID_USAGE_RECORD = 15 ALARM_ID_HD_ALARM_AUDIO_SELF_TEST_FAILURE = 16 ALARM_ID_HD_UI_POST_FAILED = 17 ALARM_ID_DG_PRESSURE_SENSORS_INVALID_CAL_RECORD = 18 - ALARM_ID_DG_FLOW_SENSORS_INVALID_CAL_RECORD = 19 + ALARM_ID_HD_DIALYSATE_TEMP_ABOVE_TARGET_TEMP = 19 ALARM_ID_DG_COND_SENSORS_INVALID_CAL_RECORD = 20 ALARM_ID_DG_DRAIN_LINE_VOLUME_INVALID_CAL_RECORD = 21 ALARM_ID_DG_RESERVOIRS_INVALID_CAL_RECORD = 22 ALARM_ID_DG_ACID_CONCENTRATE_INVALID_CAL_RECORD = 23 ALARM_ID_DG_BICARB_CONCENTRATE_INVALID_CAL_RECORD = 24 ALARM_ID_DG_ACCELEROMETERS_INVALID_CAL_RECORD = 25 ALARM_ID_HD_ACCELEROMETERS_INVALID_CAL_RECORD = 26 - ALARM_ID_HD_BLOOD_FLOW_INVALID_CAL_RECORD = 27 - ALARM_ID_HD_DIALYSATE_FLOW_INVALID_CAL_RECORD = 28 + ALARM_ID_HD_BLOOD_LEAK_SENSOR_ZERO_SEQUENCE_FAILED = 27 + ALARM_ID_DG_TWO_WIRE_SENSORS_FPGA_FAULT = 28 ALARM_ID_HD_HEPARIN_FORCE_SENSOR_INVALID_CAL_RECORD = 29 ALARM_ID_HD_SOFTWARE_FAULT = 30 ALARM_ID_BLOOD_PUMP_MC_CURRENT_CHECK = 31 @@ -63,9 +63,9 @@ ALARM_ID_DIAL_OUT_PUMP_OFF_CHECK = 40 ALARM_ID_DIAL_OUT_PUMP_MC_DIRECTION_CHECK = 41 ALARM_ID_DIAL_OUT_PUMP_ROTOR_SPEED_CHECK = 42 - ALARM_ID_WATCHDOG_EXPIRED = 43 + ALARM_ID_DG_MAIN_PRIMARY_HEATER_FPGA_FAULT = 43 ALARM_ID_UI_COMM_TIMEOUT = 44 - ALARM_ID_COMM_TOO_MANY_BAD_CRCS = 45 + ALARM_ID_HD_COMM_TOO_MANY_BAD_CRCS = 45 ALARM_ID_CAN_MESSAGE_NOT_ACKED = 46 ALARM_ID_UF_RATE_TOO_HIGH_ERROR = 47 ALARM_ID_UF_VOLUME_ACCURACY_ERROR = 48 @@ -83,18 +83,18 @@ ALARM_ID_HD_VALVE_NOT_FUNCTIONAL = 60 ALARM_ID_HD_VALVE_CURRENT_OUT_OF_RANGE = 61 ALARM_ID_HD_VALVE_POSITION_OUT_OF_RANGE = 62 - ALARM_ID_ARTERIAL_PRESSURE_SENSOR_FAULT = 63 - ALARM_ID_VENOUS_PRESSURE_SENSOR_FAULT = 64 + ALARM_ID_HD_BLOOD_LEAK_FPGA_FAULT = 63 + ALARM_ID_DG_BARO_PRESSURE_OUT_OF_RANGE = 64 ALARM_ID_DG_COMMAND_INVALID_PARAMETER_FAULT = 65 ALARM_ID_HD_BLOOD_LEAK_SENSOR_SET_POINT_SET_FAILURE = 66 ALARM_ID_HD_BP_OCCLUSION_SELF_TEST_FAILURE = 67 ALARM_ID_HD_ACTIVE_RESERVOIR_RECIRCULATION_OUT_OF_RANGE = 68 ALARM_ID_HD_BLOOD_LEAK_INVALID_CAL_RECORD = 69 ALARM_ID_HD_ARTERIAL_PRESSURE_SELF_TEST_FAILURE = 70 ALARM_ID_HD_VENOUS_PRESSURE_SELF_TEST_FAILURE = 71 - ALARM_ID_HD_BLOOD_FLOW_STATUS_SELF_TEST_FAILURE = 72 - ALARM_ID_HD_DIALYSATE_FLOW_STATUS_SELF_TEST_FAILURE = 73 - ALARM_ID_HD_BLOOD_LEAK_SELF_TEST_FAILURE = 74 + ALARM_ID_HD_NEW_LOAD_CELL_DATA_MESSAGE_NOT_RECEIVE = 72 + ALARM_ID_HD_NEW_DIALYSATE_TEMPERATURE_DATA_MESSAGE_NOT_RECEIVE = 73 + ALARM_ID_DG_INLET_UV_REACTOR_ON_WITH_NO_FLOW = 74 ALARM_ID_HD_SYRINGE_PUMP_SELF_TEST_FAILURE = 75 ALARM_ID_HD_VOLTAGE_OUT_OF_RANGE = 76 ALARM_ID_DG_VOLTAGE_OUT_OF_RANGE = 77 @@ -104,13 +104,13 @@ ALARM_ID_HD_SYRINGE_PUMP_OVER_TRAVEL_ERROR = 81 ALARM_ID_HD_SYRINGE_PUMP_DAC_WRITE_ERROR = 82 ALARM_ID_HD_SYRINGE_PUMP_RUNNING_WHILE_BP_OFF_ERROR = 83 - ALARM_ID_HD_VENOUS_PRESSURE_READ_TIMEOUT_ERROR = 84 + ALARM_ID_DG_SET_RTC_YEAR_INVALID = 84 ALARM_ID_PUMP_TRACK_LATCH_OPENED = 85 - ALARM_ID_HD_BP_OCCLUSION_READ_TIMEOUT_ERROR = 86 + ALARM_ID_HD_SET_RTC_YEAR_INVALID = 86 ALARM_ID_DG_HEATING_INVALID_CAL_RECORD = 87 ALARM_ID_DG_CONC_PUMP_HALL_SENSOR_OUT_OF_RANGE = 88 - ALARM_ID_HD_BP_OCCLUSION_SENSOR_ERROR = 89 - ALARM_ID_DG_LOAD_CELL_FPGA_READ_ERROR = 90 + ALARM_ID_DG_OUTLET_UV_REACTOR_ON_WITH_NO_FLOW = 89 + ALARM_ID_DG_LOAD_CELL_A1_B1_FPGA_FAULT = 90 ALARM_ID_HD_DIALYSATE_FLOW_DATA_NOT_RECEIVE = 91 ALARM_ID_DG_CONDUCTIVITY_SENSOR_BAD_STATUS = 92 ALARM_ID_DG_OUTLET_PRIMARY_CONDUCTIVITY_OUT_OF_RANGE = 93 @@ -122,21 +122,21 @@ ALARM_ID_HD_SYRINGE_PUMP_STALL = 99 ALARM_ID_HD_NO_CART_SELF_TEST_TIMEOUT = 100 ALARM_ID_HD_DRY_SELF_TEST_TIMEOUT = 101 - ALARM_ID_DG_HEAT_DISINFECT_TEMP_GRAD_OUT_OF_RANAGE = 102 + ALARM_ID_DG_HEAT_DISINFECT_TEMP_GRAD_OUT_OF_RANGE = 102 ALARM_ID_HD_NVDATAMGMT_CAL_GROUP_RECORD_CRC_INVALID = 103 ALARM_ID_AIR_TRAP_ILLEGAL_LEVELS = 104 ALARM_ID_DG_NVDATAMGMT_CAL_GROUP_RECORD_CRC_INVALID = 105 - ALARM_ID_INLET_WATER_HIGH_CONDUCTIVITY = 106 + ALARM_ID_DG_FLOW_SENSORS_INVALID_CAL_RECORD = 106 ALARM_ID_DG_RESTARTED_FAULT = 107 - ALARM_ID_HD_SYRINGE_PUMP_ADC_ERROR = 108 + ALARM_ID_HD_SYRINGE_PUMP_FPGA_ADC_FAULT = 108 ALARM_ID_HD_SYRINGE_PUMP_VOLUME_ERROR = 109 ALARM_ID_HD_SYRINGE_PUMP_SPEED_ERROR = 110 ALARM_ID_HD_SYRINGE_PUMP_NOT_STOPPED_ERROR = 111 - ALARM_ID_HD_BLOOD_LEAK_FAULT = 112 - ALARM_ID_HD_ARTERIAL_BUBBLE_SELF_TEST_FAILURE = 113 + ALARM_ID_DG_LOAD_CELL_A2_B2_FPGA_FAULT = 112 + ALARM_ID_DG_DRAIN_PUMP_CURRENT_OUT_OF_RANGE = 113 ALARM_ID_HD_VENOUS_BUBBLE_SELF_TEST_FAILURE = 114 ALARM_ID_DG_TEMPERATURE_SENSOR_OUT_OF_RANGE = 115 - ALARM_ID_DG_TEMPERATURE_SENSOR_ADC_OUT_OF_RANGE = 116 + ALARM_ID_DG_TEMPERATURE_SENSORS_ADC_FAULT = 116 ALARM_ID_DG_CAN_MESSAGE_NOT_ACKED = 117 ALARM_ID_DG_RTC_CONFIG_ERROR = 118 ALARM_ID_DG_RTC_BATTERY_LOW = 119 @@ -164,19 +164,19 @@ ALARM_ID_AIR_TRAP_FILL_DURING_TREATMENT = 141 ALARM_ID_OCCLUSION_BLOOD_PUMP = 142 ALARM_ID_DG_DIALYSATE_TEMPERATURE_SENSORS_OUT_OF_RANGE = 143 - ALARM_ID_DG_SW_CONFIG_RECORD_INVALID_CRC = 144 + ALARM_ID_DG_CLEANING_MODE_INLET_WATER_COND_TOO_HIGH = 144 ALARM_ID_ACID_CONDUCTIVITY_OUT_OF_RANGE = 145 ALARM_ID_DG_RTC_OR_TIMER_ACCURACY_FAILURE = 146 ALARM_ID_CREATING_DIALYSATE_PLEASE_WAIT = 147 - ALARM_ID_INLET_WATER_HIGH_TEMPERATURE = 148 + ALARM_ID_DG_CLEANING_MODE_INLET_WATER_TEMP_TOO_HIGH = 148 ALARM_ID_HD_WATCHDOG_EXPIRED = 149 ALARM_ID_INLET_WATER_CONDUCTIVITY_IN_HIGH_RANGE = 150 ALARM_ID_INLET_WATER_CONDUCTIVITY_IN_LOW_RANGE = 151 ALARM_ID_INLET_WATER_PRESSURE_IN_LOW_RANGE = 152 ALARM_ID_PRIME_COMPLETED_HIGH = 153 - ALARM_ID_NVDATA_EEPROM_OPS_FAILURE = 154 - ALARM_ID_HD_SW_CONFIG_RECORD_INVALID_CRC = 155 - ALARM_ID_NVDATA_HW_USAGE_DATA_CRC_ERROR = 156 + ALARM_ID_DG_CLEANING_MODE_INLET_WATER_COND_TOO_LOW = 154 + ALARM_ID_HD_NEW_RESERVOIRS_DATA_MESSAGE_NOT_RECEIVE = 155 + ALARM_ID_HD_NEW_DG_OPERATION_MODE_MESSAGE_NOT_RECEIVE = 156 ALARM_ID_DG_CHEM_DISINFECT_PRIME_ACID_LINE_TIME_OUT = 157 ALARM_ID_INLET_WATER_TEMPERATURE_IN_LOW_RANGE = 158 ALARM_ID_DIAL_IN_PUMP_FLOW_VS_MOTOR_SPEED_CHECK = 159 @@ -189,18 +189,18 @@ ALARM_ID_TREATMENT_RECIRC_TIMEOUT_ALARM = 166 ALARM_ID_CARTRIDGE_DOOR_OPENED = 167 ALARM_ID_HD_ACTIVE_RESERVOIR_DEPLETION_TIME_OUT = 168 - ALARM_ID_DIALYSATE_FLOW_RATE_OUT_OF_RANGE = 169 + ALARM_ID_DG_DIALYSATE_FLOW_RATE_OUT_OF_MAX_RANGE = 169 ALARM_ID_HD_SYRINGE_PUMP_SYRINGE_EMPTY = 170 ALARM_ID_HD_SYRINGE_PUMP_OCCLUSION = 171 ALARM_ID_HD_SYRINGE_PUMP_NOT_ENOUGH_HEPARIN_ALARM = 172 - ALARM_ID____AVAILABLE_1 = 173 - ALARM_ID____AVAILABLE_2 = 174 + ALARM_ID_HD_RTC_CONFIG_ERROR = 173 + ALARM_ID_HD_RTC_OR_TIMER_ACCURACY_FAILURE = 174 ALARM_ID_HD_PUMP_DIRECTION_STATUS_ERROR = 175 - ALARM_ID_HD_RESERVOIR_FULL_AND_DG_NOT_READY_TO_SWITCH = 176 + ALARM_ID_HD_DIALYSATE_TEMP_OUT_OF_HIGH_SAFETY_RANGE = 176 ALARM_ID_DG_SOFTWARE_FAULT = 177 ALARM_ID_HD_COMM_TIMEOUT = 178 ALARM_ID_DG_FPGA_COMM_TIMEOUT = 179 - ALARM_ID_DG_LOAD_CELL_ADC_ERROR = 180 + ALARM_ID_DG_RO_FLOW_RATE_OUT_OF_MAX_RANGE = 180 ALARM_ID_DG_LOAD_CELLS_TARE_WEIGHT_OUT_OF_RANGE = 181 ALARM_ID_DG_LOAD_CELLS_INVALID_CAL_RECORD = 182 ALARM_ID_DG_INVALID_LOAD_CELL_VALUE = 183 @@ -213,13 +213,13 @@ ALARM_ID_DRAIN_PUMP_OFF_FAULT = 190 ALARM_ID_FLOW_RATE_OUT_OF_UPPER_RANGE = 191 ALARM_ID_FLOW_RATE_OUT_OF_LOWER_RANGE = 192 - ALARM_ID_RO_PUMP_FLOW_RATE_OUT_OF_RANGE = 193 + ALARM_ID_HD_DIALYSATE_TEMP_OUT_OF_LOW_SAFETY_RANGE = 193 ALARM_ID_RO_PUMP_DUTY_CYCLE_OUT_OF_RANGE = 194 ALARM_ID_RO_PUMP_PRESSURE_OUT_OF_RANGE = 195 - ALARM_ID_DG_TEMPERATURE_SENSOR_FAULT = 196 - ALARM_ID_DG_TEMPERATURE_SENSORS_ADC_FAULT = 197 - ALARM_ID_DG_HEATERS_NEGATIVE_COLD_JUNCTION_TEMPERATURE = 198 - ALARM_ID_DG_HEATERS_FAULT = 199 + ALARM_ID_DG_CPI_CPO_SENSORS_FPGA_FAULT = 196 + ALARM_ID_DG_CD1_CD2_SENSORS_FPGA_FAULT = 197 + ALARM_ID_RO_FLOW_TOO_LOW_WHILE_PRIMARY_HEATER_IS_ON = 198 + ALARM_ID_DIALYSATE_FLOW_TOO_LOW_WHILE_TRIMMER_HEATER_IS_ON = 199 ALARM_ID_DG_THERMISTORS_TEMPERATURE_OUT_OF_RANGE = 200 ALARM_ID_PRE_TREATMENT_WET_FLOW_TEST_FAILURE = 201 ALARM_ID_PRE_TREATMENT_DRY_PRESSURE_NORMAL_TEST_FAILURE = 202 @@ -228,7 +228,7 @@ ALARM_ID_CONDUCTIVITY_SENSOR_FAULT = 205 ALARM_ID_DG_DIALYSATE_FILL_OUT_OF_TIME = 206 ALARM_ID_DG_FLOW_METER_CHECK_FAILURE = 207 - ALARM_ID_DG_PRIMARY_HEATER_ON_WITH_NO_FLOW_TIMEOUT = 208 + ALARM_ID_HD_VENOUS_LINE_OCCLUSION = 208 ALARM_ID_DG_DRAIN_CIRCULATION_LINE_TIMEOUT = 209 ALARM_ID_HD_BATTERY_PACK_ERROR_DETECTED = 210 ALARM_ID_BLOOD_SITTING_WARNING = 211 @@ -240,20 +240,20 @@ ALARM_ID_BLOOD_PRIME_VOLUME_CHECK_FAILURE = 217 ALARM_ID_HD_SYRINGE_DETECTED = 218 ALARM_ID_HD_SYRINGE_PUMP_SYRINGE_REMOVED = 219 - ALARM_ID_HD_BATTERY_PACK_CHARGE_TOO_LOW = 220 + ALARM_ID_DG_THD_SENSORS_FPGA_FAULT = 220 ALARM_ID_EMPTY_SALINE_BAG = 221 - ALARM_ID_DIALYSATE_TEMPERATURE_HIGH = 222 - ALARM_ID_DIALYSATE_TEMPERATURE_LOW = 223 + ALARM_ID_HD_OCCLUSION_SENSOR_FPGA_FAULT = 222 + ALARM_ID_HD_ARTERIAL_SENSOR_FPGA_FAULT = 223 ALARM_ID_TREATMENT_STOPPED_BY_USER = 224 ALARM_ID_END_OF_TREATMENT_WARNING = 225 ALARM_ID_PRIME_COMPLETED_LOW_PRIORITY = 226 ALARM_ID_PRIME_OUT_OF_TIME = 227 - ALARM_ID_HD_PRIME_PURGE_AIR_TIME_OUT = 228 + ALARM_ID_HD_PRIME_SALINE_PURGE_AIR_TIME_OUT = 228 ALARM_ID_PRIME_DIALYSATE_DIALYZER_TIME_OUT = 229 ALARM_ID_PRIME_DIALYSATE_BYPASS_TIME_OUT = 230 ALARM_ID_PRE_TREATMENT_DRY_PRESSURE_TEST_FAILURE = 231 ALARM_ID_PRE_TREATMENT_WET_LC_TEST_FAILURE = 232 - ALARM_ID_RTC_BATTERY_LOW = 233 + ALARM_ID_DG_BAROMETRIC_SENSOR_COEFFS_BAD_CRC = 233 ALARM_ID_RTC_RAM_OPS_ERROR = 234 ALARM_ID_TREATMENT_STOPPED_AFTER_RINSEBACK = 235 ALARM_ID_INSTALL_NEW_CARTRIDGE = 236 @@ -267,7 +267,7 @@ ALARM_ID_DG_TEMP_SENSORS_DIFF_OUT_OF_RANGE = 244 ALARM_ID_DG_HEAT_DISINFECT_TARGET_TEMP_TIMEOUT = 245 ALARM_ID_DG_HEAT_DISINFECT_INLET_PRES_AND_TEMP_SNSRS_OUT = 246 - ALARM_ID_DG_HEAT_DISINFECT_INLET_COND_AND_TEMP_OUT = 247 + ALARM_ID_DG_HEAT_DISINFECT_ACTIVE_COOL_TIME_OUT = 247 ALARM_ID_DG_CHEM_DISINFECT_TARGET_TEMP_TIMEOUT = 248 ALARM_ID_DG_CHEM_DISINFECT_INLET_PRES_AND_TEMP_SNSRS_OUT = 249 ALARM_ID_DG_CHEM_DISINFECT_INLET_COND_AND_TEMP_OUT = 250 @@ -300,14 +300,42 @@ ALARM_ID_HD_BP_OCCLUSION_OUT_OF_RANGE = 277 ALARM_ID_HD_ACTIVE_RESERVOIR_WEIGHT_OUT_OF_RANGE = 278 ALARM_ID_DG_DIALYSATE_DRAIN_TIME_OUT = 279 - ALARM_ID_HD_ARTERIAL_PRESSURE_READ_TIMEOUT_ERROR = 280 + ALARM_ID_DG_DRAIN_PUMP_DIRECTION_INVALID = 280 ALARM_ID_DG_ACID_BOTTLE_LOW_VOLUME = 281 ALARM_ID_DG_BICARB_BOTTLE_LOW_VOLUME = 282 ALARM_ID_DG_LOAD_CELL_WEIGHT_OUT_OF_RANGE = 283 ALARM_ID_DG_LOAD_CELL_PRIMARY_BACKUP_DRIFT_OUT_OF_RANGE = 284 ALARM_ID_HD_TREATMENT_RECIRC_TIMEOUT_WARNING = 285 ALARM_ID_HD_TREATMENT_RINSEBACK_TIMEOUT_WARNING = 286 ALARM_ID_HD_FPGA_CLOCK_SPEED_CHECK_FAILURE = 287 - ALARM_ID_DG_TRIMMER_HEATER_ON_WITH_NO_FLOW_TIMEOUT = 288 + ALARM_ID_HD_LOAD_CELL_PRIMARY_BACKUP_DRIFT_OUT_OF_RANGE = 288 ALARM_ID_DG_DIALYSATE_OR_CONC_CAP_NOT_IN_PROPER_POSITION = 289 - ALARM_ID_DG_FLOW_TOO_LOW_WHILE_HEATER_ON = 290 + ALARM_ID_HD_VENOUS_SENSOR_FPGA_FAULT = 290 + ALARM_ID_HD_DISINFECT_FLUSH = 291 + ALARM_ID_HD_DISINFECT_HEAT = 292 + ALARM_ID_HD_DISINFECT_CHEM = 293 + ALARM_ID_HD_DISINFECT_CHEM_INSTRUCTION1 = 294 + ALARM_ID_UI_POST_FAILURE_CLOUDSYNC = 295 + ALARM_ID_DG_TDI_SENSORS_FPGA_FAULT = 296 + ALARM_ID_DG_TRO_SENSORS_FPGA_FAULT = 297 + ALARM_ID_DG_BARO_SENSOR_FPGA_FAULT = 298 + ALARM_ID_DG_INVALID_SERIAL_NUMBER = 299 + ALARM_ID_HD_INVALID_SERIAL_NUMBER = 300 + ALARM_ID_DG_PRIMARY_HEATER_POWER_VOLTAGE_OUT_OF_RANGE = 301 + ALARM_ID_DG_CPU_RAM_ERROR = 302 + ALARM_ID_DG_DRAIN_PUMP_DIRECTION_FPGA_FAULT = 303 + ALARM_ID_HD_INVALID_USAGE_RECORD_CRC = 304 + ALARM_ID_HD_CPU_RAM_ERROR = 305 + ALARM_ID_HD_AIR_TRAP_OVERFILL = 306 + ALARM_ID_HD_AC_POWER_LOST_IN_TREATMENT = 307 + ALARM_ID_DG_CPI_COND_SENSOR_INVALID_CHAR = 308 + ALARM_ID_DG_CPO_COND_SENSOR_INVALID_CHAR = 309 + ALARM_ID_DG_CD1_COND_SENSOR_INVALID_CHAR = 310 + ALARM_ID_DG_CD2_COND_SENSOR_INVALID_CHAR = 311 + ALARM_ID_HD_DIAL_IN_FLOW_CHECK_FAILURE = 312 + ALARM_ID_DG_CLEANING_MODE_INLET_WATER_TEMP_TOO_LOW = 313 + ALARM_ID_DG_CLEANING_MODE_INLET_WATER_PRESSURE_TOO_HIGH = 314 + ALARM_ID_DG_CLEANING_MODE_INLET_WATER_PRESSURE_TOO_LOW = 315 + ALARM_ID_DG_ACID_CONCENTRATE_PUMP_PARK_FAULT = 316 + ALARM_ID_DG_BICARB_CONCENTRATE_PUMP_PARK_FAULT = 317 + Index: dialin/common/msg_defs.py =================================================================== diff -u -rf4ad9423fb3d75f48f2cc676b30a63b85c9c486e -r83d005a1873228d7d3ed0cb0aa8f8edb1e44a754 --- dialin/common/msg_defs.py (.../msg_defs.py) (revision f4ad9423fb3d75f48f2cc676b30a63b85c9c486e) +++ dialin/common/msg_defs.py (.../msg_defs.py) (revision 83d005a1873228d7d3ed0cb0aa8f8edb1e44a754) @@ -7,8 +7,8 @@ # # @file msg_defs.py # -# @author (last) Behrouz NematiPour -# @date (last) 08-Sep-2022 +# @author (last) Dara Navaei +# @date (last) 08-Dec-2022 # @author (original) Peter Lucia # @date (original) 07-Aug-2020 # @@ -46,7 +46,7 @@ MsgIds.MSG_ID_DIALYSATE_OUT_FLOW_DATA.value, MsgIds.MSG_ID_LOAD_CELL_READINGS.value, MsgIds.MSG_ID_TREATMENT_TIME.value, - MsgIds.MSG_ID_POWER_OFF_WARNING.value, + MsgIds.MSG_ID_POWER_OFF_IMMINENT.value, MsgIds.MSG_ID_TREATMENT_STATE.value, MsgIds.MSG_ID_RO_PUMP_DATA.value, MsgIds.MSG_ID_DG_PRESSURES_DATA.value, @@ -97,7 +97,6 @@ MsgIds.MSG_ID_DG_SWITCHES_DATA.value, MsgIds.MSG_ID_HD_SWITCHES_DATA.value, MsgIds.MSG_ID_HD_FANS_DATA.value, - MsgIds.MSG_ID_DG_DIALYSATE_FLOW_METER_DATA.value, MsgIds.MSG_ID_DG_ALARM_INFO.value, MsgIds.MSG_ID_HD_RESERVOIRS_DATA.value, MsgIds.MSG_ID_DG_CPLD_STATUS.value @@ -195,3 +194,11 @@ END_POS_FIELD_24 = START_POS_FIELD_24 + 4 START_POS_FIELD_25 = END_POS_FIELD_24 END_POS_FIELD_25 = START_POS_FIELD_25 + 4 + START_POS_FIELD_26 = END_POS_FIELD_25 + END_POS_FIELD_26 = START_POS_FIELD_26 + 4 + START_POS_FIELD_27 = END_POS_FIELD_26 + END_POS_FIELD_27 = START_POS_FIELD_27 + 4 + START_POS_FIELD_28 = END_POS_FIELD_27 + END_POS_FIELD_28 = START_POS_FIELD_28 + 4 + START_POS_FIELD_29 = END_POS_FIELD_28 + END_POS_FIELD_29 = START_POS_FIELD_29 + 4 Index: dialin/dg/dialysate_generator.py =================================================================== diff -u -r51fb1c251f0ba1fb83d935a43208bb10d9c791fe -r83d005a1873228d7d3ed0cb0aa8f8edb1e44a754 --- dialin/dg/dialysate_generator.py (.../dialysate_generator.py) (revision 51fb1c251f0ba1fb83d935a43208bb10d9c791fe) +++ dialin/dg/dialysate_generator.py (.../dialysate_generator.py) (revision 83d005a1873228d7d3ed0cb0aa8f8edb1e44a754) @@ -7,8 +7,8 @@ # # @file dialysate_generator.py # -# @author (last) Sean Nash -# @date (last) 08-Jul-2022 +# @author (last) Dara Navaei +# @date (last) 21-Dec-2022 # @author (original) Peter Lucia # @date (original) 02-Apr-2020 # @@ -20,19 +20,21 @@ from .alarms import DGAlarms from .calibration_record import DGCalibrationNVRecord from .chemical_disinfect import ChemicalDisinfect +from .chemical_disinfect_flush import ChemicalDisinfectFlushMode from .concentrate_pumps import ConcentratePumps from .conductivity_sensors import ConductivitySensors from .constants import RESET, NO_RESET from .cpld import Cpld from .drain_pump import DGDrainPump from .fans import Fans from .dialysate_fill import DialysateFill -from .dialysate_flow_sensor import DialysateFlowSensor +from .flow_sensors import FlowSensors from .fluid_leak import DGFluidLeak from .flush import FlushMode from .gen_idle import GenIdle from .hd_proxy import DGHDProxy from .heat_disinfect import HeatDisinfect +from .heat_disinfect_active_cool import HeatDisinfectActiveCool from .heaters import Heaters from .load_cells import DGLoadCells from .pressures import DGPressures @@ -163,18 +165,20 @@ self.alarms = DGAlarms(self.can_interface, self.logger) self.calibration_record = DGCalibrationNVRecord(self.can_interface, self.logger) self.chemical_disinfect = ChemicalDisinfect(self.can_interface, self.logger) + self.chemical_disinfect_flush = ChemicalDisinfectFlushMode(self.can_interface, self.logger) self.concentrate_pumps = ConcentratePumps(self.can_interface, self.logger) self.conductivity_sensors = ConductivitySensors(self.can_interface, self.logger) self.cpld = Cpld(self.can_interface, self.logger) self.dialysate_fill = DialysateFill(self.can_interface, self.logger) - self.dialysate_flow_sensor = DialysateFlowSensor(self.can_interface, self.logger) self.drain_pump = DGDrainPump(self.can_interface, self.logger) self.fans = Fans(self.can_interface, self.logger) + self.flow_sensors = FlowSensors(self.can_interface, self.logger) self.fluid_leak = DGFluidLeak(self.can_interface, self.logger) self.flush = FlushMode(self.can_interface, self.logger) self.gen_idle = GenIdle(self.can_interface, self.logger) self.hd_proxy = DGHDProxy(self.can_interface, self.logger) self.heat_disinfect = HeatDisinfect(self.can_interface, self.logger) + self.heat_disinfect_active_cool = HeatDisinfectActiveCool(self.can_interface, self.logger) self.heaters = Heaters(self.can_interface, self.logger) self.load_cells = DGLoadCells(self.can_interface, self.logger) self.pressures = DGPressures(self.can_interface, self.logger) @@ -340,9 +344,18 @@ """ - message = DenaliMessage.build_message(channel_id=DenaliChannels.dialin_to_dg_ch_id, - message_id=MsgIds.MSG_ID_REQUEST_FW_VERSIONS.value) + major = unsigned_byte_to_bytearray(0) + minor = unsigned_byte_to_bytearray(0) + micro = unsigned_byte_to_bytearray(0) + build = short_to_bytearray(0) + compatibility = integer_to_bytearray(0) + payload = major + minor + micro + build + compatibility + + message = DenaliMessage.build_message(channel_id=DenaliChannels.ui_sync_broadcast_ch_id, + message_id=MsgIds.MSG_ID_REQUEST_FW_VERSIONS.value, + payload=payload) + self.logger.debug("Sending Dialin request for version to DG") self.can_interface.send(message, 0) @@ -354,18 +367,7 @@ Must be logged into DG. Transition from current to requested op mode must be legal. - @param new_mode: ID of operation mode to transition to - DG_MODE_FAUL = 0 - DG_MODE_SERV = 1 - DG_MODE_INIT = 2 - DG_MODE_STAN = 3 - DG_MODE_SOLO = 4 - DG_MODE_GENE = 5 - DG_MODE_FILL = 6 - DG_MODE_DRAI = 7 - DG_MODE_FLUS = 8 - DG_MODE_HEAT = 9 - DG_MODE_CHEM = 10 + @param new_mode: ID of operation mode to transition to (see DGOpModes enum for options) @return: 1 if successful, zero otherwise