Index: PersistentAlarm.h =================================================================== diff -u -rc2a8753e28c1fb5870796912443b44a8f093d274 -rbe8f80ce90292eecb7ddc58977a11f50e1f64cae --- PersistentAlarm.h (.../PersistentAlarm.h) (revision c2a8753e28c1fb5870796912443b44a8f093d274) +++ PersistentAlarm.h (.../PersistentAlarm.h) (revision be8f80ce90292eecb7ddc58977a11f50e1f64cae) @@ -23,55 +23,19 @@ /** * @defgroup PersistentAlarm PersistentAlarm * @brief Persistent alarm monitor module. - * Check for persistent error and throw appropriate alarm. + * Check for persistent error and return indication on whether alarm is triggered or alarm condition is cleared. * * @addtogroup PersistentAlarm * @{ */ -// ********** public definitions ********** - -typedef enum PersistentAlarm -{ -#ifdef _HD_ - PERSISTENT_ALARM_BLOOD_FLOW_SIGNAL_STRENGTH, ///< Blood flow signal strength too low - PERSISTENT_ALARM_DIALYSATE_FLOW_SIGNAL_STRENGTH, ///< Dialysate flow signal strength too low - PERSISTENT_ALARM_ARTERIAL_PRESSURE_LOW, ///< Arterial pressure too low during treatment - PERSISTENT_ALARM_ARTERIAL_PRESSURE_HIGH, ///< Arterial pressure too high during treatment - PERSISTENT_ALARM_VENOUS_PRESSURE_LOW, ///< Venous pressure too low during treatment - PERSISTENT_ALARM_VENOUS_PRESSURE_HIGH, ///< Venous pressure too high during treatment -#endif -#ifdef _DG_ - PERSISTENT_ALARM_INLET_WATER_HIGH_TEMPERATURE, ///< Inlet water high temperature persistent alarm - PERSISTENT_ALARM_INLET_WATER_LOW_TEMPERATURE, ///< Inlet water low temperature persistent alarm - PERSISTENT_ALARM_INLET_WATER_HIGH_CONDUCTIVITY, ///< Inlet water high conductivity persistent alarm - PERSISTENT_ALARM_INLET_WATER_LOW_CONDUCTIVITY, ///< Inlet water low conductivity persistent alarm - PERSISTENT_ALARM_RO_REJECTION_RATIO_OUT_OF_RANGE, ///< RO rejection ratio out of range persistent alarm - PERSISTENT_ALARM_INLET_WATER_LOW_PRESSURE, ///< Inlet water low pressure persistent alarm - PERSISTENT_ALARM_INLET_WATER_PRESSURE_FAULT, ///< Inlet water pressure fault persistent alarm - PERSISTENT_ALARM_POST_ACID_CONDUCTIVITY_OUT_OF_RANGE, ///< Post acid concentrate conductivity out of range - PERSISTENT_ALARM_POST_BICARB_CONDUCTIVITY_OUT_OF_RANGE, ///< Post bicarbonate concentrate conductivity out of range - PERSISTENT_ALARM_RO_FLOW_RATE_OUT_OF_UPPER_RANGE, ///< RO pump flow rate out of upper range - PERSISTENT_ALARM_RO_FLOW_RATE_OUT_OF_LOWER_RANGE, ///< RO pump flow rate out of lower range - PERSISTENT_ALARM_RO_PUMP_PRESSURE_OUT_OF_RANGE, ///< RO pump pressure out of range - PERSISTENT_ALARM_CP1_SPEED_CONTROL_ERROR, ///< Concentrate pump CP1 speed control error - PERSISTENT_ALARM_CP2_SPEED_CONTROL_ERROR, ///< Concentrate pump CP2 speed control error - PERSISTENT_ALARM_DRAIN_PUMP_RPM_OUT_OF_RANGE, ///< Drain pump RPM out of range - PERSISTENT_ALARM_THERMISTOR_TEMPERATURE_OUT_OF_RANGE, ///< Thermistor temperature out of range persistent alarm - PERSISTENT_ALARM_FANS_RPM_OUT_RANGE, ///< Fans RPM out of range persistent alarm - PERSISTENT_ALARM_TEMP_SENSORS_INTERNAL_ERROR, ///< Temperature sensors internal error alarm - PERSISTENT_ALARM_TEMP_SENSORS_FPGA_ERROR, ///< Temperature sensors FPGA error alarm - PERSISTENT_ALARM_UV_REACTOR_UNHEALTHY, ///< UV reactor unhealthy persistent alarm -#endif - NUM_OF_PERSISTENT_ALARM ///< Number of persistent alarms -} PERSISTENT_ALARM_T; - // ********** public function prototypes ********** // Persistent period resolution is in ms -void initPersistentAlarm( PERSISTENT_ALARM_T alarmIndex, ALARM_ID_T alarm, BOOL isClearable, - U32 persistentClearPeriod, U32 persistentTriggerPeriod ); -void checkPersistentAlarm( PERSISTENT_ALARM_T const alarmIndex, BOOL const isOutOfRange, F32 const data, F32 const limit ); +void initPersistentAlarm( ALARM_ID_T alarmIndex, U32 persistentClearPeriod, U32 persistentTriggerPeriod ); +BOOL isPersistentAlarmTriggered( ALARM_ID_T alarmIndex, BOOL const isErrorOccurred ); +BOOL isPersistentAlarmConditionCleared( ALARM_ID_T alarmIndex, BOOL const isErrorOccurred ); +void resetPersistentAlarmTimer( ALARM_ID_T alarmId ); /**@}*/