Index: AlarmDefs.h =================================================================== diff -u -reed2329e907013eced8e367f39b78a44d34bbe62 -r0bbe00517d171d9db4da633bdda50aaca350d446 --- AlarmDefs.h (.../AlarmDefs.h) (revision eed2329e907013eced8e367f39b78a44d34bbe62) +++ AlarmDefs.h (.../AlarmDefs.h) (revision 0bbe00517d171d9db4da633bdda50aaca350d446) @@ -87,7 +87,7 @@ ALARM_ID_VALVE_CONTROL_FAILURE = 51, ///< FPGA not accepting commanded valve states ALARM_ID_BLOOD_PUMP_FLOW_VS_MOTOR_SPEED_CHECK = 52, ///< Blood pump failed flow vs. motor speed check. Mismatch with flow rate and rate implied by motor speed ALARM_ID_DIAL_IN_PUMP_FLOW_VS_MOTOR_SPEED_CHECK = 53, ///< Dialysate inlet pump failed flow vs. motor speed check. Mismatch with flow rate and rate implied by motor speed - ALARM_ID_DIAL_OUT_PUMP_FLOW_VS_MOTOR_SPEED_CHECK = 54, ///< Dialysate outlet pump failed flow vs. motor speed check. Mismatch with flow rate and rate implied by motor speed + ALARM_ID_HD_PRIME_PURGE_AIR_TIME_OUT = 54, ///< HD time out on prime sub-mode purge air state. ALARM_ID_BLOOD_PUMP_MOTOR_SPEED_CHECK = 55, ///< Blood pump failed motor speed check. Measured vs. commanded ALARM_ID_DIAL_IN_PUMP_MOTOR_SPEED_CHECK = 56, ///< Dialysate inlet pump failed motor speed check. Measured vs. commanded ALARM_ID_DIAL_OUT_PUMP_MOTOR_SPEED_CHECK = 57, ///< Dialysate outlet pump failed motor speed check. Measured vs. commanded @@ -135,14 +135,19 @@ ALARM_ID_DG_DIALYSATE_FILL_OUT_OF_TIME = 99, ///< DG dialysate fill runs out of time ALARM_ID_CP1_SPEED_CONTROL_ERROR = 100, ///< DG concentrate pump CP1 speed control error ALARM_ID_CP2_SPEED_CONTROL_ERROR = 101, ///< DG concentrate pump CP2 speed control error - ALARM_ID_FLOW_RATE_OUT_OF_RANGE = 102, ///< DG flow rate out of range + ALARM_ID_FLOW_RATE_OUT_OF_UPPER_RANGE = 102, ///< DG flow rate out of upper range ALARM_ID_RO_PUMP_PRESSURE_OUT_OF_RANGE = 103, ///< DG RO pump pressure out of range ALARM_ID_DRAIN_PUMP_RPM_OUT_OF_RANGE = 104, ///< DG drain pump RPM out of range ALARM_ID_DG_HEATERS_NEGATIVE_COLD_JUNCTION_TEMPERATURE = 105, ///< DG heaters cold junction temperature out of range ALARM_ID_DG_HEATERS_FAULT = 106, ///< DG heaters fault ALARM_ID_END_OF_DIALYSIS_TREATMENT_WARNING = 107, ///< HD end of treatment warning ALARM_ID_END_OF_DIALYSIS_TREATMENT_ALARM = 108, ///< HD end of treatment alarm (user not acting to end treatment) ALARM_ID_END_OF_DIALYSIS_TREATMENT_ALARM_HIGH = 109, ///< HD end of treatment alarm (high priority - user still not acting to end treatment) + ALARM_ID_DG_HEAT_DISINFECT_CYCLE_FAILED = 110, ///< DG heat disinfect cycle failed + ALARM_ID_RO_PUMP_RAMP_UP_TO_FLOW_TIMEOUT = 111, ///< DG RO pump ramp up to target flow time out + ALARM_ID_FLOW_RATE_OUT_OF_LOWER_RANGE = 112, ///< DG flow rate out of lower range + ALARM_ID_DRAIN_PUMP_OFF_FAULT = 113, ///< DG drain pump off fault + ALARM_ID_RO_PUMP_OFF_FAULT = 114, ///< DG RO pump off fault NUM_OF_ALARM_IDS ///< Total number of alarms }; typedef enum Alarm_List ALARM_ID_T; ///< Type for alarm list enumeration @@ -182,23 +187,23 @@ /// Enumeration of alarm state flags bit positions in periodic broadcast enum Alarm_State_Flag_Bit_Positions { - ALARM_STATE_FLAG_BIT_POS_SYSTEM_FAULT = 0, - ALARM_STATE_FLAG_BIT_POS_STOP = 1, - ALARM_STATE_FLAG_BIT_POS_NO_CLEAR = 2, - ALARM_STATE_FLAG_BIT_POS_NO_RESUME = 3, - ALARM_STATE_FLAG_BIT_POS_NO_RINSEBACK = 4, - ALARM_STATE_FLAG_BIT_POS_NO_END_TREATMENT = 5, - ALARM_STATE_FLAG_BIT_POS_NO_NEW_TREATMENT = 6, - ALARM_STATE_FLAG_BIT_POS_USER_MUST_ACK = 7, - ALARM_STATE_FLAG_BIT_POS_ALARMS_TO_ESCALATE = 8, - ALARM_STATE_FLAG_BIT_POS_ALARMS_SILENCED = 9, - ALARM_STATE_FLAG_BIT_POS_LAMP_ON = 10, - ALARM_STATE_FLAG_BIT_POS_UNUSED_1 = 11, - ALARM_STATE_FLAG_BIT_POS_UNUSED_2 = 12, - ALARM_STATE_FLAG_BIT_POS_UNUSED_3 = 13, - ALARM_STATE_FLAG_BIT_POS_UNUSED_4 = 14, - ALARM_STATE_FLAG_BIT_POS_TOP_CONDITION = 15, - NUM_OF_ALARM_STATE_FLAG_BIT_POS = 16 + ALARM_STATE_FLAG_BIT_POS_SYSTEM_FAULT = 0, ///< One or more system faults has been triggered + ALARM_STATE_FLAG_BIT_POS_STOP = 1, ///< Alarm(s) have stopped treatment/activity and placed system in a safe state + ALARM_STATE_FLAG_BIT_POS_NO_CLEAR = 2, ///< One or more active alarms is not recoverable + ALARM_STATE_FLAG_BIT_POS_NO_RESUME = 3, ///< The "resume" user recovery option is disabled + ALARM_STATE_FLAG_BIT_POS_NO_RINSEBACK = 4, ///< The "rinseback" user recovery option is disabled + ALARM_STATE_FLAG_BIT_POS_NO_END_TREATMENT = 5, ///< The "end treatment" user recovery option is disabled + ALARM_STATE_FLAG_BIT_POS_NO_NEW_TREATMENT = 6, ///< A new treatment may not be started without cycling power to system + ALARM_STATE_FLAG_BIT_POS_USER_MUST_ACK = 7, ///< The "ok" user recovery option is enabled + ALARM_STATE_FLAG_BIT_POS_ALARMS_TO_ESCALATE = 8, ///< One or more active alarms will escalate in time + ALARM_STATE_FLAG_BIT_POS_ALARMS_SILENCED = 9, ///< Alarms have been temporarily silenced by user + ALARM_STATE_FLAG_BIT_POS_LAMP_ON = 10, ///< Alarm lamp is currently on (for syncing to UI) + ALARM_STATE_FLAG_BIT_POS_UNUSED_1 = 11, ///< Reserved + ALARM_STATE_FLAG_BIT_POS_UNUSED_2 = 12, ///< Reserved + ALARM_STATE_FLAG_BIT_POS_UNUSED_3 = 13, ///< Reserved + ALARM_STATE_FLAG_BIT_POS_UNUSED_4 = 14, ///< Reserved + ALARM_STATE_FLAG_BIT_POS_TOP_CONDITION = 15, ///< The top alarm's condition is still being detected + NUM_OF_ALARM_STATE_FLAG_BIT_POS = 16 ///< The number of alarm state flag bit positions }; typedef enum Alarm_State_Flag_Bit_Positions ALARM_STATE_FLAG_BIT_POSITIONS_T; @@ -232,7 +237,7 @@ /// Table of alarms and their static properties. const ALARM_T ALARM_TABLE[] = -{ // Priority Rank Escalate In Escalate To Fault Stops ClrIm NoClr NoRes NoRin NoEnd NoNew UsrAck +{ // Priority Rank Escalate In Escalate To Fault Stops ClrIm NoClr NoRes NoRin NoEnd NoNew UsrAck { ALARM_PRIORITY_NONE, 999, 0, ALARM_ID_NO_ALARM, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE }, // ALARM_ID_NO_ALARM { ALARM_PRIORITY_HIGH, 3, 0, ALARM_ID_NO_ALARM, TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , FALSE }, // ALARM_ID_HD_SOFTWARE_FAULT { ALARM_PRIORITY_HIGH, 1, 0, ALARM_ID_NO_ALARM, TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , FALSE }, // ALARM_ID_STUCK_BUTTON_TEST_FAILED @@ -287,7 +292,7 @@ { ALARM_PRIORITY_HIGH, 3, 0, ALARM_ID_NO_ALARM, TRUE, TRUE , TRUE , TRUE, TRUE, TRUE, TRUE, TRUE, FALSE }, // ALARM_ID_VALVE_CONTROL_FAILURE { ALARM_PRIORITY_HIGH, 3, ALM_ESC_4_MIN, ALARM_ID_BLOOD_SITTING_WARNING, FALSE, TRUE , TRUE , FALSE, FALSE, FALSE, FALSE, FALSE, FALSE }, // ALARM_ID_BLOOD_PUMP_FLOW_VS_MOTOR_SPEED_CHECK { ALARM_PRIORITY_HIGH, 3, ALM_ESC_4_MIN, ALARM_ID_BLOOD_SITTING_WARNING, FALSE, TRUE , TRUE , FALSE, FALSE, FALSE, FALSE, FALSE, FALSE }, // ALARM_ID_DIAL_IN_PUMP_FLOW_VS_MOTOR_SPEED_CHECK - { ALARM_PRIORITY_HIGH, 3, ALM_ESC_4_MIN, ALARM_ID_BLOOD_SITTING_WARNING, FALSE, TRUE , TRUE , FALSE, FALSE, FALSE, FALSE, FALSE, FALSE }, // ALARM_ID_DIAL_OUT_PUMP_FLOW_VS_MOTOR_SPEED_CHECK + { ALARM_PRIORITY_HIGH, 5, 0, ALARM_ID_NO_ALARM, TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , FALSE }, // ALARM_ID_HD_PRIME_PURGE_AIR_TIME_OUT { ALARM_PRIORITY_HIGH, 3, 0, ALARM_ID_NO_ALARM, TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , FALSE }, // ALARM_ID_BLOOD_PUMP_MOTOR_SPEED_CHECK { ALARM_PRIORITY_HIGH, 3, 0, ALARM_ID_NO_ALARM, TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , FALSE }, // ALARM_ID_DIAL_IN_PUMP_MOTOR_SPEED_CHECK { ALARM_PRIORITY_HIGH, 3, 0, ALARM_ID_NO_ALARM, TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , FALSE }, // ALARM_ID_DIAL_OUT_PUMP_MOTOR_SPEED_CHECK @@ -323,7 +328,7 @@ { ALARM_PRIORITY_HIGH, 3, ALM_ESC_4_MIN, ALARM_ID_BLOOD_SITTING_WARNING, FALSE, TRUE , TRUE , FALSE, FALSE, FALSE, FALSE, FALSE, FALSE }, // ALARM_ID_BLOOD_FLOW_SIGNAL_STRENGTH_TOO_LOW { ALARM_PRIORITY_HIGH, 3, ALM_ESC_4_MIN, ALARM_ID_BLOOD_SITTING_WARNING, FALSE, TRUE , TRUE , FALSE, FALSE, FALSE, FALSE, FALSE, FALSE }, // ALARM_ID_DIALYSATE_FLOW_SIGNAL_STRENGTH_TOO_LOW { ALARM_PRIORITY_HIGH, 3, ALM_ESC_4_MIN, ALARM_ID_BLOOD_SITTING_WARNING, FALSE, TRUE , TRUE , FALSE, FALSE, FALSE, FALSE, FALSE, FALSE }, // ALARM_ID_EMPTY_SALINE_BAG - { ALARM_PRIORITY_HIGH, 3, 0, ALARM_ID_NO_ALARM, TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , FALSE }, // ALARM_ID_SALINE_BOLUS_VOLUME_CHECK_FAILURE + { ALARM_PRIORITY_MEDIUM, 3, 0, ALARM_ID_NO_ALARM, FALSE, FALSE, TRUE , FALSE, TRUE , TRUE , TRUE , FALSE, TRUE }, // ALARM_ID_SALINE_BOLUS_VOLUME_CHECK_FAILURE { ALARM_PRIORITY_HIGH, 3, 0, ALARM_ID_NO_ALARM, TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , FALSE }, // ALARM_ID_ARTERIAL_PRESSURE_SENSOR_FAULT { ALARM_PRIORITY_HIGH, 3, 0, ALARM_ID_NO_ALARM, TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , FALSE }, // ALARM_ID_VENOUS_PRESSURE_SENSOR_FAULT { ALARM_PRIORITY_HIGH, 3, 0, ALARM_ID_NO_ALARM, TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , FALSE }, // ALARM_ID_UV_REACTOR_NOT_HEALTHY @@ -343,6 +348,10 @@ { ALARM_PRIORITY_LOW, 32, 0, ALARM_ID_NO_ALARM, FALSE, FALSE, TRUE , FALSE, TRUE , FALSE, TRUE , FALSE, FALSE }, // ALARM_ID_END_OF_DIALYSIS_TREATMENT_WARNING { ALARM_PRIORITY_MEDIUM, 26, 0, ALARM_ID_NO_ALARM, TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , FALSE }, // ALARM_ID_END_OF_DIALYSIS_TREATMENT_ALARM { ALARM_PRIORITY_HIGH, 4, 0, ALARM_ID_NO_ALARM, TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , FALSE }, // ALARM_ID_END_OF_DIALYSIS_TREATMENT_ALARM_HIGH + { ALARM_PRIORITY_HIGH, 4, 0, ALARM_ID_NO_ALARM, TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , FALSE }, // ALARM_ID_DG_HEAT_DISINFECT_CYCLE_FAILED + { ALARM_PRIORITY_HIGH, 4, 0, ALARM_ID_NO_ALARM, TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , FALSE }, // ALARM_ID_RO_PUMP_RAMP_UP_TO_FLOW_TIMEOUT + { ALARM_PRIORITY_HIGH, 4, 0, ALARM_ID_NO_ALARM, TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , FALSE }, // ALARM_ID_FLOW_RATE_OUT_OF_LOWER_RANGE + { ALARM_PRIORITY_HIGH, 4, 0, ALARM_ID_NO_ALARM, TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , FALSE }, // ALARM_ID_DRAIN_PUMP_OFF_FAULT }; #endif // included by AlarmMgmt.c