Index: firmware/App/Modes/SelfTests.c =================================================================== diff -u -ra56db4650fe5652d633e0c51b29da32d5d708608 -rdb8b5387ab2f6d6fc72b68af1962934c3b0b7b3f --- firmware/App/Modes/SelfTests.c (.../SelfTests.c) (revision a56db4650fe5652d633e0c51b29da32d5d708608) +++ firmware/App/Modes/SelfTests.c (.../SelfTests.c) (revision db8b5387ab2f6d6fc72b68af1962934c3b0b7b3f) @@ -243,9 +243,19 @@ setValvePosition( VDI, VALVE_POSITION_A_INSERT_EJECT ); setValvePosition( VDO, VALVE_POSITION_A_INSERT_EJECT ); - setValvePosition( VBA, VALVE_POSITION_A_INSERT_EJECT ); setValvePosition( VBV, VALVE_POSITION_A_INSERT_EJECT ); - setValveAirTrap( STATE_CLOSED ); + + if ( TRUE == dryPressureTestsCompleted ) + { + setValvePosition( VBA, VALVE_POSITION_A_INSERT_EJECT ); + setValveAirTrap( STATE_CLOSED ); + } + + else + { + setValvePosition( VBA, VALVE_POSITION_B_OPEN ); + setValveAirTrap( STATE_OPEN ); + } } /*********************************************************************//** @@ -1601,6 +1611,16 @@ checkForSyringeOcclusion( FALSE ); } + // Set VBA to Pos A after we have depressurized the line from pressure self tests + if ( TRUE == isAlarmActive( ALARM_ID_HD_PRE_TREATMENT_DRY_PRESSURE_TEST_FAILURE ) ) + { + if ( NORMAL_PRESSURE_DIFF_TOLERANCE_MMHG >= getFilteredVenousPressure() ) + { + setValvePosition( VBA, VALVE_POSITION_A_INSERT_EJECT ); + setValveAirTrap( STATE_CLOSED ); + } + } + // if resume request, resume dry self-tests if ( TRUE == selfTestsResumeRequested ) {