Index: firmware/App/Controllers/Heaters.c =================================================================== diff -u -r9cc5da6947aa143a10f95519eb7f366c1b095d61 -rbaaf3dc55c2dee07d04efb97022fd2329a5bd73d --- firmware/App/Controllers/Heaters.c (.../Heaters.c) (revision 9cc5da6947aa143a10f95519eb7f366c1b095d61) +++ firmware/App/Controllers/Heaters.c (.../Heaters.c) (revision baaf3dc55c2dee07d04efb97022fd2329a5bd73d) @@ -345,19 +345,19 @@ if ( DG_PRIMARY_HEATER == heater ) { - alarm = ALARM_ID_RO_FLOW_TOO_LOW_WHILE_PRIMARY_HEATER_IS_ON; - measFlow = getMeasuredFlowRateLPM( RO_FLOW_SENSOR ); - minFlow = MIN_RO_HEATER_FLOWRATE_LPM; + alarm = ALARM_ID_RO_FLOW_TOO_LOW_WHILE_PRIMARY_HEATER_IS_ON; + measFlow = getMeasuredFlowRateLPM( RO_FLOW_SENSOR ); + minFlow = MIN_RO_HEATER_FLOWRATE_LPM; + isFlowLow = ( measFlow < minFlow ? TRUE : FALSE ); } else { - alarm = ALARM_ID_DIALYSATE_FLOW_TOO_LOW_WHILE_TRIMMER_HEATER_IS_ON; - measFlow = getMeasuredFlowRateLPM( DIALYSATE_FLOW_SENSOR ); - minFlow = MIN_DIALYSATE_FLOWRATE_LPM; + alarm = ALARM_ID_DIALYSATE_FLOW_TOO_LOW_WHILE_TRIMMER_HEATER_IS_ON; + measFlow = getMeasuredRawFlowRateLPM( DIALYSATE_FLOW_SENSOR ); + minFlow = MIN_DIALYSATE_FLOWRATE_LPM; + isFlowLow = ( measFlow - minFlow < NEARLY_ZERO ? TRUE : FALSE ); } - isFlowLow = ( measFlow < minFlow ? TRUE : FALSE ); - checkPersistentAlarm( alarm, isFlowLow, measFlow, minFlow ); } else