Index: firmware/App/Controllers/BloodLeak.c =================================================================== diff -u -rb3975394235f8a80c977ea8cfeb39e4ef0bc7e60 -r248262d26c8c49bdba7a89d029d850d6eb3f4a35 --- firmware/App/Controllers/BloodLeak.c (.../BloodLeak.c) (revision b3975394235f8a80c977ea8cfeb39e4ef0bc7e60) +++ firmware/App/Controllers/BloodLeak.c (.../BloodLeak.c) (revision 248262d26c8c49bdba7a89d029d850d6eb3f4a35) @@ -403,7 +403,7 @@ // The zero sequence contains Z->G->Z->Q->T and each of the commands has a request counter but for checking whether the // zero sequence has failed only the Z command is checked. When the zero sequence is enqueued, all of the them enqueued so they are // at the same request count number. - BOOL status = ( bloodLeakEmbModeCmd[ Z_EMB_MODE_CMD ].commandRqstCount > BLOOD_LEAK_EMB_MODE_MAX_NUM_CMD_TRIES ? TRUE : FALSE ); + BOOL status = ( bloodLeakEmbModeCmd[ G_EMB_MODE_CMD ].commandRqstCount > BLOOD_LEAK_EMB_MODE_MAX_NUM_CMD_TRIES ? TRUE : FALSE ); return status; } @@ -632,9 +632,12 @@ if ( FALSE == hasCmdSqncFailed ) { // Done with zero sequence, transition to other states - bloodLeakEmbModeCmd[ Z_EMB_MODE_CMD ].commandRqstCount = 0; - bloodLeakSelfTestStatus = SELF_TEST_STATUS_PASSED; - state = BLOOD_LEAK_NORMAL_STATE; + resetEmbModeCmdRqstCount( Z_EMB_MODE_CMD ); + resetEmbModeCmdRqstCount( G_EMB_MODE_CMD ); + resetEmbModeCmdRqstCount( Q_EMB_MODE_CMD ); + resetEmbModeCmdRqstCount( T_EMB_MODE_CMD ); + bloodLeakSelfTestStatus = SELF_TEST_STATUS_PASSED; + state = BLOOD_LEAK_NORMAL_STATE; } // If not successful, retry if we've not run out else Index: firmware/App/Modes/SelfTests.c =================================================================== diff -u -r556668d4ef26ad4afbc438cc28d397a898459084 -r248262d26c8c49bdba7a89d029d850d6eb3f4a35 --- firmware/App/Modes/SelfTests.c (.../SelfTests.c) (revision 556668d4ef26ad4afbc438cc28d397a898459084) +++ firmware/App/Modes/SelfTests.c (.../SelfTests.c) (revision 248262d26c8c49bdba7a89d029d850d6eb3f4a35) @@ -1697,7 +1697,7 @@ { signalDialInPumpHardStop(); - if ( FALSE == isDialInPumpRunning() ) + if ( getMeasuredDialInFlowRate() <= NEARLY_ZERO ) { if ( TRUE == zeroBloodLeak() ) {