Index: firmware/App/Modes/SelfTests.c =================================================================== diff -u -reb60ac3bebfb09af42a5ff699aa5590ab942077c -re9c3c030d9e407247441437d0b407530824260ac --- firmware/App/Modes/SelfTests.c (.../SelfTests.c) (revision eb60ac3bebfb09af42a5ff699aa5590ab942077c) +++ firmware/App/Modes/SelfTests.c (.../SelfTests.c) (revision e9c3c030d9e407247441437d0b407530824260ac) @@ -1049,11 +1049,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();