Index: firmware/App/Modes/ModePreTreat.c =================================================================== diff -u -r068f4f4de69017a1d9d24c6c67bf7d3e46b8caed -rb1f086e7cd292d5a97a7265075400274d60d4fbf --- firmware/App/Modes/ModePreTreat.c (.../ModePreTreat.c) (revision 068f4f4de69017a1d9d24c6c67bf7d3e46b8caed) +++ firmware/App/Modes/ModePreTreat.c (.../ModePreTreat.c) (revision b1f086e7cd292d5a97a7265075400274d60d4fbf) @@ -179,6 +179,8 @@ setAlarmUserActionEnabled( ALARM_USER_ACTION_RINSEBACK, FALSE ); setAlarmUserActionEnabled( ALARM_USER_ACTION_END_TREATMENT, TRUE ); + doorClosedRequired( FALSE, FALSE ); + return currentPreTreatmentState; } @@ -262,46 +264,6 @@ /*********************************************************************//** * @brief - * The verifySwitchStatus function checks Pump Track and Door switches are closed. - * Verify Syringe is installed if needed. - * Alarm is set if not. Alarms cleared by driver executives. - * @details Inputs: none - * @details Outputs: Alarm - * @return none - *************************************************************************/ -void verifySwitchStatus( void ) -{ - F32 bolusVol = getTreatmentParameterF32( TREATMENT_PARAM_HEPARIN_BOLUS_VOLUME ); - F32 hepRate = getTreatmentParameterF32( TREATMENT_PARAM_HEPARIN_DISPENSE_RATE ); - -#ifndef _RELEASE_ - if ( getSoftwareConfigStatus( SW_CONFIG_DISABLE_SWITCHES_MONITOR ) != SW_CONFIG_ENABLE_VALUE ) -#endif - { - if ( STATE_OPEN == getSwitchStatus( FRONT_DOOR ) ) - { - activateAlarmNoData( ALARM_ID_CARTRIDGE_DOOR_OPENED ); - } - - if ( STATE_OPEN == getSwitchStatus( PUMP_TRACK_SWITCH ) ) - { - activateAlarmNoData( ALARM_ID_PUMP_TRACK_LATCH_OPENED ); - } - } - -#ifndef _RELEASE_ - if ( getSoftwareConfigStatus( SW_CONFIG_DISABLE_SYRINGE_PUMP_ALARMS ) != SW_CONFIG_ENABLE_VALUE ) -#endif - { - if ( ( FALSE == isSyringeDetected() ) && ( ( bolusVol > NEARLY_ZERO ) && ( hepRate > NEARLY_ZERO ) ) ) - { - activateAlarmNoData( ALARM_ID_HD_SYRINGE_PUMP_SYRINGE_REMOVED ); - } - } -} - -/*********************************************************************//** - * @brief * The signalUserConfirmInstallation function handles user confirmation of * disposable installation. * @details Inputs: none @@ -325,14 +287,6 @@ OPN_CLS_STATE_T frontDoor = getSwitchStatus( FRONT_DOOR ); OPN_CLS_STATE_T pumpTrack = getSwitchStatus( PUMP_TRACK_SWITCH ); -#ifndef _RELEASE_ - if ( SW_CONFIG_ENABLE_VALUE == getSoftwareConfigStatus( SW_CONFIG_DISABLE_SWITCHES_MONITOR ) ) - { - frontDoor = STATE_CLOSED; - pumpTrack = STATE_CLOSED; - } -#endif - if ( STATE_CLOSED == pumpTrack ) { if ( STATE_CLOSED == frontDoor ) @@ -342,6 +296,10 @@ // Everything is properly installed accepted = TRUE; confirmInstallRequested = TRUE; + if ( ( bolusVol > NEARLY_ZERO ) || ( hepRate > NEARLY_ZERO ) ) + { + syringeDetectionRequired( TRUE ); + } } else { @@ -599,6 +557,8 @@ { VALVE_T valve; + doorClosedRequired( FALSE, FALSE ); + // Set valves for ( valve = VDI; valve < NUM_OF_VALVES; ++valve ) { @@ -628,6 +588,8 @@ patientConnectionConfirm = FALSE; treatmentStartRequested = FALSE; + doorClosedRequired( FALSE, FALSE ); + for ( valve = VDI; valve < NUM_OF_VALVES; ++valve ) { setValvePosition( valve, VALVE_POSITION_C_CLOSE ); @@ -739,14 +701,6 @@ transitionToCartridgeInstallation(); } } - else - { - if ( ( NO_CART_SELF_TESTS_WAIT_FOR_DOOR_CLOSE_STATE <= getNoCartSelfTestsState() ) && - ( NO_CART_SELF_TESTS_STOPPED_STATE != getNoCartSelfTestsState() ) ) - { - verifySwitchStatus(); - } - } return state; } @@ -808,14 +762,6 @@ transitionToPrime(); } } - else - { - if ( ( DRY_SELF_TESTS_WAIT_FOR_DOOR_CLOSE_STATE <= getDrySelfTestsState() ) && - ( DRY_SELF_TESTS_STOPPED_STATE != getDrySelfTestsState() ) ) - { - verifySwitchStatus(); - } - } return state; } @@ -850,13 +796,6 @@ transitionToPreTreatmentRecirc(); } } - else - { - if ( ( HD_PRIME_PAUSE != getPrimeState() ) ) - { - verifySwitchStatus(); - } - } return state; } @@ -881,11 +820,6 @@ execPreTreatmentRecirc(); - if ( PRE_TREATMENT_RECIRC_STOPPED_STATE != getPreTreatmentRecircState() ) - { - verifySwitchStatus(); - } - #ifndef _RELEASE_ if ( SW_CONFIG_ENABLE_VALUE == getSoftwareConfigStatus( SW_CONFIG_DISABLE_UI_INTERACTION ) ) {