Index: firmware/App/Controllers/BloodLeak.c =================================================================== diff -u -rf760ffc4b10556e5186e9ceb90294262063440ca -raad5e13d6c6b65fe869668fd987af64b75d9e3b8 --- firmware/App/Controllers/BloodLeak.c (.../BloodLeak.c) (revision f760ffc4b10556e5186e9ceb90294262063440ca) +++ firmware/App/Controllers/BloodLeak.c (.../BloodLeak.c) (revision aad5e13d6c6b65fe869668fd987af64b75d9e3b8) @@ -642,6 +642,16 @@ // If the blood leak status bit is low (0) it means blood has not been detected, otherwise, blood has been detected bloodLeakStatus.data = ( BLOOD_LEAK_STATUS_BIT_LOW == getFPGABloodLeakStatus() ? BLOOD_LEAK_NOT_DETECTED : BLOOD_LEAK_DETECTED ); +#ifdef DIALYZER_REPRIME_ENABLED +// exempt blood leak alarm while performing a dialyzer de-prime as air will be pushed past sensor and appear to be blood +if ( ( TREATMENT_DIALYSIS_STATE == getTreatmentState() ) && ( DIALYSIS_DIALYZER_REPRIME_STATE == getDialysisState() ) ) +{ + bloodLeakPersistenceCtr = 0; +} +else +{ +#endif + // Check status reading and act upon if ( BLOOD_LEAK_DETECTED == getBloodLeakStatus() ) { @@ -673,6 +683,10 @@ } } +#ifdef DIALYZER_REPRIME_ENABLED +} +#endif + if ( TRUE == bloodLeakExitNormalRequested ) { bloodLeakExitNormalRequested = FALSE; Index: firmware/App/Modes/Dialysis.c =================================================================== diff -u -r3b169605cd862c086a579019e7cdf1fe9f9dde20 -raad5e13d6c6b65fe869668fd987af64b75d9e3b8 --- firmware/App/Modes/Dialysis.c (.../Dialysis.c) (revision 3b169605cd862c086a579019e7cdf1fe9f9dde20) +++ firmware/App/Modes/Dialysis.c (.../Dialysis.c) (revision aad5e13d6c6b65fe869668fd987af64b75d9e3b8) @@ -406,7 +406,6 @@ U32 salineBolusVolume = getTreatmentParameterU32( TREATMENT_PARAM_SALINE_BOLUS_VOLUME ); HD_OP_MODE_T currOpMode = getCurrentOperationMode(); TREATMENT_STATE_T currTreatSubMode = getTreatmentState(); - SALINE_BOLUS_STATE_T currSalineBolusState = getSalineBolusState(); // Must be in treatment mode, dialysis sub-mode, saline bolus in idle state in order to start a saline bolus if ( currOpMode != MODE_TREA ) @@ -421,12 +420,12 @@ { rejReason = REQUEST_REJECT_REASON_SALINE_MAX_VOLUME_REACHED; } - else if ( currSalineBolusState != SALINE_BOLUS_STATE_IDLE ) + else if ( DIALYSIS_SALINE_BOLUS_STATE == currentDialysisState ) { rejReason = REQUEST_REJECT_REASON_SALINE_BOLUS_IN_PROGRESS; } #ifdef DIALYZER_REPRIME_ENABLED - else if ( currentDialysisState == DIALYSIS_DIALYZER_REPRIME_STATE ) + else if ( DIALYSIS_DIALYZER_REPRIME_STATE == currentDialysisState ) { rejReason = REQUEST_REJECT_REASON_DIALYZER_REPRIME_IN_PROGRESS; }