Index: firmware/App/Modes/ModeGenDialysate.c =================================================================== diff -u -ra7014f4b673da08de179efcdf68ac8c854fe5757 -rcb071d7746fea6b6b6698cc9ba0747f2b8501861 --- firmware/App/Modes/ModeGenDialysate.c (.../ModeGenDialysate.c) (revision a7014f4b673da08de179efcdf68ac8c854fe5757) +++ firmware/App/Modes/ModeGenDialysate.c (.../ModeGenDialysate.c) (revision cb071d7746fea6b6b6698cc9ba0747f2b8501861) @@ -8,7 +8,7 @@ * @file ModeGenDialysate.c * * @author (last) Jashwant Gantyada -* @date (last) 30-Jun-2026 +* @date (last) 29-Jul-2026 * * @author (original) Vinayakam Mani * @date (original) 06-Nov-2024 @@ -714,14 +714,23 @@ { U32 rpm; U32 nominalRpm; + F32 dialFlowRate = getBalChamberActiveDialysateFlowrate(); nominalRpm = getD48PumpSpeed(); rpm = nominalRpm; - if ( nominalRpm <= 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; }