Index: firmware/App/Services/Reservoirs.c =================================================================== diff -u -r3111db0376f17b1a42022dcf537c787273ae3215 -r70f74dbd0ff1afe4bc8ef59b47a54369e140b1aa --- firmware/App/Services/Reservoirs.c (.../Reservoirs.c) (revision 3111db0376f17b1a42022dcf537c787273ae3215) +++ firmware/App/Services/Reservoirs.c (.../Reservoirs.c) (revision 70f74dbd0ff1afe4bc8ef59b47a54369e140b1aa) @@ -36,10 +36,12 @@ #define MAX_RESERVOIR_VOLUME_ML 1900.0F ///< Maximum allowed fluid in a reservoir in milliliters. #define MAX_RESERVOIR_DILUTION 0.15F ///< Maximum reservoir dilution limit. -#define MAX_RESERVOIR_RECIRCULATION_450_MLP 1.1F ///< Maximum reservoir recirculation limit <= 450mL/m. +#define MAX_RESERVOIR_RECIRCULATION_400_MLP 1.1F ///< Maximum reservoir recirculation limit <= 400mL/m. +#define MAX_RESERVOIR_RECIRCULATION_450_MLP 1.15F ///< Maximum reservoir recirculation limit <= 450mL/m. #define MAX_RESERVOIR_RECIRCULATION_500_MLP 1.2F ///< Maximum reservoir recirculation limit <= 500mL/m. #define MAX_RESERVOIR_RECIRCULATION_550_MLP 1.3F ///< Maximum reservoir recirculation limit <= 550mL/m. #define MAX_RESERVOIR_RECIRCULATION_600_MLP 1.4F ///< Maximum reservoir recirculation limit <= 600mL/m. +#define RESERVOIR_FLOW_400_MLP 400.0F ///< Reservoir flow rate 400mL/m. #define RESERVOIR_FLOW_450_MLP 450.0F ///< Reservoir flow rate 450mL/m. #define RESERVOIR_FLOW_500_MLP 500.0F ///< Reservoir flow rate 500mL/m. #define RESERVOIR_FLOW_550_MLP 550.0F ///< Reservoir flow rate 550mL/m. @@ -414,8 +416,12 @@ U32 targetDialysateFlowMLP = getTreatmentParameterU32( TREATMENT_PARAM_DIALYSATE_FLOW ); F32 maxPercent = 0.0F; - if (RESERVOIR_FLOW_450_MLP >= targetDialysateFlowMLP) + if (RESERVOIR_FLOW_400_MLP >= targetDialysateFlowMLP) { + maxPercent = MAX_RESERVOIR_RECIRCULATION_400_MLP; + } + else if (RESERVOIR_FLOW_450_MLP >= targetDialysateFlowMLP) + { maxPercent = MAX_RESERVOIR_RECIRCULATION_450_MLP; } else if (RESERVOIR_FLOW_500_MLP >= targetDialysateFlowMLP) @@ -570,7 +576,7 @@ // Time to wait prior to next fill is depletion time - the whole group of how much time is needed to fill a reservoir + // the time it takes to wait for a reservoir to settle and the extra margin time for ramp up of the RO and drain pumps and // any other extra times. - if ( targetDialysateFlowMLP < RESERVOIR_FLOW_500_MLP ) + if ( targetDialysateFlowMLP < RESERVOIR_FLOW_400_MLP ) { timeWaitToFillMS = timeDepleteMS - ( getFillTimeMS() + RESERVOIR_SETTLE_TIME_MS + RESERVOIR_CYCLE_EXTRA_MARGIN_TIME_MS ); }