Index: firmware/App/Modes/ModePreTreat.c =================================================================== diff -u -rf0fc30b9706c6fac65f16bdbf0a7661ec88c1b78 -rb87bac344f39b289e83d4794fba4e53cf3dac94a --- firmware/App/Modes/ModePreTreat.c (.../ModePreTreat.c) (revision f0fc30b9706c6fac65f16bdbf0a7661ec88c1b78) +++ firmware/App/Modes/ModePreTreat.c (.../ModePreTreat.c) (revision b87bac344f39b289e83d4794fba4e53cf3dac94a) @@ -149,7 +149,7 @@ BOOL isDialysateGoodToDeliver = getDialysateGoodToDeliverStatus(); F32 bicarbConvFactor = BICARBONATE_CONVERSION_FACTOR; F32 presUFVolumeL = 0.0F; - F32 presUFRateLHr = 0.0F; + F32 presUFRateMlMin = 0.0F; U32 ddSubMode = getDDSubMode(); TD_PRE_TREATMENT_MODE_STATE_T state = TD_PRE_TREATMENT_CONFIRM_RX_STATE; DD_OP_MODE_T ddOpMode = getDDOpMode(); @@ -161,9 +161,9 @@ if ( ( ddOpMode == DD_MODE_PREG ) && ( ddSubMode == DD_PRE_GEN_DIALYSATE_WAIT_FOR_GEND ) ) { presUFVolumeL = getTreatmentParameterF32( TREATMENT_PARAM_UF_VOLUME ); - presUFRateLHr = presUFVolumeL / ( (F32)getTreatmentParameterU32( TREATMENT_PARAM_TREATMENT_DURATION ) / (F32)MIN_PER_HOUR ); + presUFRateMlMin = ( presUFVolumeL * (F32)ML_PER_LITER ) / (F32)getTreatmentParameterU32( TREATMENT_PARAM_TREATMENT_DURATION ); // Direct DD to generate dialysate and bypass while priming blood - cmdStartGenerateDialysate( (F32)getTreatmentParameterU32( TREATMENT_PARAM_DIALYSATE_FLOW ), presUFRateLHr, + cmdStartGenerateDialysate( (F32)getTreatmentParameterU32( TREATMENT_PARAM_DIALYSATE_FLOW ), presUFRateMlMin, getTreatmentParameterF32( TREATMENT_PARAM_DIALYSATE_TEMPERATURE ), TRUE, getTreatmentParameterF32( TREATMENT_PARAM_ACID_CONCENTRATE_CONV_FACTOR ), bicarbConvFactor, Index: firmware/App/Modes/ModeTreatment.c =================================================================== diff -u -re9e339870c5ed01230963f00d400331ab879c91f -rb87bac344f39b289e83d4794fba4e53cf3dac94a --- firmware/App/Modes/ModeTreatment.c (.../ModeTreatment.c) (revision e9e339870c5ed01230963f00d400331ab879c91f) +++ firmware/App/Modes/ModeTreatment.c (.../ModeTreatment.c) (revision b87bac344f39b289e83d4794fba4e53cf3dac94a) @@ -74,6 +74,7 @@ static U32 presTreatmentTimeSecs; ///< Prescribed treatment time (in seconds). static F32 presUFVolumeL; ///< Prescribed ultrafiltration volume (in L). static F32 presUFRateLHr; ///< Prescribed ultrafiltration rate (in L/hr). +static F32 presUFRateMlMin; ///< Prescribed ultrafiltration rate (in mL/Min). static U32 treatmentTimeMS; ///< Elapsed treatment time (in ms). static U32 lastTreatmentTimeStamp; ///< Last time elapsed treatment time was recorded (a timestamp in ms). @@ -160,6 +161,7 @@ presTreatmentTimeSecs = 0; presUFVolumeL = 0.0F; presUFRateLHr = 0.0F; + presUFRateMlMin = 0.0F; resetSignalFlags(); resetAlarmSignalFlags(); @@ -209,11 +211,12 @@ presTreatmentTimeSecs = getTreatmentParameterU32( TREATMENT_PARAM_TREATMENT_DURATION ) * SEC_PER_MIN; presUFVolumeL = getTreatmentParameterF32( TREATMENT_PARAM_UF_VOLUME ); presUFRateLHr = presUFVolumeL / ( (F32)getTreatmentParameterU32( TREATMENT_PARAM_TREATMENT_DURATION ) / (F32)MIN_PER_HOUR ); - setDialysisDDParams( getTreatmentParameterU32( TREATMENT_PARAM_DIALYSATE_FLOW ), presUFVolumeL, presUFRateLHr ); + presUFRateMlMin = ( presUFVolumeL * (F32)ML_PER_LITER ) / (F32)getTreatmentParameterU32( TREATMENT_PARAM_TREATMENT_DURATION ); + setDialysisDDParams( getTreatmentParameterU32( TREATMENT_PARAM_DIALYSATE_FLOW ), presUFVolumeL, presUFRateMlMin ); bicarbConvFactor = BICARBONATE_CONVERSION_FACTOR; // Direct DD to generate dialysate and bypass while priming blood - cmdStartGenerateDialysate( (F32)getTreatmentParameterU32( TREATMENT_PARAM_DIALYSATE_FLOW ), presUFRateLHr, + cmdStartGenerateDialysate( (F32)getTreatmentParameterU32( TREATMENT_PARAM_DIALYSATE_FLOW ), presUFRateMlMin, getTreatmentParameterF32( TREATMENT_PARAM_DIALYSATE_TEMPERATURE ), TRUE, getTreatmentParameterF32( TREATMENT_PARAM_ACID_CONCENTRATE_CONV_FACTOR ), bicarbConvFactor, Index: firmware/App/Modes/StateTxDialysis.c =================================================================== diff -u -re9e339870c5ed01230963f00d400331ab879c91f -rb87bac344f39b289e83d4794fba4e53cf3dac94a --- firmware/App/Modes/StateTxDialysis.c (.../StateTxDialysis.c) (revision e9e339870c5ed01230963f00d400331ab879c91f) +++ firmware/App/Modes/StateTxDialysis.c (.../StateTxDialysis.c) (revision b87bac344f39b289e83d4794fba4e53cf3dac94a) @@ -44,7 +44,7 @@ static U32 setBloodFlowRate; ///< Currently set blood flow rate (from prescription). static U32 setDialysateFlowRate; ///< Currently set dialysate flow rate (from prescription). static F32 setUFVolumeL; ///< Currently set total ultrafiltration volume (in L) for treatment (from prescription). -static F32 setUFRateLHr; ///< Currently set ultrafiltration rate (in L/hr from prescription). +static F32 setUFRateMlMin; ///< Currently set ultrafiltration rate (in mL/min from prescription). static OVERRIDE_F32_T measUFVolumeL; ///< Current total measured volume (in L) for ultrafiltration . static BOOL ufPauseRequested; ///< Flag indicates UF pause has been requested by user. @@ -81,7 +81,7 @@ setBloodFlowRate = 0; setDialysateFlowRate = 0; setUFVolumeL = 0.0F; - setUFRateLHr = 0.0F; + setUFRateMlMin = 0.0F; ufPauseRequested = FALSE; ufResumeRequested = FALSE; @@ -115,7 +115,7 @@ setAlarmUserActionEnabled( ALARM_USER_ACTION_END_TREATMENT, TRUE ); // Set actuators as appropriate for state - cmdStartGenerateDialysate( setDialysateFlowRate, setUFRateLHr, dialTemp, FALSE, + cmdStartGenerateDialysate( setDialysateFlowRate, setUFRateMlMin, dialTemp, FALSE, acidConvFactor, bicarbConvFactor, sodium, bicarbonate ); transitionToDialysisState( currentDialysisState ); @@ -141,7 +141,7 @@ setValvePosition( H1_VALV, VALVE_POSITION_B_OPEN ); // set arterial valve to pump blood from patient setValvePosition( H19_VALV, VALVE_POSITION_B_OPEN ); // set venous valve to open, allowing blood to return to patient setBloodPumpTargetFlowRate( setBloodFlowRate, MOTOR_DIR_FORWARD, PUMP_CONTROL_MODE_CLOSED_LOOP ); - cmdChangeQuf( setUFRateLHr ); + cmdChangeQuf( setUFRateMlMin ); // Start auto-control of air trap valve startAirTrapControl(); @@ -219,17 +219,17 @@ * The setDialysisDDParams function sets the dialysate rate and ultrafiltration * volume and rate parameters. * @details \b Inputs: none - * @details \b Outputs: setDialysateFlowRate, setUFVolumeL, setUFRateLHr + * @details \b Outputs: setDialysateFlowRate, setUFVolumeL, setUFRateMlMin * @param qd target dialysate flow rate (in mL/min) * @param ufVol target ultrafiltration volume (in L) - * @param quf target ultrafiltration flow rate (in L/hr) + * @param quf target ultrafiltration flow rate (in mL/min) * @return none *************************************************************************/ void setDialysisDDParams( U32 qd, F32 ufVol, F32 quf ) { setDialysateFlowRate = qd; setUFVolumeL = ufVol; - setUFRateLHr = quf; + setUFRateMlMin = quf; } /*********************************************************************//** @@ -238,7 +238,7 @@ * ultrafiltration. * @details \b Message \b Sent: MSG_ID_TD_UF_PAUSE_RESUME_RESPONSE * @details \b Message \b Sent: UF_START_PAUSE_EVENT / UF_START_RESUME_EVENT - * @details \b Inputs: currentDialysisState, setUFRateLHr + * @details \b Inputs: currentDialysisState, setUFRateMlMin * @details \b Outputs: ufPauseRequested, ufResumeRequested * @param message Message from UI which includes a flag indicating whether * to pause or resume ultrafiltration. @@ -267,9 +267,9 @@ { ufResumeRequested = TRUE; response.accepted = TRUE; - if ( setUFRateLHr > 0.0 ) + if ( setUFRateMlMin > 0.0 ) { - //sendTreatmentLogEventData( UF_START_RESUME_EVENT, 0.0, setUFRateLHr ); + //sendTreatmentLogEventData( UF_START_RESUME_EVENT, 0.0, setUFRateMlMin ); } } else @@ -295,9 +295,9 @@ { ufPauseRequested = TRUE; response.accepted = TRUE; - if ( setUFRateLHr > 0.0 ) + if ( setUFRateMlMin > 0.0 ) { - //sendTreatmentLogEventData( UF_PAUSE_EVENT, setUFRateLHr, 0.0 ); + //sendTreatmentLogEventData( UF_PAUSE_EVENT, setUFRateMlMin, 0.0 ); } } else Index: firmware/App/Services/DDInterface.c =================================================================== diff -u -r2e7706d646b75803605cf0bc30375763bf999416 -rb87bac344f39b289e83d4794fba4e53cf3dac94a --- firmware/App/Services/DDInterface.c (.../DDInterface.c) (revision 2e7706d646b75803605cf0bc30375763bf999416) +++ firmware/App/Services/DDInterface.c (.../DDInterface.c) (revision b87bac344f39b289e83d4794fba4e53cf3dac94a) @@ -380,7 +380,7 @@ * @details \b Outputs: dialysateDeliveryCmdSet * @details \b Message \b Sent: Start/continue generate dialysate command. * @param qd Target dialysate flow rate (Qd). - * @param quf Target ultrafiltration rate (Quf). + * @param quf Target ultrafiltration rate (Quf) (in mL/min). * @param dialTemp Target dialysate temperature in deg C. * @param bypass Flag indicating whether dialyzer should be bypassed. * @param acidConvFactor Conversion factor for the acid used. @@ -439,7 +439,7 @@ * @details \b Inputs: none * @details \b Outputs: dialysateDeliveryCmdSet * @details \b Message \b Sent: Continue generate dialysate command w/ new Quf. - * @param quf Target ultrafiltration flow rate (in L/hr). + * @param quf Target ultrafiltration flow rate (in mL/min). * @return none *************************************************************************/ void cmdChangeQuf( F32 quf )