Index: firmware/App/Services/TxParams.c =================================================================== diff -u -r1a3a2f806bb81b05f67f80efb94f1d82ce174c09 -r8cceda439faa23a1e927721c6a9ef8e4ee30c5be --- firmware/App/Services/TxParams.c (.../TxParams.c) (revision 1a3a2f806bb81b05f67f80efb94f1d82ce174c09) +++ firmware/App/Services/TxParams.c (.../TxParams.c) (revision 8cceda439faa23a1e927721c6a9ef8e4ee30c5be) @@ -477,7 +477,7 @@ payload.minTreatmentTime = treatmentParameters[ TREATMENT_PARAM_TREATMENT_DURATION ].minimum.uInt; payload.maxTreatmentTime = treatmentParameters[ TREATMENT_PARAM_TREATMENT_DURATION ].maximum.uInt; payload.minUFVolume = 0.0F; - payload.maxUFVolume = MIN( (F32)setTxDuration * MAX_UF_RATE_L_HR, (F32)MAX_UF_VOLUME_ML ); + payload.maxUFVolume = MIN( (F32)setTxDuration * MAX_UF_RATE_ML_MIN, (F32)MAX_UF_VOLUME_ML ); payload.minDialRate = treatmentParameters[ TREATMENT_PARAM_DIALYSATE_FLOW ].minimum.uInt; payload.maxDialRate = treatmentParameters[ TREATMENT_PARAM_DIALYSATE_FLOW ].maximum.uInt; sendMessage( MSG_ID_TD_TREATMENT_PARAM_RANGES, COMM_BUFFER_OUT_CAN_TD_2_UI, (U08*)(&payload), sizeof( TREATMENT_PARAM_RANGE_BROADCAST_PAYLOAD_T ) ); @@ -628,7 +628,7 @@ { F32 uFRate = uFVolumeMl / (F32)treatmentDuration; - if ( ( uFRate > MAX_UF_RATE_L_HR ) || ( uFRate < MIN_UF_RATE_L_HR ) ) + if ( ( uFRate > MAX_UF_RATE_ML_MIN ) || ( uFRate < MIN_UF_RATE_ML_MIN ) ) { accepted = FALSE; rejReason = REQUEST_REJECT_REASON_UF_RATE_OUT_OF_RANGE; @@ -1406,7 +1406,7 @@ response.ufVolumeGoal = 0.0F; response.ufRate = 0.0F; - // Clear previously validated values, + // Clear previously validated values. validTreatmentDurationReceived = FALSE; validatedTreatmentDuration_min = 0U; validatedUFRateLHr = 0.0F; @@ -1430,11 +1430,12 @@ // Calculate new UF rate (L/hr) F32 newUfRateLHr = remainingUFVolumeL / remainingTreatmentTimeHr; + F32 newUfRateMlMin = newUfRateLHr * (F32)ML_PER_LITER / (F32)MIN_PER_HOUR; response.ufVolumeGoal = presUFVolumeL; response.ufRate = newUfRateLHr; - if ( newUfRateLHr <= MAX_UF_RATE_L_HR ) + if ( newUfRateMlMin <= MAX_UF_RATE_ML_MIN ) { response.accepted = TRUE; response.rejectionReason = REQUEST_REJECT_REASON_NONE;