Index: firmware/App/Modes/SelfTests.c =================================================================== diff -u -r00fc092615d0b6b518754cb4de6a8abfaf946b33 -rc3f8a0d846621b3b10330eea578aeee89e734a91 --- firmware/App/Modes/SelfTests.c (.../SelfTests.c) (revision 00fc092615d0b6b518754cb4de6a8abfaf946b33) +++ firmware/App/Modes/SelfTests.c (.../SelfTests.c) (revision c3f8a0d846621b3b10330eea578aeee89e734a91) @@ -49,7 +49,7 @@ #define DIAL_IN_PUMP_RUN_TIME_PRESSURE_SELF_TEST ( 20 * MS_PER_SECOND ) #define DECAY_PRESSURE_SELF_TEST_TIME ( 4 * MS_PER_SECOND ) ///< time to wait for pressure to decay in ms. #define STABILTY_PRESSURE_SELF_TEST_TIME ( 5 * MS_PER_SECOND ) ///< Time to wait for pressure to stabilize in ms. -#define NORMALIZED_PRESSURE_SELF_TEST_TIME ( 10 * MS_PER_SECOND ) ///< Time to wait for pressure to normalize in ms. +#define NORMALIZED_PRESSURE_SELF_TEST_TIME ( 20 * MS_PER_SECOND ) ///< Time to wait for pressure to normalize in ms. #define NORMALIZED_PRESSURE_SELF_TEST_HALF_TIME ( 5 * MS_PER_SECOND ) ///< Half the time to wait for pressure to normalize in ms. #define ARTERIAL_DECAY_PRESSURE_DIFF_TOLERANCE_MMHG 5.0F ///< Difference in arterial pressure readings after the pump stops (in mmHg). @@ -61,7 +61,7 @@ #define VENOUS_PRESSURE_SELF_TEST_HIGH_LIMIT_MMHG 200.0F ///< Venous pressure high limit after running blood pump. #define VENOUS_PRESSURE_SELF_TEST_FIRST_PASS_LIMIT_MMHG 200.0F ///< Venous pressure high limit after running dpi in first test. -#define NORMAL_PRESSURE_DIFF_TOLERANCE_MMHG 10.0F ///< Difference in pressure readings after return to normal state tolerance (in mmHg). +#define NORMAL_PRESSURE_DIFF_TOLERANCE_MMHG 20.0F ///< Difference in pressure readings after return to normal state tolerance (in mmHg). #define DIP_FLOW_RATE_SETUP_ML_MIN 150 ///< Dialysate inlet pump flow rate during the setup for wet self-test. #define DIP_FLOW_RATE_FIRST_DISPLACEMENT_ML_MIN 100 ///< Dialysate inlet pump flow rate during the first displacement in wet self-test. @@ -1252,23 +1252,22 @@ F32 const arterialPressureDiff = fabs( getFilteredArterialPressure() - previousNormalArterialPressure ); F32 const venousPressureDiff = fabs( getFilteredVenousPressure() - previousNormalVenousPressure ); + // open air trap after NORMALIZED_PRESSURE_SELF_TEST_HALF_TIME seconds if ( TRUE == didTimeout( pressureSelfTestNormalizedStartTime, NORMALIZED_PRESSURE_SELF_TEST_HALF_TIME ) ) { setValveAirTrap( STATE_OPEN ); } + 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; + } + if ( TRUE == didTimeout( pressureSelfTestNormalizedStartTime, NORMALIZED_PRESSURE_SELF_TEST_TIME ) ) { - 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; - } - else - { - SET_ALARM_WITH_2_F32_DATA( ALARM_ID_PRE_TREATMENT_DRY_PRESSURE_NORMAL_TEST_FAILURE, arterialPressureDiff, venousPressureDiff ); - } + SET_ALARM_WITH_2_F32_DATA( ALARM_ID_PRE_TREATMENT_DRY_PRESSURE_NORMAL_TEST_FAILURE, arterialPressureDiff, venousPressureDiff ); } if ( TRUE == doesAlarmStatusIndicateStop() )