Index: firmware/App/Controllers/Pressures.c =================================================================== diff -u -r66cc826068b54bc436cde0fae70a05ba6c1ac974 -r750a8b61a1e9a63823ecc6ed441cd01524ffc02b --- firmware/App/Controllers/Pressures.c (.../Pressures.c) (revision 66cc826068b54bc436cde0fae70a05ba6c1ac974) +++ firmware/App/Controllers/Pressures.c (.../Pressures.c) (revision 750a8b61a1e9a63823ecc6ed441cd01524ffc02b) @@ -129,11 +129,12 @@ * and triggers an alarm when pressure value is out of allowed range. * @details Inputs: RO pump inlet pressure sensor value * @details Outputs: Triggers low pressure persistent alarm - * @return none + * @return TURE is pressure is in range otherwise, FALSE *************************************************************************/ -void checkInletPressure( void ) +BOOL isInletPressureInRange( void ) { #ifndef DISABLE_WATER_QUALITY_CHECK + BOOL status = TRUE; F32 pressure = getMeasuredDGPressure( PRESSURE_SENSOR_RO_PUMP_INLET ); BOOL isPressureTooLow = ( pressure < MAX_INLET_WATER_PRESSURE_WARNING_LOW ? TRUE : FALSE ); @@ -142,10 +143,17 @@ { checkPersistentAlarm( ALARM_ID_INLET_WATER_PRESSURE_IN_LOW_RANGE, isPressureTooLow, pressure, MAX_INLET_WATER_PRESSURE_WARNING_LOW ); } - else if ( pressure >= MIN_INLET_WATER_PRESSURE_WARNING_LOW ) + else { checkPersistentAlarm( ALARM_ID_INLET_WATER_PRESSURE_IN_LOW_RANGE, FALSE, pressure, MAX_INLET_WATER_PRESSURE_WARNING_LOW ); } + + if ( TRUE == isAlarmActive( ALARM_ID_INLET_WATER_PRESSURE_IN_LOW_RANGE ) ) + { + status = FALSE; + } + + return status; #endif }