Index: firmware/App/Modes/SelfTests.c =================================================================== diff -u -r269329748ffabc707aa8dd2376fadb92efcca941 -r1bb1704768422c57b8be98c3d9a8dca9b05bf8ae --- firmware/App/Modes/SelfTests.c (.../SelfTests.c) (revision 269329748ffabc707aa8dd2376fadb92efcca941) +++ firmware/App/Modes/SelfTests.c (.../SelfTests.c) (revision 1bb1704768422c57b8be98c3d9a8dca9b05bf8ae) @@ -1047,11 +1047,15 @@ if ( TRUE == didTimeout( syringeOcclusionDelayStartTime, SYRINGE_PUMP_OCCLUSION_CHECK_DELAY ) ) { - checkForPrimeOcclusion(); - state = DRY_SELF_TESTS_COMPLETE_STATE; + if ( FALSE == checkForPrimeOcclusion() ) // transition to complete state only when occlusion is removed + { + // clear the occlusion alarm condition to allow user to resume + clearAlarmCondition( ALARM_ID_HD_SYRINGE_PUMP_OCCLUSION ); // Resume option will appear + state = DRY_SELF_TESTS_COMPLETE_STATE; + } } - if ( TRUE == doesAlarmStatusIndicateStop() ) + if ( ( TRUE == doesAlarmStatusIndicateStop() ) && ( FALSE == isAlarmActive( ALARM_ID_HD_SYRINGE_PUMP_OCCLUSION ) ) ) { state = DRY_SELF_TESTS_STOPPED_STATE; setupForSelfTestsStop();