Index: firmware/App/Modes/SelfTests.c =================================================================== diff -u -r180f01b2abd71939b5265069e88d85dea4eec393 -r69656450319bfcfdeffdc8f11e88084d4ea38d7d --- firmware/App/Modes/SelfTests.c (.../SelfTests.c) (revision 180f01b2abd71939b5265069e88d85dea4eec393) +++ firmware/App/Modes/SelfTests.c (.../SelfTests.c) (revision 69656450319bfcfdeffdc8f11e88084d4ea38d7d) @@ -15,6 +15,7 @@ * ***************************************************************************/ +#include "AirTrap.h" #include "BloodFlow.h" #include "DialInFlow.h" #include "DialOutFlow.h" @@ -243,8 +244,6 @@ *************************************************************************/ void execDrySelfTests( void ) { - SELF_TEST_STATUS_T result = SELF_TEST_STATUS_PASSED; - // execute dry self-tests state machine switch ( currentDrySelfTestsState ) { @@ -281,7 +280,18 @@ break; case DRY_SELF_TESTS_OCCLUSION_SENSORS_STATE: - currentDrySelfTestsState = DRY_SELF_TESTS_COMPLETE; + { + SELF_TEST_STATUS_T const result = execPresOcclDryTest(); + + if ( SELF_TEST_STATUS_PASSED == result ) + { + currentDrySelfTestsState = DRY_SELF_TESTS_COMPLETE; + } + else + { + activateAlarmNoData( ALARM_ID_CARTRIDGE_INSTALLED_IMPROPERLY ); + } + } break; case DRY_SELF_TESTS_COMPLETE: @@ -293,11 +303,6 @@ SET_ALARM_WITH_2_U32_DATA( ALARM_ID_HD_SOFTWARE_FAULT, SW_FAULT_ID_HD_INVALID_DRY_SELF_TEST_STATE, (U32)currentDrySelfTestsState ); break; } - - if ( SELF_TEST_STATUS_FAILED == result ) - { - SET_ALARM_WITH_1_U32_DATA( ALARM_ID_PRE_TREATMENT_SELF_TEST_FAILURE, currentNoCartSelfTestsState ); - } } /*********************************************************************//**