Index: firmware/App/Modes/SelfTests.c =================================================================== diff -u -rcc4f8440e8ad7fa8f2ced2467d922be7422c344c -r3db5538afb80bc12822304d698343e0325fa708e --- firmware/App/Modes/SelfTests.c (.../SelfTests.c) (revision cc4f8440e8ad7fa8f2ced2467d922be7422c344c) +++ firmware/App/Modes/SelfTests.c (.../SelfTests.c) (revision 3db5538afb80bc12822304d698343e0325fa708e) @@ -235,11 +235,13 @@ F32 const bolusVol = getTreatmentParameterF32( TREATMENT_PARAM_HEPARIN_BOLUS_VOLUME ); F32 const hepRate = getTreatmentParameterF32( TREATMENT_PARAM_HEPARIN_DISPENSE_RATE ); +#ifndef _RELEASE_ if ( getSoftwareConfigStatus( SW_CONFIG_DISABLE_SYRINGE_PUMP ) != SW_CONFIG_ENABLE_VALUE ) { useHeparin = ( ( bolusVol > 0.0 ) || ( hepRate > 0.0 ) ? TRUE : FALSE ); } else +#endif { useHeparin = FALSE; } @@ -400,11 +402,13 @@ if ( TRUE == didTimeout( selfTestStartTime, CARTRIDGE_INSERT_PRESSURE_SETTLE_TIME_MS ) ) { setOcclusionInstallLevel(); // Record occlusion pressure level after a new cartridge is installed +#ifndef _RELEASE_ if ( SW_CONFIG_ENABLE_VALUE == getSoftwareConfigStatus( SW_CONFIG_DISABLE_DRY_SELF_TESTS ) ) { currentDrySelfTestsState = DRY_SELF_TESTS_SYRINGE_PUMP_PRIME_STATE; } else +#endif { currentDrySelfTestsState = DRY_SELF_TESTS_WAIT_FOR_DOOR_CLOSE_STATE; } @@ -1083,11 +1087,13 @@ if ( TRUE == selfTestsResumeRequested ) { selfTestsResumeRequested = FALSE; +#ifndef _RELEASE_ if ( getSoftwareConfigStatus( SW_CONFIG_DISABLE_DRY_SELF_TESTS ) != SW_CONFIG_ENABLE_VALUE ) { state = DRY_SELF_TESTS_WAIT_FOR_DOOR_CLOSE_STATE; } else +#endif { state = DRY_SELF_TESTS_SYRINGE_PUMP_PRIME_STATE; } @@ -1267,11 +1273,15 @@ { WET_SELF_TESTS_STATE_T state = WET_SELF_TESTS_BLOOD_LEAK_DETECTOR_STATE; - if ( ( getSoftwareConfigStatus( SW_CONFIG_DISABLE_BLOOD_LEAK_SELF_TEST ) != SW_CONFIG_ENABLE_VALUE ) || - ( SELF_TEST_STATUS_PASSED == getBloodLeakSelfTestStatus() ) ) + if ( SELF_TEST_STATUS_PASSED == getBloodLeakSelfTestStatus() ) { - settleStartTime = getMSTimerCount(); - state = WET_SELF_TESTS_FIRST_DISPLACEMENT_SETUP_STATE; +#ifndef _RELEASE_ + if ( getSoftwareConfigStatus( SW_CONFIG_DISABLE_BLOOD_LEAK_SELF_TEST ) != SW_CONFIG_ENABLE_VALUE ) +#endif + { + settleStartTime = getMSTimerCount(); + state = WET_SELF_TESTS_FIRST_DISPLACEMENT_SETUP_STATE; + } } if ( TRUE == doesAlarmStatusIndicateStop() ) @@ -1380,6 +1390,8 @@ F32 const resTwoDiffAfterDisplacement = getReservoirWeightLargeFilter( DG_RESERVOIR_2 ) - reservoirVolume[ DG_RESERVOIR_2 ]; F32 const integratedVolumeToTargetPercent = fabs( 1.0 - ( fmdIntegratedVolume / WET_SELF_TEST_FIRST_DISPLACEMENT_TARGET_VOLUME_ML ) ); + // + if ( ( fabs( resOneDiffAfterDisplacement - resTwoDiffAfterDisplacement) <= WET_SELF_TEST_DISPLACEMENT_TOLERANCE_G ) && ( integratedVolumeToTargetPercent <= WET_SELF_TEST_INTEGRATED_VOLUME_TOLERANCE ) ) {