Index: firmware/App/Monitors/WaterQualityMonitor.c =================================================================== diff -u -rfeffc616fe52aa0719cfabeb1d94f4d20b3d354b -ra4f89c8a38b6c77baaa141b38045b511b1887a21 --- firmware/App/Monitors/WaterQualityMonitor.c (.../WaterQualityMonitor.c) (revision feffc616fe52aa0719cfabeb1d94f4d20b3d354b) +++ firmware/App/Monitors/WaterQualityMonitor.c (.../WaterQualityMonitor.c) (revision a4f89c8a38b6c77baaa141b38045b511b1887a21) @@ -37,6 +37,7 @@ #define INLET_TEMPERATURE_LOW_THRESHOLD_C 5.0F ///< Minimum allowed Inlet temperature in C. #define INLET_TEMPERATURE_HIGH_THRESHOLD_C 30.0F ///< Maximum allowed Inlet temperature in C. +#define INLET_TEMPERATURE_CRITICAL_THRESHOLD_C 40.0F ///< Maximum allowed Inlet temperature in C during filters flush state. #define INLET_TEMPERATURE_PERSISTENCE_TIMER_MS ( 5 * MS_PER_SECOND ) ///< Persistence timer to trigger alarm in ms. #define INLET_TEMPERATURE_PERSISTENCE_CLEAR_MS ( 5 * MS_PER_SECOND ) ///< Persistence timer to clear alarm in ms. @@ -308,7 +309,7 @@ /*********************************************************************//** * @brief - * The checkInletTemperature function checks the inlet water temperature + * The checkInletTemperatures function checks the inlet water temperature * against the temperature threshold and alarm if the temperature is out of range. * @details \b Inputs: temperatureP10 for featured or temperatureM3 for de-featured * @details \b Outputs: none @@ -318,9 +319,9 @@ * P10 or M3 temperature goes beyond high temperature limit * @return none *************************************************************************/ -void checkInletTemperature( void ) +void checkInletTemperatures( void ) { - F32 d1Temperature; + F32 temperatureD1; F32 temperatureP10; BOOL isTempOutOfLowRange = FALSE; BOOL isTempOutOfHighRange = FALSE; @@ -336,43 +337,32 @@ } else { - d1Temperature =getTemperatureValue( D1_TEMP ); - isTempOutOfLowRange = ( ( d1Temperature < INLET_TEMPERATURE_LOW_THRESHOLD_C ) ? TRUE : FALSE ); - isTempOutOfHighRange = ( ( d1Temperature > INLET_TEMPERATURE_HIGH_THRESHOLD_C ) ? TRUE : FALSE ); + temperatureD1 =getTemperatureValue( D1_TEMP ); + isTempOutOfLowRange = ( ( temperatureD1 < INLET_TEMPERATURE_LOW_THRESHOLD_C ) ? TRUE : FALSE ); + isTempOutOfHighRange = ( ( temperatureD1 > INLET_TEMPERATURE_HIGH_THRESHOLD_C ) ? TRUE : FALSE ); - checkPersistentAlarm( ALARM_ID_FP_INLET_TEMPERATURE_OUT_LOW_RANGE, isTempOutOfLowRange, d1Temperature, INLET_TEMPERATURE_LOW_THRESHOLD_C ); - checkPersistentAlarm( ALARM_ID_FP_INLET_TEMPERATURE_OUT_HIGH_RANGE, isTempOutOfHighRange, d1Temperature, INLET_TEMPERATURE_HIGH_THRESHOLD_C ); + checkPersistentAlarm( ALARM_ID_FP_INLET_TEMPERATURE_OUT_LOW_RANGE, isTempOutOfLowRange, temperatureD1, INLET_TEMPERATURE_LOW_THRESHOLD_C ); + checkPersistentAlarm( ALARM_ID_FP_INLET_TEMPERATURE_OUT_HIGH_RANGE, isTempOutOfHighRange, temperatureD1, INLET_TEMPERATURE_HIGH_THRESHOLD_C ); } } /*********************************************************************//** * @brief - * The checkInletTemperatures function checks the inlet water temperature + * The checkFiletFlushInletTemperature function checks the inlet water temperature * against the temperature threshold and alarm if the temperature is out of range. - * @details \b Inputs: temperatureP10, temperatureM3 + * @details \b Inputs: temperatureM3 * @details \b Outputs: none - * @details \b Alarms: ALARM_ID_FP_INLET_TEMPERATURE_OUT_LOW_RANGE when - * P10 or M3 temperature goes beyond low temperature limit. - * @details \b Alarms: ALARM_ID_FP_INLET_TEMPERATURE_OUT_HIGH_RANGE when - * P10 or M3 temperature goes beyond high temperature limit + * @details \b Alarms: ALARM_ID_FP_INLET_TEMPERATURE_OUT_CRITICAL_RANGE when + * M3 temperature goes beyond high temperature limit * @return none *************************************************************************/ -void checkInletTemperatures( void ) +void checkFiletFlushInletTemperature( void ) { - F32 temperatureP10 = getFilteredConductivitySensorTemperature( P9_COND ); F32 temperatureM3 = getFilteredPressureSensorTemperature( M3_PRES ); - BOOL isTempOutOfLowRange = FALSE; BOOL isTempOutOfHighRange = FALSE; - isTempOutOfLowRange = ( ( temperatureP10 < INLET_TEMPERATURE_LOW_THRESHOLD_C ) ? TRUE : FALSE ); - isTempOutOfHighRange = ( ( temperatureP10 > INLET_TEMPERATURE_HIGH_THRESHOLD_C ) ? TRUE : FALSE ); - checkPersistentAlarm( ALARM_ID_FP_INLET_TEMPERATURE_OUT_LOW_RANGE, isTempOutOfLowRange, temperatureP10, INLET_TEMPERATURE_LOW_THRESHOLD_C ); - checkPersistentAlarm( ALARM_ID_FP_INLET_TEMPERATURE_OUT_HIGH_RANGE, isTempOutOfHighRange, temperatureP10, INLET_TEMPERATURE_HIGH_THRESHOLD_C ); - - isTempOutOfLowRange = ( ( temperatureM3 < INLET_TEMPERATURE_LOW_THRESHOLD_C ) ? TRUE : FALSE ); - isTempOutOfHighRange = ( ( temperatureM3 > INLET_TEMPERATURE_HIGH_THRESHOLD_C ) ? TRUE : FALSE ); - checkPersistentAlarm( ALARM_ID_FP_INLET_TEMPERATURE_OUT_LOW_RANGE, isTempOutOfLowRange, temperatureM3, INLET_TEMPERATURE_LOW_THRESHOLD_C ); - checkPersistentAlarm( ALARM_ID_FP_INLET_TEMPERATURE_OUT_HIGH_RANGE, isTempOutOfHighRange, temperatureM3, INLET_TEMPERATURE_HIGH_THRESHOLD_C ); + isTempOutOfHighRange = ( ( temperatureM3 >= INLET_TEMPERATURE_CRITICAL_THRESHOLD_C ) ? TRUE : FALSE ); + checkPersistentAlarm( ALARM_ID_FP_INLET_TEMPERATURE_OUT_CRITICAL_RANGE, isTempOutOfHighRange, temperatureM3, INLET_TEMPERATURE_CRITICAL_THRESHOLD_C ); } /*********************************************************************//**