Index: firmware/App/Modes/ModeGenDialysate.c =================================================================== diff -u -rdaa4204266112042cdd5ea671df81b7501f1623f -r9e0db1f82f13693d251e00e8958c8063dd89cae6 --- firmware/App/Modes/ModeGenDialysate.c (.../ModeGenDialysate.c) (revision daa4204266112042cdd5ea671df81b7501f1623f) +++ firmware/App/Modes/ModeGenDialysate.c (.../ModeGenDialysate.c) (revision 9e0db1f82f13693d251e00e8958c8063dd89cae6) @@ -704,14 +704,28 @@ { U32 rpm; U32 nominalRpm; + F32 dialFlowRate = getBalChamberActiveDialysateFlowrate(); nominalRpm = getD48PumpSpeed(); rpm = nominalRpm; - if ( nominalRpm <= BAL_CHAMBER_TIME_BASED_D48_SPEED_RPM ) +// if ( nominalRpm <= BAL_CHAMBER_TIME_BASED_D48_SPEED_RPM ) +// { +// rpm = BAL_CHAMBER_TIME_BASED_D48_SPEED_RPM; +// } + + if ( ( dialFlowRate >= BAL_CHAMBER_OPEN_LOOP_FLOW_RATE_BAND_1 ) && ( dialFlowRate <= BAL_CHAMBER_OPEN_LOOP_FLOW_RATE_BAND_2 ) ) { - rpm = BAL_CHAMBER_TIME_BASED_D48_SPEED_RPM; + rpm = BAL_CHAMBER_TIME_BASED_BAND_1; } + else if ( ( dialFlowRate > BAL_CHAMBER_OPEN_LOOP_FLOW_RATE_BAND_2 ) && ( dialFlowRate <= BAL_CHAMBER_OPEN_LOOP_FLOW_RATE_BAND_3 ) ) + { + rpm = BAL_CHAMBER_TIME_BASED_BAND_2; + } + else if ( ( dialFlowRate > BAL_CHAMBER_OPEN_LOOP_FLOW_RATE_BAND_3 ) && ( dialFlowRate <= BAL_CHAMBER_OPEN_LOOP_FLOW_RATE_BAND_4 ) ) + { + rpm = BAL_CHAMBER_TIME_BASED_BAND_3; + } return rpm; }