Index: firmware/App/Modes/SelfTests.c =================================================================== diff -u -r37a9fd8f15e413db5337371a7d1a1cb65567af7c -r54617cfeeecf4058136d789c91be1cd7b12ea0ce --- firmware/App/Modes/SelfTests.c (.../SelfTests.c) (revision 37a9fd8f15e413db5337371a7d1a1cb65567af7c) +++ firmware/App/Modes/SelfTests.c (.../SelfTests.c) (revision 54617cfeeecf4058136d789c91be1cd7b12ea0ce) @@ -7,8 +7,8 @@ * * @file SelfTests.c * -* @author (last) Darren Cox -* @date (last) 17-Mar-2022 +* @author (last) Dara Navaei +* @date (last) 31-Mar-2022 * * @author (original) Quang Nguyen * @date (original) 28-Jan-2021 @@ -449,7 +449,7 @@ if ( SELF_TEST_STATUS_FAILED == result ) { - SET_ALARM_WITH_1_U32_DATA( ALARM_ID_PRE_TREATMENT_DRY_SELF_TEST_FAILURE, currentDrySelfTestsState ); + SET_ALARM_WITH_1_U32_DATA( ALARM_ID_PRE_TREATMENT_DRY_PRESSURE_TEST_FAILURE, currentDrySelfTestsState ); } // Publish current self-test time data @@ -585,7 +585,7 @@ if ( SELF_TEST_STATUS_FAILED == result ) { - SET_ALARM_WITH_1_U32_DATA( ALARM_ID_PRE_TREATMENT_WET_SELF_TEST_FAILURE, currentWetSelfTestsState ); + SET_ALARM_WITH_1_U32_DATA( ALARM_ID_PRE_TREATMENT_WET_LC_TEST_FAILURE, currentWetSelfTestsState ); } } @@ -1033,11 +1033,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();