Index: firmware/App/Controllers/AirTrap.c =================================================================== diff -u -re044317c454510482d8a04da1f78cff380a6e7d1 -rfae5ed2aeb0f330868f37ff37dd49cb29e5476f2 --- firmware/App/Controllers/AirTrap.c (.../AirTrap.c) (revision e044317c454510482d8a04da1f78cff380a6e7d1) +++ firmware/App/Controllers/AirTrap.c (.../AirTrap.c) (revision fae5ed2aeb0f330868f37ff37dd49cb29e5476f2) @@ -353,9 +353,17 @@ //Turn on air pump if fluid reaches upper level. else if ( AIR_TRAP_LEVEL_FLUID == getAirTrapLevel( AIR_TRAP_LEVEL_SENSOR_UPPER ) ) { - setValveAirTrap( STATE_OPEN ); - fillStartTime = getMSTimerCount(); - result = AIR_TRAP_VALVE_OPEN_STATE; +#ifndef _RELEASE_ + if ( SW_CONFIG_DISABLE_VALUE == getSoftwareConfigStatus( SW_CONFIG_DISABLE_AIR_PUMP ) ) + { +#endif + if ( AIR_PUMP_STATE_OFF == getAirPumpState() ) + { + setAirPumpState( AIR_PUMP_STATE_ON ); + } +#ifndef _RELEASE_ + } +#endif } return result; } @@ -384,12 +392,20 @@ setValveAirTrap( STATE_CLOSED ); result = AIR_TRAP_VALVE_CLOSED_STATE; } + // Turn air pump off once we detect air at lower level. else if ( AIR_TRAP_LEVEL_AIR == getAirTrapLevel( AIR_TRAP_LEVEL_SENSOR_LOWER ) ) { - if ( AIR_PUMP_STATE_ON == getAirPumpState() ) +#ifndef _RELEASE_ + if ( SW_CONFIG_DISABLE_VALUE == getSoftwareConfigStatus( SW_CONFIG_DISABLE_AIR_PUMP ) ) { - setAirPumpState( AIR_PUMP_STATE_OFF ); +#endif + if ( AIR_PUMP_STATE_ON == getAirPumpState() ) + { + setAirPumpState( AIR_PUMP_STATE_OFF ); + } +#ifndef _RELEASE_ } +#endif } return result; Index: firmware/App/Modes/SelfTests.c =================================================================== diff -u -re044317c454510482d8a04da1f78cff380a6e7d1 -rfae5ed2aeb0f330868f37ff37dd49cb29e5476f2 --- firmware/App/Modes/SelfTests.c (.../SelfTests.c) (revision e044317c454510482d8a04da1f78cff380a6e7d1) +++ firmware/App/Modes/SelfTests.c (.../SelfTests.c) (revision fae5ed2aeb0f330868f37ff37dd49cb29e5476f2) @@ -46,8 +46,8 @@ #define DIAL_IN_PUMP_PRESSURE_SELF_TEST_FLOW 400 #define SYRINGE_PUMP_OCCLUSION_CHECK_DELAY ( 1 * MS_PER_SECOND ) ///< Delay 1 second then check for syringe pump prime occlusion. -#define BLOOD_PUMP_RUN_TIME_PRESSURE_SELF_TEST ( 20 * MS_PER_SECOND ) ///< Pressure self-test time to run blood pump in ms. -#define VENOUS_PRESSURE_SELF_TEST_MAX_TEST_TIME ( 20 * MS_PER_SECOND ) ///< Pressure self-test time to run venous self test in ms. +#define BLOOD_PUMP_RUN_TIME_PRESSURE_SELF_TEST ( 30 * MS_PER_SECOND ) ///< Pressure self-test time to run blood pump in ms. +#define VENOUS_PRESSURE_SELF_TEST_MAX_TEST_TIME ( 30 * MS_PER_SECOND ) ///< Pressure self-test time to run venous self test in ms. #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 ( 20 * MS_PER_SECOND ) ///< Time to wait for pressure to normalize in ms. @@ -61,7 +61,7 @@ #define ARTERIAL_PRESSURE_SELF_TEST_LOW_LIMIT_MMHG -200.0F ///< Arterial pressure low limit after running blood pump. #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 VENOUS_PRESSURE_SELF_TEST_FIRST_PASS_LIMIT_MMHG 300.0F ///< Venous pressure high limit after running air pump in first test. #define NORMAL_PRESSURE_DIFF_TOLERANCE_MMHG 20.0F ///< Difference in pressure readings after return to normal state tolerance (in mmHg). @@ -1020,7 +1020,7 @@ else { #ifndef _RELEASE_ - if ( SW_CONFIG_ENABLE_VALUE == getSoftwareConfigStatus( SW_CONFIG_DISABLE_AIR_PUMP ) ) + if ( SW_CONFIG_DISABLE_VALUE == getSoftwareConfigStatus( SW_CONFIG_DISABLE_AIR_PUMP ) ) { #endif setValvePosition( VDI, VALVE_POSITION_C_CLOSE ); @@ -1036,7 +1036,7 @@ setValvePosition( VBV, VALVE_POSITION_C_CLOSE ); setValveAirTrap( STATE_CLOSED ); #ifndef _RELEASE_ - if ( SW_CONFIG_ENABLE_VALUE == getSoftwareConfigStatus( SW_CONFIG_DISABLE_AIR_PUMP ) ) + if ( SW_CONFIG_DISABLE_VALUE == getSoftwareConfigStatus( SW_CONFIG_DISABLE_AIR_PUMP ) ) { #endif setAirPumpState( AIR_PUMP_STATE_ON ); @@ -1070,7 +1070,7 @@ if ( VENOUS_PRESSURE_SELF_TEST_FIRST_PASS_LIMIT_MMHG <= venousPressure ) { #ifndef _RELEASE_ - if ( SW_CONFIG_ENABLE_VALUE == getSoftwareConfigStatus( SW_CONFIG_DISABLE_AIR_PUMP ) ) + if ( SW_CONFIG_DISABLE_VALUE == getSoftwareConfigStatus( SW_CONFIG_DISABLE_AIR_PUMP ) ) { #endif setAirPumpState( AIR_PUMP_STATE_OFF );