Index: firmware/App/Modes/StatePreTxHeparinSetup.c =================================================================== diff -u -rcfa825a18b02440d9be8b0da68980a669ac42682 -r1233ccac080bb953acde0a9bde41607a7d0ff170 --- firmware/App/Modes/StatePreTxHeparinSetup.c (.../StatePreTxHeparinSetup.c) (revision cfa825a18b02440d9be8b0da68980a669ac42682) +++ firmware/App/Modes/StatePreTxHeparinSetup.c (.../StatePreTxHeparinSetup.c) (revision 1233ccac080bb953acde0a9bde41607a7d0ff170) @@ -202,9 +202,11 @@ BOOL awaitingSyringeLoadConfirmation = FALSE; 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 ) ); + ( ( 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 ) ) ) + ? TRUE + : FALSE; return awaitingSyringeLoadConfirmation; } @@ -242,6 +244,10 @@ // handlePreTxHeparinPreloadState(). break; + case PRE_TX_HEPARIN_SETUP_AWAIT_SYRINGE_LOAD_CONFIRMATION_STATE: + // No additional setup required. + break; + case PRE_TX_HEPARIN_SETUP_SEEK_STATE: seekSyringePlunger(); break; @@ -263,6 +269,9 @@ break; default: + SET_ALARM_WITH_2_U32_DATA( ALARM_ID_TD_SOFTWARE_FAULT, + SW_FAULT_ID_TD_INVALID_PRE_TX_HEPARIN_SETUP_STATE, + currentPreTxHeparinSetupState ); break; } } @@ -536,8 +545,7 @@ // Resume confirms syringe loading and continues to Seek. case PRE_TX_HEPARIN_SETUP_AWAIT_SYRINGE_LOAD_CONFIRMATION_STATE: - setupPreTxHeparinState( PRE_TX_HEPARIN_SETUP_SEEK_STATE ); - state = PRE_TX_HEPARIN_SETUP_SEEK_STATE; + state = PRE_TX_HEPARIN_SETUP_AWAIT_SYRINGE_LOAD_CONFIRMATION_STATE; break; // If interrupted after Seek is complete, resume the prior state.