Index: firmware/App/Modes/ModeTreatment.c =================================================================== diff -u -r22fef1f14490125a8ccf059af78787e8b6f27b55 -r66c0967bb1b1912a5cf3a8e94ea3de726741f607 --- firmware/App/Modes/ModeTreatment.c (.../ModeTreatment.c) (revision 22fef1f14490125a8ccf059af78787e8b6f27b55) +++ firmware/App/Modes/ModeTreatment.c (.../ModeTreatment.c) (revision 66c0967bb1b1912a5cf3a8e94ea3de726741f607) @@ -1079,17 +1079,16 @@ // Always keep the UF volume the same and change the UF rate upon changing the treatment time presMaxUFVolumeML = getTreatmentParameterF32( TREATMENT_PARAM_UF_VOLUME ) * (F32)ML_PER_LITER; - F32 newUFDiffML = ( ( presMaxUFVolumeML - getTotalMeasuredUFVolumeInMl() ) < 0.0F ? 0.0F : ( presMaxUFVolumeML - getTotalMeasuredUFVolumeInMl() ) ); // New UF rate is how much UF is left to be done / remaining treatment time - F32 newTxTimeS = (F32)treatmentTime * (F32)SEC_PER_MIN; - F32 elapsedTxTimeS = (F32)treatmentTimeMS / (F32)MS_PER_SECOND; - F32 timeDiffMin = (newTxTimeS - elapsedTxTimeS) / (F32)SEC_PER_MIN; - F32 newUFRateMLPM = newUFDiffML / timeDiffMin; - U32 dialVolume = getTreatmentParameterU32( TREATMENT_PARAM_DIALYSATE_FLOW ) * treatmentTime; // In mL + F32 newUFDiffML = ( ( presMaxUFVolumeML - getTotalMeasuredUFVolumeInMl() ) < 0.0F ? 0.0F : ( presMaxUFVolumeML - getTotalMeasuredUFVolumeInMl() ) ); + F32 newTxTimeS = (F32)treatmentTime * (F32)SEC_PER_MIN; + F32 elapsedTxTimeS = (F32)treatmentTimeMS / (F32)MS_PER_SECOND; + F32 timeDiffMin = (newTxTimeS - elapsedTxTimeS) / (F32)SEC_PER_MIN; + F32 newUFRateMLPM = newUFDiffML / timeDiffMin; + U32 dialVolume = getTreatmentParameterU32( TREATMENT_PARAM_DIALYSATE_FLOW ) * treatmentTime; // In mL - SEND_EVENT_WITH_2_F32_DATA(HD_EVENT_TEMP_1, presMaxUFVolumeML, getTotalMeasuredUFVolumeInMl()) - SEND_EVENT_WITH_2_F32_DATA(HD_EVENT_TEMP_2, newUFDiffML, newUFRateMLPM) - SEND_EVENT_WITH_2_U32_DATA(HD_EVENT_TEMP_3, elapsedTxTimeS, timeDiffMin) + SEND_EVENT_WITH_2_F32_DATA( HD_EVENT_UF_RATE_TX_DUR, newUFDiffML, newUFRateMLPM ) + SEND_EVENT_WITH_2_F32_DATA( HD_EVENT_UF_RATE_TIME_TX_DUR, elapsedTxTimeS, timeDiffMin ) // The minimum treatment time is either in the range of the institutional record or the 1-minute treatment config has been requested which is an exception BOOL isMinTxTimeValid = ( ( treatmentTime >= getU32TreatmentParamLowerRangeLimit( TREATMENT_PARAM_TREATMENT_DURATION ) ) || @@ -1312,8 +1311,6 @@ presMaxUFVolumeML = pendingUFVolumeChange; result = setTreatmentParameterF32( TREATMENT_PARAM_UF_VOLUME, ( presMaxUFVolumeML / (F32)ML_PER_LITER ) ); - SEND_EVENT_WITH_2_F32_DATA(HD_EVENT_TEMP_4, presMaxUFVolumeML, pendingUFVolumeChange) - // User should only allow UF rate adjustment to achieve UF volume change if ( UF_ADJ_UF_RATE == adjustment ) {