Index: firmware/App/Modes/ModeTreatment.c =================================================================== diff -u -r6e8917e48113a8798b26e489296a3f69509c0590 -r12ae81f766052993995d323456fa4c746cf4ee75 --- firmware/App/Modes/ModeTreatment.c (.../ModeTreatment.c) (revision 6e8917e48113a8798b26e489296a3f69509c0590) +++ firmware/App/Modes/ModeTreatment.c (.../ModeTreatment.c) (revision 12ae81f766052993995d323456fa4c746cf4ee75) @@ -700,7 +700,8 @@ if ( ++treatmentParamsRangesBroadcastTimerCtr >= TREATMENT_SETTINGS_RANGES_PUB_INTERVAL ) { // compute minimum treatment duration - U32 minTime = CALC_ELAPSED_TREAT_TIME_IN_MIN() + 2; // add two minutes to cover rounding and ensure it's valid for next minute + U32 elapseTime = CALC_ELAPSED_TREAT_TIME_IN_MIN() + 2; // add two minutes to cover rounding and ensure it's valid for next minute + U32 minTime = MAX( elapseTime, MIN_TREATMENT_TIME_MINUTES ); // treatment duration cannot be < 1 hour // compute maximum treatment duration (from both UF and dialysate volume perspectives) U32 maxTimeRem = ( MAX_UF_VOLUME_ML - (U32)getUltrafiltrationVolumeCollected() ) / ( presUFRate > 0.0 ? (U32)presUFRate : 1 ); U32 maxTime1 = minTime + maxTimeRem;