Index: firmware/App/Modes/StatePreTxHeparinSetup.c =================================================================== diff -u -r18c3483e0b479ef408885b5edb71f2ccd118a6bb -rcfa825a18b02440d9be8b0da68980a669ac42682 --- firmware/App/Modes/StatePreTxHeparinSetup.c (.../StatePreTxHeparinSetup.c) (revision 18c3483e0b479ef408885b5edb71f2ccd118a6bb) +++ firmware/App/Modes/StatePreTxHeparinSetup.c (.../StatePreTxHeparinSetup.c) (revision cfa825a18b02440d9be8b0da68980a669ac42682) @@ -49,7 +49,6 @@ static PRE_TX_HEPARIN_SETUP_STATE_T interruptedPreTxHeparinSetupState; ///< Pre-treatment heparin setup substate interrupted by a recoverable alarm. static BOOL heparinSetupResumeRequested; ///< Flag indicates alarm requesting to resume pre-treatment heparin setup. -static BOOL syringeLoadConfirmed; ///< Flag indicates user confirmed syringe load. static BOOL syringeRetractStarted; ///< Flag indicating syringe retract has been initiated. static BOOL syringePreloadStarted; ///< Flag indicating syringe preload has been initiated. @@ -73,8 +72,7 @@ * @details \b Inputs: none. * @details \b Outputs: currentPreTxHeparinSetupState, * interruptedPreTxHeparinSetupState, syringeRetractStarted, - * syringePreloadStarted, heparinSetupResumeRequested, and - * syringeLoadConfirmed. + * syringePreloadStarted, heparinSetupResumeRequested, * @return none. *************************************************************************/ void initPreTxHeparinSetup( void ) @@ -84,7 +82,6 @@ syringeRetractStarted = FALSE; syringePreloadStarted = FALSE; heparinSetupResumeRequested = FALSE; - syringeLoadConfirmed = FALSE; resetPreTxHeparinSetupFlags(); } @@ -111,8 +108,7 @@ * pre-treatment heparin setup state is invalid. * @details \b Inputs: currentPreTxHeparinSetupState. * @details \b Outputs: currentPreTxHeparinSetupState, current substate, - * TD_EVENT_SUB_STATE_CHANGE event, heparinSetupResumeRequested, and - * syringeLoadConfirmed. + * TD_EVENT_SUB_STATE_CHANGE event, heparinSetupResumeRequested, * @return none. *************************************************************************/ void execPreTxHeparinSetup( void ) @@ -203,35 +199,27 @@ *************************************************************************/ BOOL isPreTxHeparinAwaitingSyringeLoadConfirmation( void ) { - return ( PRE_TX_HEPARIN_SETUP_AWAIT_SYRINGE_LOAD_CONFIRMATION_STATE == currentPreTxHeparinSetupState ) ? TRUE : FALSE; -} + BOOL awaitingSyringeLoadConfirmation = FALSE; -/*********************************************************************//** - * @brief - * The signalPreTxHeparinSyringeLoadConfirmed function signals that the - * user confirmed syringe load. - * @details \b Inputs: none. - * @details \b Outputs: syringeLoadConfirmed. - * @return none. - *************************************************************************/ -void signalPreTxHeparinSyringeLoadConfirmed( void ) -{ - syringeLoadConfirmed = TRUE; + awaitingSyringeLoadConfirmation = + ( PRE_TX_HEPARIN_SETUP_AWAIT_SYRINGE_LOAD_CONFIRMATION_STATE == currentPreTxHeparinSetupState ) || + ( ( PRE_TX_HEPARIN_SETUP_PAUSED_STATE == currentPreTxHeparinSetupState ) && + ( PRE_TX_HEPARIN_SETUP_AWAIT_SYRINGE_LOAD_CONFIRMATION_STATE == interruptedPreTxHeparinSetupState ) ); + + return awaitingSyringeLoadConfirmation; } /*********************************************************************//** * @brief * The resetPreTxHeparinSetupFlags function resets all signal flags used by * the pre-treatment heparin setup state machine. * @details \b Inputs: none. - * @details \b Outputs: heparinSetupResumeRequested and - * syringeLoadConfirmed. + * @details \b Outputs: heparinSetupResumeRequested * @return none. *************************************************************************/ static void resetPreTxHeparinSetupFlags( void ) { heparinSetupResumeRequested = FALSE; - syringeLoadConfirmed = FALSE; } /*********************************************************************//** @@ -305,7 +293,6 @@ } else if ( TRUE == isSyringePumpPreLoaded() ) { - setAlarmUserActionEnabled( ALARM_USER_ACTION_RESUME, TRUE ); activateAlarmNoData( ALARM_ID_TD_PRE_TX_HEPARIN_LOAD_SYRINGE ); state = PRE_TX_HEPARIN_SETUP_AWAIT_SYRINGE_LOAD_CONFIRMATION_STATE; } @@ -337,7 +324,7 @@ * @brief * The handlePreTxHeparinAwaitSyringeLoadConfirmationState function handles * the await syringe load confirmation state. - * @details \b Inputs: syringeLoadConfirmed and alarm stop status. + * @details \b Inputs: alarm stop status. * @details \b Outputs: interruptedPreTxHeparinSetupState and syringe * pump operating state. * @return Current or next pre-treatment heparin setup state. @@ -352,7 +339,7 @@ setupPreTxHeparinState( PRE_TX_HEPARIN_SETUP_PAUSED_STATE ); state = PRE_TX_HEPARIN_SETUP_PAUSED_STATE; } - else if ( TRUE == syringeLoadConfirmed ) + else if ( TRUE == heparinSetupResumeRequested ) { setupPreTxHeparinState( PRE_TX_HEPARIN_SETUP_SEEK_STATE ); state = PRE_TX_HEPARIN_SETUP_SEEK_STATE; @@ -549,7 +536,6 @@ // Resume confirms syringe loading and continues to Seek. case PRE_TX_HEPARIN_SETUP_AWAIT_SYRINGE_LOAD_CONFIRMATION_STATE: - setAlarmUserActionEnabled( ALARM_USER_ACTION_RESUME, FALSE ); setupPreTxHeparinState( PRE_TX_HEPARIN_SETUP_SEEK_STATE ); state = PRE_TX_HEPARIN_SETUP_SEEK_STATE; break;