Index: firmware/App/Modes/Dialysis.c =================================================================== diff -u -rb9594d9ee1070dbefeaa9f5d56ec0ef2e38a6098 -r2ed28d3fdc3345c4a3d8f1684d1541f2a27467d8 --- firmware/App/Modes/Dialysis.c (.../Dialysis.c) (revision b9594d9ee1070dbefeaa9f5d56ec0ef2e38a6098) +++ firmware/App/Modes/Dialysis.c (.../Dialysis.c) (revision 2ed28d3fdc3345c4a3d8f1684d1541f2a27467d8) @@ -69,7 +69,6 @@ typedef struct { F32 DPiToBLDFlushedVolML; ///< Dialysate inlet pump to blood leak flushed volume in milliliters. - BOOL hasBloodLeakZeroingBeenCompleted; ///< Flag to indicate blood leak zeroing has been completed successfully. BOOL hasBloodLeakZeroingBeenRequested; ///< Flag to indicate blood leak zeroing has been requested. BOOL isZeroingRequestedFromTreatmentStop; ///< Flag to indicate blood leak zeroing has been requested from treatment stop. BLOOD_LEAK_ZEROING_STATE_T bloodLeakZeroingState; ///< Blood leak zeroing state. @@ -685,8 +684,9 @@ if ( ( TRUE == isBloodLeakZeroingNeeded() ) && ( DIALYSIS_UF_STATE == currentDialysisState ) ) { + // Reset the blood leak zeroing variables + resetBloodLeakZeroing(); requestBloodLeakZeroing( FALSE ); - signalInitiatePressureStabilization( USE_NORMAL_STABILIZATION_PERIOD ); } // Dialysis state machine @@ -1135,8 +1135,6 @@ bloodLeakZeroingStatus.DPiToBLDFlushedVolML = 0.0F; // Cmd all pumps to stop - // TODO do we need to stop the dialysate pump? - //setDialInPumpTargetFlowRate( 0, MOTOR_DIR_FORWARD, PUMP_CONTROL_MODE_OPEN_LOOP ); setDialOutPumpTargetRate( 0, MOTOR_DIR_FORWARD, PUMP_CONTROL_MODE_OPEN_LOOP ); stopSyringePump(); @@ -1513,6 +1511,11 @@ { bloodLeakZeroingStatus.hasBloodLeakZeroingBeenRequested = TRUE; bloodLeakZeroingStatus.isZeroingRequestedFromTreatmentStop = isRequestFromTreatmentStop; + + if ( FALSE == isRequestFromTreatmentStop ) + { + signalInitiatePressureStabilization( USE_NORMAL_STABILIZATION_PERIOD ); + } } /*********************************************************************//** @@ -1527,7 +1530,6 @@ { bloodLeakZeroingStatus.DPiToBLDFlushedVolML = 0.0F; bloodLeakZeroingStatus.bloodLeakZeroingState = BLD_ZEROING_IDLE_STATE; - bloodLeakZeroingStatus.hasBloodLeakZeroingBeenCompleted = FALSE; bloodLeakZeroingStatus.hasBloodLeakZeroingBeenRequested = FALSE; bloodLeakZeroingStatus.isZeroingRequestedFromTreatmentStop = FALSE; }