Index: firmware/App/Modes/Dialysis.c =================================================================== diff -u -rcef8ee5540ff7d849b1ccb2fa54e6d70e5d62db4 -rb9594d9ee1070dbefeaa9f5d56ec0ef2e38a6098 --- firmware/App/Modes/Dialysis.c (.../Dialysis.c) (revision cef8ee5540ff7d849b1ccb2fa54e6d70e5d62db4) +++ firmware/App/Modes/Dialysis.c (.../Dialysis.c) (revision b9594d9ee1070dbefeaa9f5d56ec0ef2e38a6098) @@ -862,6 +862,19 @@ salineBolusStartRequested = FALSE; } } + else if ( TRUE == bloodLeakZeroingStatus.hasBloodLeakZeroingBeenRequested ) + { + autoResumeUF = FALSE; + if ( BLD_ZEROING_IDLE_STATE == bloodLeakZeroingStatus.bloodLeakZeroingState ) + { + *dialysisState = DIALYSIS_BLOOD_LEAK_ZEROING_STATE; + setCurrent4thLevelState( (U32)bloodLeakZeroingStatus.bloodLeakZeroingState ); + } + else + { + bloodLeakZeroingStatus.hasBloodLeakZeroingBeenRequested = FALSE; + } + } return result; } @@ -914,6 +927,20 @@ salineBolusStartRequested = FALSE; } } + else if ( TRUE == bloodLeakZeroingStatus.hasBloodLeakZeroingBeenRequested ) + { + if ( BLD_ZEROING_IDLE_STATE == bloodLeakZeroingStatus.bloodLeakZeroingState ) + { + autoResumeUF = TRUE; + result = UF_PAUSED_STATE; + *dialysisState = DIALYSIS_BLOOD_LEAK_ZEROING_STATE; + setCurrent4thLevelState( (U32)bloodLeakZeroingStatus.bloodLeakZeroingState ); + } + else + { + bloodLeakZeroingStatus.hasBloodLeakZeroingBeenRequested = FALSE; + } + } return result; } @@ -1100,7 +1127,7 @@ *************************************************************************/ static BLOOD_LEAK_ZEROING_STATE_T handleBloodLeakZeroingIdleState( void ) { - BLOOD_LEAK_ZEROING_STATE_T state = BLD_ZEROING_IDLE; + BLOOD_LEAK_ZEROING_STATE_T state = BLD_ZEROING_IDLE_STATE; if ( TRUE == bloodLeakZeroingStatus.hasBloodLeakZeroingBeenRequested ) { @@ -1116,7 +1143,7 @@ setValvePosition( VDI, VALVE_POSITION_C_CLOSE ); setValvePosition( VDO, VALVE_POSITION_C_CLOSE ); - state = BLD_ZEROING_FLUSH; + state = BLD_ZEROING_FLUSH_STATE; } return state; @@ -1133,11 +1160,11 @@ *************************************************************************/ static BLOOD_LEAK_ZEROING_STATE_T handleBloodLeakZeroingFlushState( void ) { - BLOOD_LEAK_ZEROING_STATE_T state = BLD_ZEROING_FLUSH; + BLOOD_LEAK_ZEROING_STATE_T state = BLD_ZEROING_FLUSH_STATE; if ( TRUE == hasDPiToBLDVolumeBeenFlushed() ) { - state = BLD_ZEROING_ZERO; + state = BLD_ZEROING_ZERO_STATE; } return state; @@ -1153,11 +1180,11 @@ *************************************************************************/ static BLOOD_LEAK_ZEROING_STATE_T handleBloodLeakZeroingZeroState( void ) { - BLOOD_LEAK_ZEROING_STATE_T state = BLD_ZEROING_ZERO; + BLOOD_LEAK_ZEROING_STATE_T state = BLD_ZEROING_ZERO_STATE; if ( TRUE == zeroBloodLeak() ) { - state = BLD_ZEROING_VERIFY_ZEROING; + state = BLD_ZEROING_VERIFY_ZEROING_STATE; } return state; @@ -1174,12 +1201,12 @@ *************************************************************************/ static BLOOD_LEAK_ZEROING_STATE_T handleBloodLeakZeroingVerifyZeroingState( void ) { - BLOOD_LEAK_ZEROING_STATE_T state = BLD_ZEROING_VERIFY_ZEROING; + BLOOD_LEAK_ZEROING_STATE_T state = BLD_ZEROING_VERIFY_ZEROING_STATE; SELF_TEST_STATUS_T zeroSelfTestStatus = getBloodLeakSelfTestStatus(); if ( SELF_TEST_STATUS_PASSED == zeroSelfTestStatus ) { - state = BLD_ZEROING_COMPLETE; + state = BLD_ZEROING_COMPLETE_STATE; } else if ( SELF_TEST_STATUS_FAILED == zeroSelfTestStatus ) { @@ -1189,7 +1216,7 @@ } else { - state = BLD_ZEROING_ZERO; + state = BLD_ZEROING_ZERO_STATE; } } @@ -1208,7 +1235,7 @@ *************************************************************************/ static BLOOD_LEAK_ZEROING_STATE_T handleBloodLeakZeroingCompleteState( DIALYSIS_STATE_T *dialysisState ) { - BLOOD_LEAK_ZEROING_STATE_T state = BLD_ZEROING_COMPLETE; + BLOOD_LEAK_ZEROING_STATE_T state = BLD_ZEROING_COMPLETE_STATE; if ( FALSE == bloodLeakZeroingStatus.isZeroingRequestedFromTreatmentStop ) { @@ -1439,23 +1466,23 @@ switch( bloodLeakZeroingStatus.bloodLeakZeroingState ) { - case BLD_ZEROING_IDLE: + case BLD_ZEROING_IDLE_STATE: bloodLeakZeroingStatus.bloodLeakZeroingState = handleBloodLeakZeroingIdleState(); break; - case BLD_ZEROING_FLUSH: + case BLD_ZEROING_FLUSH_STATE: bloodLeakZeroingStatus.bloodLeakZeroingState = handleBloodLeakZeroingFlushState(); break; - case BLD_ZEROING_ZERO: + case BLD_ZEROING_ZERO_STATE: bloodLeakZeroingStatus.bloodLeakZeroingState = handleBloodLeakZeroingZeroState(); break; - case BLD_ZEROING_VERIFY_ZEROING: + case BLD_ZEROING_VERIFY_ZEROING_STATE: bloodLeakZeroingStatus.bloodLeakZeroingState = handleBloodLeakZeroingVerifyZeroingState(); break; - case BLD_ZEROING_COMPLETE: + case BLD_ZEROING_COMPLETE_STATE: bloodLeakZeroingStatus.bloodLeakZeroingState = handleBloodLeakZeroingCompleteState( &dialysisState ); break; @@ -1499,7 +1526,7 @@ void resetBloodLeakZeroing( void ) { bloodLeakZeroingStatus.DPiToBLDFlushedVolML = 0.0F; - bloodLeakZeroingStatus.bloodLeakZeroingState = BLD_ZEROING_IDLE; + bloodLeakZeroingStatus.bloodLeakZeroingState = BLD_ZEROING_IDLE_STATE; bloodLeakZeroingStatus.hasBloodLeakZeroingBeenCompleted = FALSE; bloodLeakZeroingStatus.hasBloodLeakZeroingBeenRequested = FALSE; bloodLeakZeroingStatus.isZeroingRequestedFromTreatmentStop = FALSE;