Index: firmware/App/Modes/Dialysis.c =================================================================== diff -u -r0f7e24faee00439d8d212de3bda6f94dcca40855 -r6c6d0ab1b4e4299541d92f7b6cc89c421b01438a --- firmware/App/Modes/Dialysis.c (.../Dialysis.c) (revision 0f7e24faee00439d8d212de3bda6f94dcca40855) +++ firmware/App/Modes/Dialysis.c (.../Dialysis.c) (revision 6c6d0ab1b4e4299541d92f7b6cc89c421b01438a) @@ -80,8 +80,8 @@ static F32 totalSalineVolumeDelivered; ///< Volume (mL) in total of saline delivered so far (cumulative for all boluses including current one). static F32 bolusSalineVolumeDelivered; ///< Volume (mL) of current bolus delivered so far. static F32 bolusSalineVolumeDelivered_Safety; ///< Volume (mL) of current bolus delivered so far according to safety monitor. -static U32 bolusSalineRotorCount; ///< Blood pump rotor count during saline bolus to calculate saline bolus volume independently for safety. -static U32 bolusSalineLastRotorCount; ///< Last blood pump count from last saline bolus volume update. +static U32 bolusSalineMotorCount; ///< Blood pump motor rev count during saline bolus to calculate saline bolus volume independently for safety. +static U32 bolusSalineLastMotorCount; ///< Last blood pump count from last saline bolus volume update. static U32 bolusSalineLastVolumeTimeStamp; ///< Time stamp for last saline volume update. static U32 uFAccuracyCheckTimerCtr; ///< Timer counter to determine when next to check ultrafiltration accuracy. @@ -164,7 +164,7 @@ salineBolusAutoResumeUF = FALSE; bolusSalineVolumeDelivered = 0.0; bolusSalineVolumeDelivered_Safety = 0.0; - bolusSalineRotorCount = 0; + bolusSalineMotorCount = 0; if ( currentSalineBolusState != SALINE_BOLUS_STATE_MAX_DELIVERED ) { currentSalineBolusState = SALINE_BOLUS_STATE_IDLE; @@ -908,8 +908,8 @@ // reset bolus data before we start bolusSalineVolumeDelivered = 0.0; bolusSalineVolumeDelivered_Safety = 0.0; - bolusSalineRotorCount = 0; - bolusSalineLastRotorCount = getBloodPumpRotorCount(); + bolusSalineMotorCount = 0; + bolusSalineLastMotorCount = getBloodPumpMotorCount(); bolusSalineLastVolumeTimeStamp = getMSTimerCount(); // bypass dialyzer @@ -954,15 +954,15 @@ F32 bldFlowRate = getMeasuredBloodFlowRate(); // TODO - should I use raw flow instead of filtered here??? F32 volSinceLastUpdateMl = bldFlowRate * timeSinceLastVolumeUpdateMin; U32 bldPumpMotorCount = getBloodPumpMotorCount(); - U32 bldPumpMotorDelta = u32DiffWithWrap( bolusSalineLastRotorCount, bldPumpMotorCount ); + U32 bldPumpMotorDelta = u32DiffWithWrap( bolusSalineLastMotorCount, bldPumpMotorCount ); // update saline bolus volumes bolusSalineLastVolumeTimeStamp = getMSTimerCount(); bolusSalineVolumeDelivered += volSinceLastUpdateMl; totalSalineVolumeDelivered += volSinceLastUpdateMl; - bolusSalineRotorCount += bldPumpMotorDelta; - bolusSalineLastRotorCount = bldPumpMotorCount; - bolusSalineVolumeDelivered_Safety = ( (F32)bolusSalineRotorCount * VOLUME_PER_BP_MOTOR_REV_ML ); // TODO - include upstream pressure compensation to this calc + bolusSalineMotorCount += bldPumpMotorDelta; + bolusSalineLastMotorCount = bldPumpMotorCount; + bolusSalineVolumeDelivered_Safety = ( (F32)bolusSalineMotorCount * VOLUME_PER_BP_MOTOR_REV_ML ); // TODO - include upstream pressure compensation to this calc // TODO - check for empty saline bag if ( 0 ) @@ -987,6 +987,7 @@ // TODO - fault errorFound = TRUE; } + bolusSalineVolumeDelivered = 0.0; result = SALINE_BOLUS_STATE_IDLE; } // determine if safety thinks we've over-delivered the bolus @@ -1021,6 +1022,7 @@ currentUFState = UF_RUNNING_STATE; } // resume dialysis + *dialysisState = DIALYSIS_UF_STATE; startDialysis(); } } Index: firmware/App/Modes/ModeTreatment.c =================================================================== diff -u -r4a22fc18a17947587613273eb8cc08fd8c95beb8 -r6c6d0ab1b4e4299541d92f7b6cc89c421b01438a --- firmware/App/Modes/ModeTreatment.c (.../ModeTreatment.c) (revision 4a22fc18a17947587613273eb8cc08fd8c95beb8) +++ firmware/App/Modes/ModeTreatment.c (.../ModeTreatment.c) (revision 6c6d0ab1b4e4299541d92f7b6cc89c421b01438a) @@ -188,9 +188,9 @@ *************************************************************************/ U32 execTreatmentMode( void ) { +#ifdef DISABLE_UI_TREATMENT_WORKFLOW BOOL stop = isStopButtonPressed(); -#ifdef DISABLE_UI_TREATMENT_WORKFLOW if ( TRUE == stop ) { requestNewOperationMode( MODE_POST ); Index: firmware/App/Modes/ModeTreatmentParams.c =================================================================== diff -u -r0785222033c051524fbe19e49c08ba7f3f7a347c -r6c6d0ab1b4e4299541d92f7b6cc89c421b01438a --- firmware/App/Modes/ModeTreatmentParams.c (.../ModeTreatmentParams.c) (revision 0785222033c051524fbe19e49c08ba7f3f7a347c) +++ firmware/App/Modes/ModeTreatmentParams.c (.../ModeTreatmentParams.c) (revision 6c6d0ab1b4e4299541d92f7b6cc89c421b01438a) @@ -162,6 +162,9 @@ // set staged parameter values to zero stagedParams[ param ].uInt = 0; } +#ifndef DISABLE_UI_TREATMENT_WORKFLOW + setTreatmentParameterF32( TREATMENT_PARAM_UF_VOLUME, 600 ); +#endif // zero original parameter values origTreatmentParams.bloodFlowRate_mL_min = 0;