Index: firmware/App/Controllers/Heaters.c =================================================================== diff -u -r18a20aa5b66f0b6123f066ce2c79b9fb056a0469 -r4b25bf00656b9067a13541014fa1333386a7ed95 --- firmware/App/Controllers/Heaters.c (.../Heaters.c) (revision 18a20aa5b66f0b6123f066ce2c79b9fb056a0469) +++ firmware/App/Controllers/Heaters.c (.../Heaters.c) (revision 4b25bf00656b9067a13541014fa1333386a7ed95) @@ -348,19 +348,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