Index: firmware/App/Modes/SelfTests.c =================================================================== diff -u -ra950dac5fd5cfbbc52c82efb512c6c36a4ab30f3 -r8b85f5e5542a227384f6696238f3d18b8d8b0efa --- firmware/App/Modes/SelfTests.c (.../SelfTests.c) (revision a950dac5fd5cfbbc52c82efb512c6c36a4ab30f3) +++ firmware/App/Modes/SelfTests.c (.../SelfTests.c) (revision 8b85f5e5542a227384f6696238f3d18b8d8b0efa) @@ -84,7 +84,7 @@ #define SELF_TEST_TIME_DATA_PUB_INTERVAL ( MS_PER_SECOND ) ///< Interval (ms/task time) at which self-test time data is published on the CAN bus. #define PRESSURE_CHECK_START_PRESSURE_TOLERANCE_MMHG 10.0F ///< Prior to dry pressure leak test, arterial and venous pressure sensors should read zero +/- this tolerance. -#define MAX_EMPTY_RESERVOIR_WEIGHT_G 10.0F ///< Maximum reservoir weight to be considered empty for cartridge pressure leak test. +#define MAX_EMPTY_RESERVOIR_WEIGHT_G 15.0F ///< Maximum reservoir weight to be considered empty for cartridge pressure leak test. /// Multiplier to conver flow (mL/min) into volume (mL) for period of general task interval. static const F32 SELF_TEST_FLOW_INTEGRATOR = ( ( 1.0F * TASK_GENERAL_INTERVAL ) / ( SEC_PER_MIN * MS_PER_SECOND ) ); @@ -523,7 +523,6 @@ // Publish current self-test time data if ( calcTimeSince( selfTestPreviousPublishDataTime ) >= SELF_TEST_TIME_DATA_PUB_INTERVAL ) { - if currentDrySelfTestsState U32 const elapsedSelfTestTimeInSecs = calcTimeSince( selfTestStartTime ) / MS_PER_SECOND; selfTestPreviousPublishDataTime = getMSTimerCount(); @@ -977,13 +976,13 @@ setupForSelfTestsStop(); } else - { // Wait for reservoir 2 to empty before starting pressure leak test - if ( ( DG_RESERVOIR_2 == getDGInactiveReservoir() ) && ( getLoadCellWeight( LOAD_CELL_RESERVOIR_2_PRIMARY ) < MAX_EMPTY_RESERVOIR_WEIGHT_G ) ) + { + // Wait for reservoirs to drain before starting this test + if ( ( getLoadCellWeight( LOAD_CELL_RESERVOIR_1_PRIMARY ) < MAX_EMPTY_RESERVOIR_WEIGHT_G ) && ( getLoadCellWeight( LOAD_CELL_RESERVOIR_2_PRIMARY ) < MAX_EMPTY_RESERVOIR_WEIGHT_G ) ) { // TODO - wait 1 sec before taking pressure readings and beginning pressure check previousNormalArterialPressure = getFilteredArterialPressure(); previousNormalVenousPressure = getFilteredVenousPressure(); - cmdSetDGActiveReservoir( DG_RESERVOIR_2 ); // temporarily set reservoir 1 as active before cartridge pressure leak test starts. state = DRY_SELF_TESTS_PRESSURE_SENSORS_VENOUS_SETUP_STATE; // Check to see if sensor is within normal ranges before we execute pressure sensor tests @@ -1269,7 +1268,6 @@ if ( ( arterialPressureDiff <= NORMAL_PRESSURE_DIFF_TOLERANCE_MMHG ) && ( venousPressureDiff <= NORMAL_PRESSURE_DIFF_TOLERANCE_MMHG ) ) { signalActionToResumeFill(); - cmdSetDGActiveReservoir( DG_RESERVOIR_1 ); // restore reservoir 1 as active after cartridge pressure leak test completed. state = DRY_SELF_TESTS_SYRINGE_PUMP_PRIME_STATE; }