Index: AlarmDefs.h =================================================================== diff -u -r6bc7af6b62c6f8ee7d24ae4257e2cf449eaca2af -reed2329e907013eced8e367f39b78a44d34bbe62 --- AlarmDefs.h (.../AlarmDefs.h) (revision 6bc7af6b62c6f8ee7d24ae4257e2cf449eaca2af) +++ AlarmDefs.h (.../AlarmDefs.h) (revision eed2329e907013eced8e367f39b78a44d34bbe62) @@ -25,6 +25,11 @@ * @{ */ +#define ALM_ESC_1_MIN (1 * 60000) ///< Number of ms in 1 minute. +#define ALM_ESC_4_MIN (4 * 60000) ///< Number of ms in 4 minutes. +#define ALM_ESC_5_MIN (5 * 60000) ///< Number of ms in 5 minutes. +#define ALM_ESC_10_MIN (10 * 60000) ///< Number of ms in 10 minutes. + /// Enumeration of alarm IDs. enum Alarm_List { @@ -77,7 +82,7 @@ AlARM_ID_NVDATA_DISINFECTION_DATE_CRC_ERROR = 46, ///< Last disinfection date CRC error ALARM_ID_RO_PUMP_OUT_PRESSURE_OUT_OF_RANGE = 47, ///< Pressure at outlet of RO pump is out of range ALARM_ID_TEMPERATURE_SENSORS_FAULT = 48, ///< DG temperature sensors fault - ALARM_ID_TEMPERATURE_SENSORS_INCONSISTENT = 49, ///< DG temperature sensors values are inconsistent with respect to each other + ALARM_ID_FPGA_COMM_TIMEOUT = 49, ///< FPGA communication down for too long ALARM_ID_HD_COMM_TIMEOUT = 50, ///< HD communication timeout 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 @@ -118,23 +123,26 @@ ALARM_ID_BLOOD_FLOW_SIGNAL_STRENGTH_TOO_LOW = 87, ///< Blood flow sensor signal strength too low ALARM_ID_DIALYSATE_FLOW_SIGNAL_STRENGTH_TOO_LOW = 88, ///< Dialysate flow sensor signal strength too low ALARM_ID_EMPTY_SALINE_BAG = 89, ///< Saline bag is empty - ALARM_ID_SALINE_BOLUS_VOLUME_CHECK_FAILURE = 90, ///< Saline bolus volume check failure. - ALARM_ID_ARTERIAL_PRESSURE_SENSOR_FAULT = 91, ///< FPGA reports failure reading arterial pressure sensor. - ALARM_ID_VENOUS_PRESSURE_SENSOR_FAULT = 92, ///< FPGA reports failure reading venous pressure sensor. + ALARM_ID_SALINE_BOLUS_VOLUME_CHECK_FAILURE = 90, ///< Saline bolus volume check failure + ALARM_ID_ARTERIAL_PRESSURE_SENSOR_FAULT = 91, ///< FPGA reports failure reading arterial pressure sensor + ALARM_ID_VENOUS_PRESSURE_SENSOR_FAULT = 92, ///< FPGA reports failure reading venous pressure sensor ALARM_ID_UV_REACTOR_NOT_HEALTHY = 93, ///< UV reactor not healthy (either inlet or outlet) - ALARM_ID_POST_ACID_CONDUCTIVITY_OUT_OF_RANGE = 94, ///< Post-acid concentrate conductivity out of range. - ALARM_ID_POST_BICARB_CONDUCTIVITY_OUT_OF_RANGE = 95, ///< Post-bicarb concentrate conductivity out of range. - ALARM_ID_RO_PUMP_FLOW_RATE_OUT_OF_RANGE = 96, ///< RO pump flow rate out of range. - ALARM_ID_DG_THERMISOTRS_TEMPERATURE_OUT_OF_RANGE = 97, ///< DG thermistors/sensors temperature out of range. - ALARM_ID_DG_FAN_RPM_OUT_OF_RANGE = 98, ///< DG fan RPM out of range. - 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_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_POST_ACID_CONDUCTIVITY_OUT_OF_RANGE = 94, ///< Post-acid concentrate conductivity out of range + ALARM_ID_POST_BICARB_CONDUCTIVITY_OUT_OF_RANGE = 95, ///< Post-bicarb concentrate conductivity out of range + ALARM_ID_RO_PUMP_FLOW_RATE_OUT_OF_RANGE = 96, ///< RO pump flow rate out of range + ALARM_ID_DG_THERMISOTRS_TEMPERATURE_OUT_OF_RANGE = 97, ///< DG thermistors/sensors temperature out of range + ALARM_ID_DG_FAN_RPM_OUT_OF_RANGE = 98, ///< DG fan RPM out of range + 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_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) NUM_OF_ALARM_IDS ///< Total number of alarms }; typedef enum Alarm_List ALARM_ID_T; ///< Type for alarm list enumeration @@ -160,6 +168,187 @@ }; typedef enum Alarm_Sources ALARM_SOURCE_T; ///< Type for alarm sources enumeration +/// Enumeration of alarm user actions. +enum Alarm_User_Actions +{ + ALARM_USER_ACTION_RESUME = 0, ///< User selected resume from alarm recovery options + ALARM_USER_ACTION_RINSEBACK, ///< User selected rinseback from alarm recovery options + ALARM_USER_ACTION_END_TREATMENT, ///< User selected end treatment from alarm recovery options + ALARM_USER_ACTION_ACK, ///< User selected acknowledge (ok) from alarm recovery options + NUMBER_OF_ALARM_USER_ACTIONS ///< Number of alarm user actions +}; +typedef enum Alarm_User_Actions ALARM_USER_ACTION_T; ///< Type for alarm user actions enumeration + +/// 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 +}; +typedef enum Alarm_State_Flag_Bit_Positions ALARM_STATE_FLAG_BIT_POSITIONS_T; + +#if defined(_HD_) + +/// Record defining the properties of each individual alarm. +struct AlarmsStateRecord +{ + ALARM_PRIORITY_T alarmPriority; ///< priority of alarm + U32 alarmSubRank; ///< alarm's rank within it's priority + U32 alarmEscalatesAfter; ///< time (s) after start when alarm will escalate if not cleared (zero indicates no escalation) + ALARM_ID_T alarmEscalatesTo; ///< ID of alarm that this alarm will escalate to (ALARM_ID_NO_ALARM indicates no escalation) + BOOL alarmIsFault; ///< alarm is a system fault? + BOOL alarmStops; ///< alarm activation should cause a controlled stop + BOOL alarmConditionClearImmed; ///< alarm condition is cleared immediately (does not persist after alarm triggered) + BOOL alarmNoClear; ///< alarm cannot be cleared (unrecoverable)? + BOOL alarmNoResume; ///< alarm prevents treatment resume + BOOL alarmNoRinseback; ///< alarm prevents rinseback + BOOL alarmNoEndTreatment; ///< alarm prevents ending treatment + BOOL alarmNoNewTreatment; ///< alarm prevents any new treatments + BOOL alarmUserAckRequired; ///< alarm requires user acknowledgment +}; +typedef struct AlarmsStateRecord ALARM_T; + +#ifndef __ALARM_MGMT_C__ + +/// Only alarm mgmt module should include the populated alarm table. +extern const ALARM_T ALARM_TABLE[]; + +#else + +/// 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 + { 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 + { ALARM_PRIORITY_HIGH, 1, 0, ALARM_ID_NO_ALARM, TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , FALSE }, // ALARM_ID_FPGA_POST_TEST_FAILED + { ALARM_PRIORITY_HIGH, 1, 0, ALARM_ID_NO_ALARM, TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , FALSE }, // ALARM_ID_WATCHDOG_POST_TEST_FAILED + { ALARM_PRIORITY_HIGH, 1, 0, ALARM_ID_NO_ALARM, TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , FALSE }, // ALARM_ID_UI_COMM_POST_FAILED + { ALARM_PRIORITY_HIGH, 3, 0, ALARM_ID_NO_ALARM, TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , FALSE }, // ALARM_ID_BLOOD_PUMP_MC_CURRENT_CHECK + { ALARM_PRIORITY_HIGH, 3, 0, ALARM_ID_NO_ALARM, TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , FALSE }, // ALARM_ID_BLOOD_PUMP_OFF_CHECK + { ALARM_PRIORITY_HIGH, 3, 0, ALARM_ID_NO_ALARM, TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , FALSE }, // ALARM_ID_BLOOD_PUMP_MC_DIRECTION_CHECK + { ALARM_PRIORITY_HIGH, 3, 0, ALARM_ID_NO_ALARM, TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , FALSE }, // ALARM_ID_BLOOD_PUMP_ROTOR_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_MC_CURRENT_CHECK + { ALARM_PRIORITY_HIGH, 3, 0, ALARM_ID_NO_ALARM, TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , FALSE }, // ALARM_ID_DIAL_IN_PUMP_OFF_CHECK + { ALARM_PRIORITY_HIGH, 3, 0, ALARM_ID_NO_ALARM, TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , FALSE }, // ALARM_ID_DIAL_IN_PUMP_MC_DIRECTION_CHECK + { ALARM_PRIORITY_HIGH, 3, 0, ALARM_ID_NO_ALARM, TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , FALSE }, // ALARM_ID_DIAL_IN_PUMP_ROTOR_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_MC_CURRENT_CHECK + { ALARM_PRIORITY_HIGH, 3, 0, ALARM_ID_NO_ALARM, TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , FALSE }, // ALARM_ID_DIAL_OUT_PUMP_OFF_CHECK + { ALARM_PRIORITY_HIGH, 3, 0, ALARM_ID_NO_ALARM, TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , FALSE }, // ALARM_ID_DIAL_OUT_PUMP_MC_DIRECTION_CHECK + { ALARM_PRIORITY_HIGH, 3, 0, ALARM_ID_NO_ALARM, TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , FALSE }, // ALARM_ID_DIAL_OUT_PUMP_ROTOR_SPEED_CHECK + { ALARM_PRIORITY_HIGH, 3, 0, ALARM_ID_NO_ALARM, TRUE, TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , FALSE }, // ALARM_ID_WATCHDOG_EXPIRED + { ALARM_PRIORITY_HIGH, 3, 0, ALARM_ID_NO_ALARM, TRUE, TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , FALSE }, // ALARM_ID_RTC_COMM_ERROR + { ALARM_PRIORITY_HIGH, 1, 0, ALARM_ID_NO_ALARM, FALSE, FALSE, TRUE , FALSE, FALSE, FALSE, FALSE, FALSE, FALSE }, // ALARM_ID_RTC_CONFIG_ERROR + { ALARM_PRIORITY_HIGH, 18, 0, ALARM_ID_NO_ALARM, TRUE, TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , FALSE }, // ALARM_ID_DG_COMM_TIMEOUT + { ALARM_PRIORITY_HIGH, 3, 0, ALARM_ID_NO_ALARM, TRUE, TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , FALSE }, // ALARM_ID_UI_COMM_TIMEOUT + { ALARM_PRIORITY_HIGH, 3, 0, ALARM_ID_NO_ALARM, TRUE, TRUE , TRUE , TRUE, TRUE, TRUE, TRUE, TRUE, FALSE }, // ALARM_ID_COMM_TOO_MANY_BAD_CRCS + { ALARM_PRIORITY_LOW, 31, ALM_ESC_4_MIN, ALARM_ID_BLOOD_SITTING_WARNING, FALSE, TRUE , TRUE , FALSE, FALSE, FALSE, FALSE, FALSE, FALSE }, // ALARM_ID_TREATMENT_STOPPED_BY_USER + { ALARM_PRIORITY_MEDIUM, 25, ALM_ESC_1_MIN, ALARM_ID_BLOOD_SITTING_TOO_LONG_NO_RESUME, FALSE, TRUE , TRUE , FALSE, FALSE, FALSE, FALSE, FALSE, FALSE }, // ALARM_ID_BLOOD_SITTING_WARNING + { ALARM_PRIORITY_MEDIUM, 7, ALM_ESC_5_MIN, ALARM_ID_BLOOD_SITTING_TOO_LONG_NO_RINSEBACK, FALSE, TRUE , TRUE , FALSE, TRUE, FALSE, FALSE, FALSE, FALSE }, // ALARM_ID_BLOOD_SITTING_TOO_LONG_NO_RESUME + { ALARM_PRIORITY_HIGH, 5, 0, ALARM_ID_NO_ALARM, FALSE, TRUE , TRUE , FALSE, TRUE, TRUE, FALSE, FALSE, FALSE }, // ALARM_ID_BLOOD_SITTING_TOO_LONG_NO_RINSEBACK + { ALARM_PRIORITY_HIGH, 3, 0, ALARM_ID_NO_ALARM, TRUE, TRUE , TRUE , TRUE, TRUE, TRUE, TRUE, TRUE, FALSE }, // ALARM_ID_CAN_MESSAGE_NOT_ACKED + { ALARM_PRIORITY_HIGH, 3, ALM_ESC_4_MIN, ALARM_ID_BLOOD_SITTING_WARNING, FALSE, TRUE , FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE }, // ALARM_ID_OCCLUSION_BLOOD_PUMP + { ALARM_PRIORITY_HIGH, 3, ALM_ESC_4_MIN, ALARM_ID_BLOOD_SITTING_WARNING, FALSE, TRUE , FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE }, // ALARM_ID_OCCLUSION_DIAL_IN_PUMP + { ALARM_PRIORITY_HIGH, 3, ALM_ESC_4_MIN, ALARM_ID_BLOOD_SITTING_WARNING, FALSE, TRUE , FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE }, // ALARM_ID_OCCLUSION_DIAL_OUT_PUMP + { ALARM_PRIORITY_HIGH, 13, ALM_ESC_4_MIN, ALARM_ID_BLOOD_SITTING_WARNING, FALSE, TRUE , FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE }, // ALARM_ID_ARTERIAL_PRESSURE_LOW + { ALARM_PRIORITY_HIGH, 14, ALM_ESC_4_MIN, ALARM_ID_BLOOD_SITTING_WARNING, FALSE, TRUE , FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE }, // ALARM_ID_ARTERIAL_PRESSURE_HIGH + { ALARM_PRIORITY_HIGH, 8, ALM_ESC_4_MIN, ALARM_ID_BLOOD_SITTING_WARNING, FALSE, TRUE , FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE }, // ALARM_ID_VENOUS_PRESSURE_LOW + { ALARM_PRIORITY_HIGH, 12, ALM_ESC_4_MIN, ALARM_ID_BLOOD_SITTING_WARNING, FALSE, TRUE , FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE }, // ALARM_ID_VENOUS_PRESSURE_HIGH + { ALARM_PRIORITY_HIGH, 3, 0, ALARM_ID_NO_ALARM, TRUE, TRUE , TRUE , TRUE, TRUE, TRUE, TRUE, TRUE, FALSE }, // ALARM_ID_UF_RATE_TOO_HIGH_ERROR + { ALARM_PRIORITY_HIGH, 3, 0, ALARM_ID_NO_ALARM, TRUE, TRUE , TRUE , TRUE, TRUE, TRUE, TRUE, TRUE, FALSE }, // ALARM_ID_UF_VOLUME_ACCURACY_ERROR + { ALARM_PRIORITY_HIGH, 3, 0, ALARM_ID_NO_ALARM, FALSE, FALSE, FALSE, FALSE, TRUE, TRUE, TRUE, TRUE, FALSE }, // ALARM_ID_RTC_BATTERY_LOW + { ALARM_PRIORITY_HIGH, 3, 0, ALARM_ID_NO_ALARM, TRUE, TRUE , TRUE , TRUE, TRUE, TRUE, TRUE, TRUE, FALSE }, // ALARM_ID_RTC_OR_TIMER_ACCURACY_FAILURE + { ALARM_PRIORITY_HIGH, 3, 0, ALARM_ID_NO_ALARM, FALSE, FALSE, TRUE , FALSE, FALSE, FALSE, FALSE, FALSE, FALSE }, // ALARM_ID_RTC_RAM_OPS_ERROR + { ALARM_PRIORITY_HIGH, 3, 0, ALARM_ID_NO_ALARM, FALSE, FALSE, TRUE , FALSE, FALSE, FALSE, FALSE, FALSE, FALSE }, // ALARM_ID_NVDATA_EEPROM_OPS_FAILURE + { ALARM_PRIORITY_HIGH, 1, 0, ALARM_ID_NO_ALARM, FALSE, FALSE, TRUE , TRUE, TRUE, FALSE, FALSE, FALSE, FALSE }, // ALARM_ID_NVDATA_MFG_RECORD_CRC_ERROR + { ALARM_PRIORITY_HIGH, 1, 0, ALARM_ID_NO_ALARM, FALSE, FALSE, TRUE , FALSE, FALSE, FALSE, FALSE, FALSE, FALSE }, // ALARM_ID_NVDATA_SRVC_RECORD_CRC_ERROR + { ALARM_PRIORITY_HIGH, 1, 0, ALARM_ID_NO_ALARM, TRUE, TRUE , TRUE , TRUE, TRUE, TRUE, TRUE, TRUE, FALSE }, // ALARM_ID_NVDATA_CAL_RECORD_CRC_ERROR + { ALARM_PRIORITY_HIGH, 1, 0, ALARM_ID_NO_ALARM, FALSE, FALSE, TRUE , FALSE, FALSE, FALSE, FALSE, FALSE, FALSE }, // ALARM_ID_NVDATA_HW_USAGE_DATA_CRC_ERROR + { ALARM_PRIORITY_HIGH, 1, 0, ALARM_ID_NO_ALARM, TRUE, TRUE , TRUE , TRUE, TRUE, TRUE, TRUE, TRUE, FALSE }, // AlARM_ID_NVDATA_DISINFECTION_DATE_CRC_ERROR + { ALARM_PRIORITY_HIGH, 3, 0, ALARM_ID_NO_ALARM, TRUE, TRUE , TRUE , TRUE, TRUE, TRUE, TRUE, TRUE, FALSE }, // ALARM_ID_RO_PUMP_OUT_PRESSURE_OUT_OF_RANGE + { ALARM_PRIORITY_HIGH, 3, 0, ALARM_ID_NO_ALARM, TRUE, TRUE , TRUE , TRUE, TRUE, TRUE, TRUE, TRUE, FALSE }, // ALARM_ID_TEMPERATURE_SENSORS_OUT_OF_RANGE + { ALARM_PRIORITY_HIGH, 3, 0, ALARM_ID_NO_ALARM, TRUE, TRUE , TRUE , TRUE, TRUE, TRUE, TRUE, TRUE, FALSE }, // ALARM_ID_FPGA_COMM_TIMEOUT + { ALARM_PRIORITY_HIGH, 3, 0, ALARM_ID_NO_ALARM, FALSE, FALSE, TRUE , FALSE, FALSE, FALSE, FALSE, FALSE, FALSE }, // ALARM_ID_HD_COMM_TIMEOUT + { 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, 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 + { 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_ROTOR_SPEED_TOO_HIGH + { ALARM_PRIORITY_MEDIUM, 22, ALM_ESC_4_MIN, ALARM_ID_BLOOD_SITTING_WARNING, FALSE, TRUE , FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE }, // ALARM_ID_INLET_WATER_LOW_CONDUCTIVITY + { ALARM_PRIORITY_MEDIUM, 21, ALM_ESC_4_MIN, ALARM_ID_BLOOD_SITTING_WARNING, FALSE, TRUE , FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE }, // ALARM_ID_INLET_WATER_HIGH_CONDUCTIVITY + { ALARM_PRIORITY_HIGH, 3, 0, ALARM_ID_NO_ALARM, TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , FALSE }, // ALARM_ID_DG_SOFTWARE_FAULT + { ALARM_PRIORITY_HIGH, 3, 0, ALARM_ID_NO_ALARM, TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , FALSE }, // ALARM_ID_CONDUCTIVITY_SENSOR_FAULT + { ALARM_PRIORITY_HIGH, 20, ALM_ESC_5_MIN, ALARM_ID_NO_ALARM, FALSE, TRUE , FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE }, // ALARM_ID_INLET_WATER_LOW_TEMPERATURE + { ALARM_PRIORITY_HIGH, 19, ALM_ESC_5_MIN, ALARM_ID_NO_ALARM, FALSE, TRUE , FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE }, // ALARM_ID_INLET_WATER_HIGH_TEMPERATURE + { ALARM_PRIORITY_HIGH, 3, 0, ALARM_ID_NO_ALARM, TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , FALSE }, // ALARM_ID_PRESSURE_SENSOR_FAULT + { ALARM_PRIORITY_HIGH, 23, ALM_ESC_5_MIN, ALARM_ID_NO_ALARM, FALSE, TRUE , FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE }, // ALARM_ID_INLET_WATER_LOW_PRESSURE + { ALARM_PRIORITY_HIGH, 3, 0, ALARM_ID_NO_ALARM, TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , FALSE }, // ALARM_ID_CRITICAL_DATA_ERROR + { ALARM_PRIORITY_HIGH, 1, 0, ALARM_ID_NO_ALARM, TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , FALSE }, // ALARM_ID_HD_ACCELEROMETER_SELF_TEST_FAILURE + { ALARM_PRIORITY_HIGH, 1, 0, ALARM_ID_NO_ALARM, TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , FALSE }, // ALARM_ID_DG_ACCELEROMETER_SELF_TEST_FAILURE + { ALARM_PRIORITY_HIGH, 16, ALM_ESC_4_MIN, ALARM_ID_BLOOD_SITTING_WARNING, FALSE, TRUE , FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE }, // ALARM_ID_HD_EXCESSIVE_TILT + { ALARM_PRIORITY_HIGH, 16, ALM_ESC_4_MIN, ALARM_ID_BLOOD_SITTING_WARNING, FALSE, TRUE , FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE }, // ALARM_ID_DG_EXCESSIVE_TILT + { ALARM_PRIORITY_HIGH, 15, ALM_ESC_4_MIN, ALARM_ID_BLOOD_SITTING_WARNING, FALSE, TRUE , TRUE , FALSE, FALSE, FALSE, FALSE, FALSE, FALSE }, // ALARM_ID_HD_SHOCK + { ALARM_PRIORITY_HIGH, 15, ALM_ESC_4_MIN, ALARM_ID_BLOOD_SITTING_WARNING, FALSE, TRUE , TRUE , FALSE, FALSE, FALSE, FALSE, FALSE, FALSE }, // ALARM_ID_DG_SHOCK + { ALARM_PRIORITY_HIGH, 3, 0, ALARM_ID_NO_ALARM, TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , FALSE }, // ALARM_ID_HD_ACCELEROMETER_FAILURE + { ALARM_PRIORITY_HIGH, 3, 0, ALARM_ID_NO_ALARM, TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , FALSE }, // ALARM_ID_DG_ACCELEROMETER_FAILURE + { ALARM_PRIORITY_HIGH, 3, 0, ALARM_ID_NO_ALARM, TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , FALSE }, // ALARM_ID_DG_CRITICAL_DATA_ERROR + { ALARM_PRIORITY_HIGH, 3, 0, ALARM_ID_NO_ALARM, TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , FALSE }, // ALARM_ID_RO_REJECTION_RATIO_OUT_OF_RANGE + { ALARM_PRIORITY_HIGH, 3, ALM_ESC_4_MIN, ALARM_ID_BLOOD_SITTING_WARNING, FALSE, TRUE , TRUE , FALSE, FALSE, FALSE, FALSE, FALSE, FALSE }, // ALARM_ID_INLET_WATER_PRESSURE_FAULT + { ALARM_PRIORITY_HIGH, 3, 0, ALARM_ID_NO_ALARM, TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , FALSE }, // ALARM_ID_HD_VALVE_HOMING_FAILED + { ALARM_PRIORITY_HIGH, 3, 0, ALARM_ID_NO_ALARM, TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , FALSE }, // ALARM_ID_HD_VALVE_TRANSITION_TIMEOUT + { ALARM_PRIORITY_HIGH, 3, 0, ALARM_ID_NO_ALARM, TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , FALSE }, // ALARM_ID_HD_VALVE_NOT_FUNCTIONAL + { ALARM_PRIORITY_HIGH, 3, 0, ALARM_ID_NO_ALARM, TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , FALSE }, // ALARM_ID_HD_VALVE_CURRENT_OUT_OF_RANGE + { ALARM_PRIORITY_HIGH, 3, 0, ALARM_ID_NO_ALARM, TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , FALSE }, // ALARM_ID_HD_VALVE_POSITION_OUT_OF_RANGE + { ALARM_PRIORITY_HIGH, 3, 0, ALARM_ID_NO_ALARM, TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , FALSE }, // ALARM_ID_AIR_TRAP_ILLEGAL_LEVELS + { ALARM_PRIORITY_HIGH, 3, ALM_ESC_4_MIN, ALARM_ID_BLOOD_SITTING_WARNING, FALSE, TRUE , TRUE , FALSE, FALSE, FALSE, FALSE, FALSE, FALSE }, // ALARM_ID_AIR_TRAP_FILL_DURING_PRIME + { ALARM_PRIORITY_HIGH, 3, ALM_ESC_4_MIN, ALARM_ID_BLOOD_SITTING_WARNING, FALSE, TRUE , TRUE , FALSE, FALSE, FALSE, FALSE, FALSE, FALSE }, // ALARM_ID_AIR_TRAP_FILL_DURING_TREATMENT + { 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_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 + { ALARM_PRIORITY_LOW, 30, ALM_ESC_4_MIN, ALARM_ID_BLOOD_SITTING_WARNING, FALSE, TRUE , TRUE , FALSE, FALSE, FALSE, FALSE, FALSE, FALSE }, // ALARM_ID_POST_ACID_CONDUCTIVITY_OUT_OF_RANGE + { ALARM_PRIORITY_LOW, 30, ALM_ESC_4_MIN, ALARM_ID_BLOOD_SITTING_WARNING, FALSE, TRUE , TRUE , FALSE, FALSE, FALSE, FALSE, FALSE, FALSE }, // ALARM_ID_POST_BICARB_CONDUCTIVITY_OUT_OF_RANGE + { ALARM_PRIORITY_HIGH, 3, 0, ALARM_ID_NO_ALARM, TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , FALSE }, // ALARM_ID_RO_PUMP_FLOW_RATE_OUT_OF_RANGE + { ALARM_PRIORITY_HIGH, 3, 0, ALARM_ID_NO_ALARM, TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , FALSE }, // ALARM_ID_DG_THERMISOTRS_TEMPERATURE_OUT_OF_RANGE + { ALARM_PRIORITY_HIGH, 3, 0, ALARM_ID_NO_ALARM, TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , FALSE }, // ALARM_ID_DG_FAN_RPM_OUT_OF_RANGE + { ALARM_PRIORITY_HIGH, 3, 0, ALARM_ID_NO_ALARM, TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , FALSE }, // ALARM_ID_DG_DIALYSATE_FILL_OUT_OF_TIME + { ALARM_PRIORITY_HIGH, 3, 0, ALARM_ID_NO_ALARM, TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , FALSE }, // ALARM_ID_CP1_SPEED_CONTROL_ERROR + { ALARM_PRIORITY_HIGH, 3, 0, ALARM_ID_NO_ALARM, TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , FALSE }, // ALARM_ID_CP2_SPEED_CONTROL_ERROR + { ALARM_PRIORITY_HIGH, 3, 0, ALARM_ID_NO_ALARM, TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , FALSE }, // ALARM_ID_FLOW_RATE_OUT_OF_RANGE + { ALARM_PRIORITY_HIGH, 3, 0, ALARM_ID_NO_ALARM, TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , FALSE }, // ALARM_ID_RO_PUMP_PRESSURE_OUT_OF_RANGE + { ALARM_PRIORITY_HIGH, 3, 0, ALARM_ID_NO_ALARM, TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , FALSE }, // ALARM_ID_DRAIN_PUMP_RPM_OUT_OF_RANGE + { ALARM_PRIORITY_HIGH, 3, 0, ALARM_ID_NO_ALARM, TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , FALSE }, // ALARM_ID_DG_HEATERS_NEGATIVE_COLD_JUNCTION_TEMPERATURE + { ALARM_PRIORITY_HIGH, 3, 0, ALARM_ID_NO_ALARM, TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , FALSE }, // ALARM_ID_DG_HEATERS_FAULT + { 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 +}; + +#endif // included by AlarmMgmt.c + +#endif // HD build + /**@}*/ #endif