Index: firmware/App/Controllers/TemperatureSensors.c =================================================================== diff -u -r1722e975682c9e41e0b75551ada1139d3dc522a6 -r750a8b61a1e9a63823ecc6ed441cd01524ffc02b --- firmware/App/Controllers/TemperatureSensors.c (.../TemperatureSensors.c) (revision 1722e975682c9e41e0b75551ada1139d3dc522a6) +++ firmware/App/Controllers/TemperatureSensors.c (.../TemperatureSensors.c) (revision 750a8b61a1e9a63823ecc6ed441cd01524ffc02b) @@ -360,15 +360,16 @@ /*********************************************************************//** * @brief - * The checkInletWaterTemperature checks inlet water temperature value + * The isInletWaterTemperatureInRange function checks inlet water temperature value * and triggers an alarm when temperature value is out of allowed range. * @details Inputs: none * @details Outputs: none - * @return none + * @return TRUE if the temperature are in range otherwise, FALSE *************************************************************************/ -void checkInletWaterTemperature( void ) +BOOL isInletWaterTemperatureInRange( void ) { #ifndef DISABLE_WATER_QUALITY_CHECK + BOOL status = TRUE; F32 temperature = getTemperatureValue( TEMPSENSORS_INLET_PRIMARY_HEATER ); BOOL isWaterTempInHighRange = ( temperature > MAX_WATER_TEMPERATURE_WARNING_HIGH_RANGE ? TRUE : FALSE ); BOOL isWaterTempInLowRange = ( temperature < MIN_WATER_TEMPERATURE_WARNING_LOW_RANGE ? TRUE : FALSE ); @@ -395,6 +396,14 @@ { checkPersistentAlarm( ALARM_ID_INLET_WATER_TEMPERATURE_IN_LOW_RANGE, FALSE, temperature, MIN_WATER_TEMPERATURE_WARNING_LOW_RANGE ); } + + if ( ( TRUE == isAlarmActive( ALARM_ID_INLET_WATER_TEMPERATURE_IN_HIGH_RANGE ) ) || + ( TRUE == isAlarmActive( ALARM_ID_INLET_WATER_TEMPERATURE_IN_LOW_RANGE ) ) ) + { + status = FALSE; + } + + return status; #endif }