Index: firmware/App/Controllers/AirTrap.c =================================================================== diff -u -rcdb087f7607a88b29c5ed4cdc9a76e3240fe42a3 -ra50b999266616eb3d0661846cd31bb395c8a7e12 --- firmware/App/Controllers/AirTrap.c (.../AirTrap.c) (revision cdb087f7607a88b29c5ed4cdc9a76e3240fe42a3) +++ firmware/App/Controllers/AirTrap.c (.../AirTrap.c) (revision a50b999266616eb3d0661846cd31bb395c8a7e12) @@ -336,34 +336,23 @@ //Turn on air pump if fluid reaches upper level. else if ( AIR_TRAP_LEVEL_FLUID == getAirTrapLevel( AIR_TRAP_LEVEL_SENSOR_UPPER ) ) { -#ifndef _RELEASE_ - if ( SW_CONFIG_DISABLE_VALUE == getSoftwareConfigStatus( SW_CONFIG_DISABLE_AIR_PUMP ) ) -#endif + if ( AIR_PUMP_STATE_OFF == getAirPumpState() ) { - if ( AIR_PUMP_STATE_OFF == getAirPumpState() ) - { - setAirPumpState( AIR_PUMP_STATE_ON ); - airPumpUpperLevelCtr = 0; - } + setAirPumpState( AIR_PUMP_STATE_ON ); + airPumpUpperLevelCtr = 0; } } else if ( ( AIR_TRAP_LEVEL_AIR == getAirTrapLevel( AIR_TRAP_LEVEL_SENSOR_UPPER ) ) && ( AIR_TRAP_LEVEL_FLUID == getAirTrapLevel( AIR_TRAP_LEVEL_SENSOR_LOWER ) ) ) { - -#ifndef _RELEASE_ - if ( SW_CONFIG_DISABLE_VALUE == getSoftwareConfigStatus( SW_CONFIG_DISABLE_AIR_PUMP ) ) -#endif + if ( AIR_PUMP_STATE_ON == getAirPumpState() ) { - if ( AIR_PUMP_STATE_ON == getAirPumpState() ) + airPumpUpperLevelCtr++; + // Turn air pump off once we detect air at upper level and exceed persistence + if ( airPumpUpperLevelCtr >= AIR_PUMP_UPPER_LEVEL_PERSISTENCE ) { - airPumpUpperLevelCtr++; - // Turn air pump off once we detect air at upper level and exceed persistence - if ( airPumpUpperLevelCtr >= AIR_PUMP_UPPER_LEVEL_PERSISTENCE ) - { - setAirPumpState( AIR_PUMP_STATE_OFF ); - } + setAirPumpState( AIR_PUMP_STATE_OFF ); } } } @@ -372,14 +361,9 @@ else if ( ( AIR_TRAP_LEVEL_AIR == getAirTrapLevel( AIR_TRAP_LEVEL_SENSOR_UPPER ) ) && ( AIR_TRAP_LEVEL_AIR == getAirTrapLevel( AIR_TRAP_LEVEL_SENSOR_LOWER ) ) ) { -#ifndef _RELEASE_ - if ( SW_CONFIG_DISABLE_VALUE == getSoftwareConfigStatus( SW_CONFIG_DISABLE_AIR_PUMP ) ) -#endif + if ( AIR_PUMP_STATE_ON == getAirPumpState() ) { - if ( AIR_PUMP_STATE_ON == getAirPumpState() ) - { - setAirPumpState( AIR_PUMP_STATE_OFF ); - } + setAirPumpState( AIR_PUMP_STATE_OFF ); } setValveAirTrap( STATE_OPEN ); Index: firmware/App/Controllers/BloodFlow.c =================================================================== diff -u -rfd9d9df8dd3c75c8f890a5ada96f83ded1841fd5 -ra50b999266616eb3d0661846cd31bb395c8a7e12 --- firmware/App/Controllers/BloodFlow.c (.../BloodFlow.c) (revision fd9d9df8dd3c75c8f890a5ada96f83ded1841fd5) +++ firmware/App/Controllers/BloodFlow.c (.../BloodFlow.c) (revision a50b999266616eb3d0661846cd31bb395c8a7e12) @@ -534,16 +534,12 @@ *************************************************************************/ void resetBloodPumpRotorCount( void ) { -#ifndef _RELEASE_ - if ( SW_CONFIG_ENABLE_VALUE == getSoftwareConfigStatus( SW_CONFIG_ENABLE_WORN_OUT_CARTRIDGE ) ) + bloodPumpRotorCounter.data = 0; + + if ( TRUE == getTestConfigStatus( TEST_CONFIG_ENABLE_WORN_CARTRIDGE_USE ) ) { bloodPumpRotorCounter.data = BP_MAX_ROTOR_COUNT_FOR_WEAR; } - else -#endif - { - bloodPumpRotorCounter.data = 0; - } } /*********************************************************************//** Index: firmware/App/Controllers/DialInFlow.c =================================================================== diff -u -rc1b9ac0dbf2196280895d2e440dd7ac288ac8424 -ra50b999266616eb3d0661846cd31bb395c8a7e12 --- firmware/App/Controllers/DialInFlow.c (.../DialInFlow.c) (revision c1b9ac0dbf2196280895d2e440dd7ac288ac8424) +++ firmware/App/Controllers/DialInFlow.c (.../DialInFlow.c) (revision a50b999266616eb3d0661846cd31bb395c8a7e12) @@ -895,16 +895,12 @@ *************************************************************************/ void resetDialInPumpRotorCount( void ) { -#ifndef _RELEASE_ - if ( SW_CONFIG_ENABLE_VALUE == getSoftwareConfigStatus( SW_CONFIG_ENABLE_WORN_OUT_CARTRIDGE ) ) + dialysateInPumpRotorCounter.data = 0.0F; + + if ( TRUE == getTestConfigStatus( TEST_CONFIG_ENABLE_WORN_CARTRIDGE_USE ) ) { dialysateInPumpRotorCounter.data = DIAL_IN_MAX_ROTOR_COUNT_FOR_WEAR; } - else -#endif - { - dialysateInPumpRotorCounter.data = 0.0F; - } } /*********************************************************************//** Index: firmware/App/Controllers/Fans.c =================================================================== diff -u -rb156b12139fea40401c94b512503a2ceced69e22 -ra50b999266616eb3d0661846cd31bb395c8a7e12 --- firmware/App/Controllers/Fans.c (.../Fans.c) (revision b156b12139fea40401c94b512503a2ceced69e22) +++ firmware/App/Controllers/Fans.c (.../Fans.c) (revision a50b999266616eb3d0661846cd31bb395c8a7e12) @@ -408,7 +408,7 @@ // The RPM is expected to be 5500 @ 100% duty cycle // The nominal RPM = duty cycle * 5500 / 1.0 // The RPM tolerance is -25% to +50% of the nominal RPM - F32 dutyCycle = ( OVERRIDE_RESET == fansStatus.dutyCycle.override ? fansStatus.dutyCycle.data : fansStatus.dutyCycle.ovData ); + F32 dutyCycle = getF32OverrideValue( &fansStatus.dutyCycle ); F32 fansNominalRPM = dutyCycle * FANS_MAX_ALLOWED_RPM; F32 fansMinAllowedRPM = fansNominalRPM - ( fansNominalRPM * FANS_MIN_RPM_OUT_OF_RANGE_TOL ); F32 fansMaxAllowedRPM = fansNominalRPM + ( fansNominalRPM * FANS_MAX_RPM_OUT_OF_RANGE_TOL ); @@ -450,8 +450,8 @@ if ( calcTimeSince( timeDiff ) >= SECONDS_IN_A_DAY * MS_PER_SECOND ) { - hasAlarmBeenRaised = FALSE; - rpmAlarmStartTime = 0; + hasAlarmBeenRaised = FALSE; + rpmAlarmStartTime = 0; } } } Index: firmware/App/Modes/ModeFault.c =================================================================== diff -u -r0a61f7fa5ff6945ebc2e507d8ecb71a652c38eaa -ra50b999266616eb3d0661846cd31bb395c8a7e12 --- firmware/App/Modes/ModeFault.c (.../ModeFault.c) (revision 0a61f7fa5ff6945ebc2e507d8ecb71a652c38eaa) +++ firmware/App/Modes/ModeFault.c (.../ModeFault.c) (revision a50b999266616eb3d0661846cd31bb395c8a7e12) @@ -123,12 +123,7 @@ signalBloodPumpHardStop(); signalDialInPumpHardStop(); signalDialOutPumpHardStop(); -#ifndef _RELEASE_ - if ( SW_CONFIG_DISABLE_VALUE == getSoftwareConfigStatus( SW_CONFIG_DISABLE_AIR_PUMP ) ) -#endif - { - setAirPumpState( AIR_PUMP_STATE_OFF ); - } + setAirPumpState( AIR_PUMP_STATE_OFF ); // Ensure all valves are in safe position setValveAirTrap( STATE_CLOSED ); Index: firmware/App/Modes/ModePreTreat.c =================================================================== diff -u -r2a03f6c87706478406a4962d70f5bae2ccb57728 -ra50b999266616eb3d0661846cd31bb395c8a7e12 --- firmware/App/Modes/ModePreTreat.c (.../ModePreTreat.c) (revision 2a03f6c87706478406a4962d70f5bae2ccb57728) +++ firmware/App/Modes/ModePreTreat.c (.../ModePreTreat.c) (revision a50b999266616eb3d0661846cd31bb395c8a7e12) @@ -757,12 +757,8 @@ fillReservoirOneStartRequested = TRUE; transitionToNoCartSelfTests(); } -#ifndef _RELEASE_ - if ( SW_CONFIG_DISABLE_VALUE == getSoftwareConfigStatus( SW_CONFIG_DISABLE_AIR_PUMP ) ) // Allow reservoir flushes now if air pump not disabled -#endif - { - signalAllowDGFlushFills(); - } + + signalAllowDGFlushFills(); } return state; Index: firmware/App/Modes/ModeService.c =================================================================== diff -u -rf760ffc4b10556e5186e9ceb90294262063440ca -ra50b999266616eb3d0661846cd31bb395c8a7e12 --- firmware/App/Modes/ModeService.c (.../ModeService.c) (revision f760ffc4b10556e5186e9ceb90294262063440ca) +++ firmware/App/Modes/ModeService.c (.../ModeService.c) (revision a50b999266616eb3d0661846cd31bb395c8a7e12) @@ -71,12 +71,8 @@ signalBloodPumpHardStop(); signalDialInPumpHardStop(); signalDialOutPumpHardStop(); -#ifndef _RELEASE_ - if ( SW_CONFIG_DISABLE_VALUE == getSoftwareConfigStatus( SW_CONFIG_DISABLE_AIR_PUMP ) ) -#endif - { - setAirPumpState( AIR_PUMP_STATE_OFF ); - } + setAirPumpState( AIR_PUMP_STATE_OFF ); + setValveAirTrap( STATE_CLOSED ); setValvePosition( VDI, VALVE_POSITION_A_INSERT_EJECT ); setValvePosition( VDO, VALVE_POSITION_A_INSERT_EJECT ); Index: firmware/App/Modes/Prime.c =================================================================== diff -u -r83156b9098cc97a7402db4efba5320fac8284ce4 -ra50b999266616eb3d0661846cd31bb395c8a7e12 --- firmware/App/Modes/Prime.c (.../Prime.c) (revision 83156b9098cc97a7402db4efba5320fac8284ce4) +++ firmware/App/Modes/Prime.c (.../Prime.c) (revision a50b999266616eb3d0661846cd31bb395c8a7e12) @@ -199,12 +199,7 @@ signalDialInPumpHardStop(); signalDialOutPumpHardStop(); stopSyringePump(); -#ifndef _RELEASE_ - if ( SW_CONFIG_DISABLE_VALUE == getSoftwareConfigStatus( SW_CONFIG_DISABLE_AIR_PUMP ) ) -#endif - { - setAirPumpState( AIR_PUMP_STATE_OFF ); - } + setAirPumpState( AIR_PUMP_STATE_OFF ); // Set valves to default positions setValveAirTrap( STATE_CLOSED ); Index: firmware/App/Modes/SelfTests.c =================================================================== diff -u -r83156b9098cc97a7402db4efba5320fac8284ce4 -ra50b999266616eb3d0661846cd31bb395c8a7e12 --- firmware/App/Modes/SelfTests.c (.../SelfTests.c) (revision 83156b9098cc97a7402db4efba5320fac8284ce4) +++ firmware/App/Modes/SelfTests.c (.../SelfTests.c) (revision a50b999266616eb3d0661846cd31bb395c8a7e12) @@ -941,26 +941,9 @@ { setOcclusionInstallLevel(); // Record occlusion pressure level after a new cartridge is installed doorClosedRequired( TRUE, TRUE ); -#ifndef _RELEASE_ - if ( SW_CONFIG_ENABLE_VALUE == getSoftwareConfigStatus( SW_CONFIG_DISABLE_DRY_SELF_TESTS ) ) - { - signalAllowDGFlushFills(); - signalAllowDGFillRes1(); - signalAllowDGFillRes2(); - state = DRY_SELF_TESTS_SYRINGE_PUMP_PRIME_STATE; - } - else -#endif - { -#ifndef _RELEASE_ - if ( SW_CONFIG_DISABLE_VALUE == getSoftwareConfigStatus( SW_CONFIG_DISABLE_AIR_PUMP ) ) // Allow res 1&2 fills now if air pump not disabled -#endif - { - signalAllowDGFillRes1(); - signalAllowDGFillRes2(); - } - state = DRY_SELF_TESTS_WAIT_FOR_DOOR_CLOSE_STATE; - } + signalAllowDGFillRes1(); + signalAllowDGFillRes2(); + state = DRY_SELF_TESTS_WAIT_FOR_DOOR_CLOSE_STATE; } } @@ -1022,32 +1005,30 @@ *************************************************************************/ static DRY_SELF_TESTS_STATE_T handleDrySelfTestUsedCartridgeCheckState( void ) { - DRY_SELF_TESTS_STATE_T state = DRY_SELF_TESTS_USED_CARTRIDGE_CHECK_STATE; + DRY_SELF_TESTS_STATE_T state = DRY_SELF_TESTS_USED_CARTRIDGE_CHECK_STATE; BUBBLE_STATUS_T ADVBubbleStatus = getBubbleStatus( ADV ); SEND_EVENT_WITH_2_U32_DATA(HD_EVENT_DRY_SELF_TEST_CARTRIDGE_RESULT,(U32)ADVBubbleStatus,(U32)BUBBLE_DETECTED) - if ( ( ( BUBBLE_DETECTED == ADVBubbleStatus ) && - ( AIR_TRAP_LEVEL_AIR == getAirTrapLevel( AIR_TRAP_LEVEL_SENSOR_LOWER ) ) && - ( AIR_TRAP_LEVEL_AIR == getAirTrapLevel( AIR_TRAP_LEVEL_SENSOR_UPPER ) ) ) || - ( TRUE == getTestConfigStatus( TEST_CONFIG_ENABLE_WET_CARTRIDGE_USE ) ) ) + if ( ( BUBBLE_DETECTED == ADVBubbleStatus ) && + ( AIR_TRAP_LEVEL_AIR == getAirTrapLevel( AIR_TRAP_LEVEL_SENSOR_LOWER ) ) && + ( AIR_TRAP_LEVEL_AIR == getAirTrapLevel( AIR_TRAP_LEVEL_SENSOR_UPPER ) ) ) { state = DRY_SELF_TESTS_CARTRIDGE_LOADED_CHECK_STATE; } else { -#ifndef _RELEASE_ - if ( getSoftwareConfigStatus( SW_CONFIG_ENABLE_WORN_OUT_CARTRIDGE ) != SW_CONFIG_ENABLE_VALUE ) -#endif + if ( ( TRUE == getTestConfigStatus( TEST_CONFIG_ENABLE_WORN_CARTRIDGE_USE ) ) || ( TRUE == getTestConfigStatus( TEST_CONFIG_ENABLE_WET_CARTRIDGE_USE ) ) ) { - activateAlarmNoData( ALARM_ID_HD_INSTALL_NEW_CARTRIDGE ); + // If either of the test configurations are set go to loaded check + state = DRY_SELF_TESTS_CARTRIDGE_LOADED_CHECK_STATE; } -#ifndef _RELEASE_ - else + + if ( ( getTestConfigStatus( TEST_CONFIG_ENABLE_WORN_CARTRIDGE_USE ) != TRUE ) && ( getTestConfigStatus( TEST_CONFIG_ENABLE_WET_CARTRIDGE_USE ) != TRUE ) ) { - state = DRY_SELF_TESTS_CARTRIDGE_LOADED_CHECK_STATE; + // If we are using the worn cartridge or wet cartridge, it is not needed to alarm the user to install the new cartridge + activateAlarmNoData( ALARM_ID_HD_INSTALL_NEW_CARTRIDGE ); } -#endif } if ( TRUE == doesAlarmStatusIndicateStop() ) @@ -1080,6 +1061,12 @@ setValveAirTrap( STATE_OPEN ); pressureSelfTestPreNormalStartTime = getMSTimerCount(); state = DRY_SELF_TESTS_PRESSURE_SENSORS_NORMAL_SETUP_STATE; + + if ( TRUE == getTestConfigStatus( TEST_CONFIG_ENABLE_WORN_CARTRIDGE_USE ) ) + { + dryPressureTestsCompleted = TRUE; + state = DRY_SELF_TESTS_SYRINGE_PUMP_PRIME_STATE; + } } if ( TRUE == doesAlarmStatusIndicateStop() ) @@ -1110,47 +1097,20 @@ } else { -#ifndef _RELEASE_ - if ( SW_CONFIG_ENABLE_VALUE == getSoftwareConfigStatus( SW_CONFIG_DISABLE_AIR_PUMP ) ) - { - // 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 ) ) - { - if ( TRUE == didTimeout( pressureSelfTestPreNormalStartTime, PRE_NORMAL_PRESSURE_SELF_TEST_DELAY_MS ) ) - { - previousNormalArterialPressure = getFilteredArterialPressure(); - previousNormalVenousPressure = getFilteredVenousPressure(); - state = DRY_SELF_TESTS_PRESSURE_SENSORS_VENOUS_SETUP_STATE; + if ( TRUE == didTimeout( pressureSelfTestPreNormalStartTime, PRE_NORMAL_PRESSURE_SELF_TEST_DELAY_MS ) ) + { // Record baseline pressures before pressurizing blood side circuit side of cartridge + previousNormalArterialPressure = getFilteredArterialPressure(); + previousNormalVenousPressure = getFilteredVenousPressure(); - // Check to see if sensor is within normal ranges before we execute pressure sensor tests - if ( ( fabs( previousNormalArterialPressure ) > PRESSURE_CHECK_START_PRESSURE_TOLERANCE_MMHG ) || - ( fabs( previousNormalVenousPressure ) > PRESSURE_CHECK_START_PRESSURE_TOLERANCE_MMHG ) ) - { - SET_ALARM_WITH_2_F32_DATA( ALARM_ID_HD_PRE_TREATMENT_DRY_PRESSURE_TEST_FAILURE, previousNormalArterialPressure, previousNormalVenousPressure ); - } - } + // Check to see if sensor is within normal ranges before we execute pressure sensor tests + if ( ( fabs( previousNormalArterialPressure ) > PRESSURE_CHECK_START_PRESSURE_TOLERANCE_MMHG ) || + ( fabs( previousNormalVenousPressure ) > PRESSURE_CHECK_START_PRESSURE_TOLERANCE_MMHG ) ) + { + SET_ALARM_WITH_2_F32_DATA( ALARM_ID_HD_PRE_TREATMENT_DRY_PRESSURE_TEST_FAILURE, previousNormalArterialPressure, previousNormalVenousPressure ); } - } - else -#endif - { - if ( TRUE == didTimeout( pressureSelfTestPreNormalStartTime, PRE_NORMAL_PRESSURE_SELF_TEST_DELAY_MS ) ) - { // Record baseline pressures before pressurizing blood side circuit side of cartridge - previousNormalArterialPressure = getFilteredArterialPressure(); - previousNormalVenousPressure = getFilteredVenousPressure(); - - // Check to see if sensor is within normal ranges before we execute pressure sensor tests - if ( ( ( fabs( previousNormalArterialPressure ) > PRESSURE_CHECK_START_PRESSURE_TOLERANCE_MMHG ) || - ( fabs( previousNormalVenousPressure ) > PRESSURE_CHECK_START_PRESSURE_TOLERANCE_MMHG ) ) && - ( getTestConfigStatus( TEST_CONFIG_ENABLE_WET_CARTRIDGE_USE ) != TRUE ) ) - { - SET_ALARM_WITH_2_F32_DATA( ALARM_ID_HD_PRE_TREATMENT_DRY_PRESSURE_TEST_FAILURE, previousNormalArterialPressure, previousNormalVenousPressure ); - } - else - { - state = DRY_SELF_TESTS_PRESSURE_SENSORS_VENOUS_SETUP_STATE; - } + else + { + state = DRY_SELF_TESTS_PRESSURE_SENSORS_VENOUS_SETUP_STATE; } } } @@ -1175,36 +1135,14 @@ state = DRY_SELF_TESTS_STOPPED_STATE; setupForSelfTestsStop(); } - else if ( getTestConfigStatus( TEST_CONFIG_ENABLE_WET_CARTRIDGE_USE ) != TRUE ) + else { -#ifndef _RELEASE_ - if ( SW_CONFIG_DISABLE_VALUE == getSoftwareConfigStatus( SW_CONFIG_DISABLE_AIR_PUMP ) ) - { -#endif - setValvePosition( VDI, VALVE_POSITION_C_CLOSE ); -#ifndef _RELEASE_ - } - else - { - setValvePosition( VDI, VALVE_POSITION_B_OPEN ); - } -#endif + setValvePosition( VDI, VALVE_POSITION_C_CLOSE ); setValvePosition( VDO, VALVE_POSITION_C_CLOSE ); setValvePosition( VBA, VALVE_POSITION_B_OPEN ); setValvePosition( VBV, VALVE_POSITION_C_CLOSE ); setValveAirTrap( STATE_CLOSED ); -#ifndef _RELEASE_ - if ( SW_CONFIG_DISABLE_VALUE == getSoftwareConfigStatus( SW_CONFIG_DISABLE_AIR_PUMP ) ) - { -#endif - setAirPumpState( AIR_PUMP_STATE_ON ); -#ifndef _RELEASE_ - } - else - { - setDialInPumpTargetFlowRate( DIAL_IN_PUMP_PRESSURE_SELF_TEST_FLOW, MOTOR_DIR_FORWARD, PUMP_CONTROL_MODE_OPEN_LOOP ); - } -#endif + setAirPumpState( AIR_PUMP_STATE_ON ); pressureSelfTestVenousTestStartTime = getMSTimerCount(); } @@ -1225,20 +1163,9 @@ F32 venousPressure = getFilteredVenousPressure(); // End the test when reaching target pressure or time out - if ( ( VENOUS_PRESSURE_SELF_TEST_FIRST_PASS_LIMIT_MMHG <= venousPressure ) || ( TRUE == getTestConfigStatus( TEST_CONFIG_ENABLE_WET_CARTRIDGE_USE ) ) ) + if ( VENOUS_PRESSURE_SELF_TEST_FIRST_PASS_LIMIT_MMHG <= venousPressure ) { -#ifndef _RELEASE_ - if ( SW_CONFIG_DISABLE_VALUE == getSoftwareConfigStatus( SW_CONFIG_DISABLE_AIR_PUMP ) ) - { -#endif setAirPumpState( AIR_PUMP_STATE_OFF ); -#ifndef _RELEASE_ - } - else - { - signalDialInPumpHardStop(); - } -#endif state = DRY_SELF_TESTS_PRESSURE_SENSORS_ARTERIAL_SETUP_STATE; } @@ -1275,7 +1202,7 @@ state = DRY_SELF_TESTS_STOPPED_STATE; setupForSelfTestsStop(); } - else if ( getTestConfigStatus( TEST_CONFIG_ENABLE_WET_CARTRIDGE_USE ) != TRUE ) + else { setValvePosition( VDI, VALVE_POSITION_C_CLOSE ); setValvePosition( VDO, VALVE_POSITION_C_CLOSE ); @@ -1306,8 +1233,7 @@ // End the test when reaching target pressure or time out // Test pass when reading positive arterial pressure and negative venous pressure - if ( ( ( ARTERIAL_PRESSURE_SELF_TEST_LOW_LIMIT_MMHG >= arterialPressure ) && ( VENOUS_PRESSURE_SELF_TEST_HIGH_LIMIT_MMHG <= venousPressure ) ) || - ( TRUE == getTestConfigStatus( TEST_CONFIG_ENABLE_WET_CARTRIDGE_USE ) ) ) + if ( ( ARTERIAL_PRESSURE_SELF_TEST_LOW_LIMIT_MMHG >= arterialPressure ) && ( VENOUS_PRESSURE_SELF_TEST_HIGH_LIMIT_MMHG <= venousPressure ) ) { peakVenousPressure = venousPressure; peakArterialPressure = arterialPressure; @@ -1368,9 +1294,8 @@ arterialDecayDiff = fabs( arterialPressure - peakArterialPressure ); venousDecayDiff = fabs( venousPressure - peakVenousPressure ); - if ( ( ( arterialDecayDiff < ARTERIAL_DECAY_PRESSURE_DIFF_TOLERANCE_MMHG ) && - ( venousDecayDiff < VENOUS_DECAY_PRESSURE_DIFF_TOLERANCE_MMHG ) ) || - ( getTestConfigStatus( TEST_CONFIG_ENABLE_WET_CARTRIDGE_USE ) != TRUE ) ) + if ( ( arterialDecayDiff < ARTERIAL_DECAY_PRESSURE_DIFF_TOLERANCE_MMHG ) && + ( venousDecayDiff < VENOUS_DECAY_PRESSURE_DIFF_TOLERANCE_MMHG ) ) { decayedArterialPressure = arterialPressure; decayedVenousPressure = venousPressure; @@ -1412,9 +1337,8 @@ arterialStabilityDiff = fabs( getFilteredArterialPressure() - decayedArterialPressure ); venousStabilityDiff = fabs( getFilteredVenousPressure() - decayedVenousPressure ); - if ( ( ( arterialStabilityDiff < ARTERIAL_STABILITY_PRESSURE_DIFF_TOLERANCE_MMHG ) && - ( venousStabilityDiff < VENOUS_STABILITY_PRESSURE_DIFF_TOLERANCE_MMHG ) ) || - ( getTestConfigStatus( TEST_CONFIG_ENABLE_WET_CARTRIDGE_USE ) != TRUE ) ) + if ( ( arterialStabilityDiff < ARTERIAL_STABILITY_PRESSURE_DIFF_TOLERANCE_MMHG ) && + ( venousStabilityDiff < VENOUS_STABILITY_PRESSURE_DIFF_TOLERANCE_MMHG ) ) { pressureSelfTestNormalizedStartTime = getMSTimerCount(); setValvePosition( VBV, VALVE_POSITION_B_OPEN ); @@ -1451,34 +1375,15 @@ F32 arterialPressureDiff = fabs( getFilteredArterialPressure() - previousNormalArterialPressure ); F32 venousPressureDiff = fabs( getFilteredVenousPressure() - previousNormalVenousPressure ); -#ifndef _RELEASE_ - if ( SW_CONFIG_ENABLE_VALUE == getSoftwareConfigStatus( SW_CONFIG_DISABLE_AIR_PUMP ) ) + // open air trap after time threshold. + if ( TRUE == didTimeout( pressureSelfTestNormalizedStartTime, NORMALIZED_PRESSURE_SELF_TEST_VBT_TIMER ) ) { - // open VDI to Pos A after timer threshold - if ( TRUE == didTimeout( pressureSelfTestNormalizedStartTime, NORMALIZED_PRESSURE_SELF_TEST_VDI_TIMER ) ) - { - setValvePosition( VDI, VALVE_POSITION_A_INSERT_EJECT ); - } - // open air trap after time threshold. - if ( TRUE == didTimeout( pressureSelfTestNormalizedStartTime, NORMALIZED_PRESSURE_SELF_TEST_VBT_TIMERX ) ) - { - setValveAirTrap( STATE_OPEN ); - } + setValveAirTrap( STATE_OPEN ); } - else -#endif - { - // open air trap after time threshold. - if ( TRUE == didTimeout( pressureSelfTestNormalizedStartTime, NORMALIZED_PRESSURE_SELF_TEST_VBT_TIMER ) ) - { - setValveAirTrap( STATE_OPEN ); - } - } // After VBT opened, start looking to see if pressures normalize - if ( ( ( STATE_OPEN == getValveAirTrapStatus() ) && ( arterialPressureDiff <= NORMAL_PRESSURE_DIFF_TOLERANCE_MMHG ) && - ( venousPressureDiff <= NORMAL_PRESSURE_DIFF_TOLERANCE_MMHG ) ) || - ( getTestConfigStatus( TEST_CONFIG_ENABLE_WET_CARTRIDGE_USE ) != TRUE ) ) + if ( ( STATE_OPEN == getValveAirTrapStatus() ) && ( arterialPressureDiff <= NORMAL_PRESSURE_DIFF_TOLERANCE_MMHG ) && + ( venousPressureDiff <= NORMAL_PRESSURE_DIFF_TOLERANCE_MMHG ) ) { dryPressureTestsCompleted = TRUE; state = DRY_SELF_TESTS_SYRINGE_PUMP_PRIME_STATE; @@ -1636,25 +1541,15 @@ selfTestsResumeRequested = FALSE; selfTestCartridgeSettleTime = getMSTimerCount(); -#ifndef _RELEASE_ - if ( SW_CONFIG_ENABLE_VALUE == getSoftwareConfigStatus( SW_CONFIG_DISABLE_DRY_SELF_TESTS ) ) + if ( TRUE == dryPressureTestsCompleted ) { doorClosedRequired( TRUE, TRUE ); state = DRY_SELF_TESTS_SYRINGE_PUMP_PRIME_STATE; } else -#endif - { // if we've completed pressure testing, resume to syringe pump prime state, otherwise go back to start of dry self-tests - if ( TRUE == dryPressureTestsCompleted ) - { - doorClosedRequired( TRUE, TRUE ); - state = DRY_SELF_TESTS_SYRINGE_PUMP_PRIME_STATE; - } - else - { - doorClosedRequired( FALSE, TRUE ); - state = DRY_SELF_TESTS_START_STATE; - } + { + doorClosedRequired( FALSE, TRUE ); + state = DRY_SELF_TESTS_START_STATE; } } Index: firmware/App/Services/AlarmMgmtSWFaults.h =================================================================== diff -u -rc1b9ac0dbf2196280895d2e440dd7ac288ac8424 -ra50b999266616eb3d0661846cd31bb395c8a7e12 --- firmware/App/Services/AlarmMgmtSWFaults.h (.../AlarmMgmtSWFaults.h) (revision c1b9ac0dbf2196280895d2e440dd7ac288ac8424) +++ firmware/App/Services/AlarmMgmtSWFaults.h (.../AlarmMgmtSWFaults.h) (revision a50b999266616eb3d0661846cd31bb395c8a7e12) @@ -175,7 +175,7 @@ SW_FAULT_ID_BLOOD_LEAK_ENQUEUE_FAILURE, SW_FAULT_ID_BLOOD_LEAK_INVALID_EMB_MODE_CMD_SELECTED, // 145 SW_FAULT_ID_INVALID_FPGA_ERROR_GROUP_SELECTED, - SW_FAULT_ID_____AVAILABLE_1, + SW_FAULT_ID_HD_INVALID_TEST_CONFIG_SELECTED, SW_FAULT_ID_HD_AIR_PUMP_INVALID_STATE, SW_FAULT_ID_HD_AIR_PUMP_INVALID_MOTOR_STATE_SELECTED, SW_FAULT_ID_NVDATA_MANAGEMENT_OPS_TIMEOUT, // 150