Index: firmware/App/Modes/ModeGenDialysate.c =================================================================== diff -u -r4237cbced773b985ff69a8c2af8287dbd5457f24 -rc53b6d8d57bd64bcfedf8a1bbb0d0eeab4502971 --- firmware/App/Modes/ModeGenDialysate.c (.../ModeGenDialysate.c) (revision 4237cbced773b985ff69a8c2af8287dbd5457f24) +++ firmware/App/Modes/ModeGenDialysate.c (.../ModeGenDialysate.c) (revision c53b6d8d57bd64bcfedf8a1bbb0d0eeab4502971) @@ -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; }