Index: firmware/App/Modes/ModeTreatment.c =================================================================== diff -u -rca238a4fc2400ffaf3c2a90c6e923a87b8dac4d2 -r672ea05607319696b238f1778190c86ab34e7abc --- firmware/App/Modes/ModeTreatment.c (.../ModeTreatment.c) (revision ca238a4fc2400ffaf3c2a90c6e923a87b8dac4d2) +++ firmware/App/Modes/ModeTreatment.c (.../ModeTreatment.c) (revision 672ea05607319696b238f1778190c86ab34e7abc) @@ -1142,19 +1142,8 @@ { pendingUFRateChange = 0.0; } - // Verify treatment duration change would be valid (leave zero if not valid - UI will disable option) - if ( ( trtTime <= MAX_TREATMENT_TIME_MINUTES ) && ( trtTime >= getMinTreatmentTimeInMinutes() ) && - ( dialVolume <= MAX_DIALYSATE_VOLUME_ML ) ) - { - result = TRUE; - pendingUFVolumeChange = uFVolume; - pendingTreatmentTimeChange = trtTime; - timeDiff = trtTime - ( (U32)( (F32)presTreatmentTimeSecs / (F32)SEC_PER_MIN ) + 1 ); - } - else - { - pendingTreatmentTimeChange = 0; - } + // Treatment duration change is now never valid - leave zero - UI will disable option) + pendingTreatmentTimeChange = 0; // If neither option works, reject for UF rate if ( FALSE == result ) { @@ -1216,14 +1205,9 @@ presMaxUFVolumeML = pendingUFVolumeChange; setTreatmentParameterF32( TREATMENT_PARAM_UF_VOLUME, ( presMaxUFVolumeML / (F32)ML_PER_LITER ) ); - // Which setting does user want to adjust to accommodate the UF volume change? (treatment time or UF rate) - if ( UF_ADJ_TREATMENT_TIME == adjustment ) + // User should only allow UF rate adjustment to achieve UF volume change + if ( UF_ADJ_UF_RATE == adjustment ) { - presTreatmentTimeSecs = pendingTreatmentTimeChange * SEC_PER_MIN; - setTreatmentParameterU32( TREATMENT_PARAM_TREATMENT_DURATION, ( presTreatmentTimeSecs / SEC_PER_MIN ) ); - } - else // Must be adjusting UF rate then - { sendTreatmentLogEventData( UF_RATE_CHANGE_EVENT, presUFRate, pendingUFRateChange ); presUFRate = pendingUFRateChange; signalInitiatePressureStabilization();