Index: firmware/App/Modes/ModePreTreat.c =================================================================== diff -u -rcff19e1c44fd570e139a2a3f49b5a05f0193367d -r6295c0642a141af5843d060d09024db0e79d5769 --- firmware/App/Modes/ModePreTreat.c (.../ModePreTreat.c) (revision cff19e1c44fd570e139a2a3f49b5a05f0193367d) +++ firmware/App/Modes/ModePreTreat.c (.../ModePreTreat.c) (revision 6295c0642a141af5843d060d09024db0e79d5769) @@ -42,6 +42,8 @@ static BOOL goToInstallStateRequested; ///< Flag indicating a request to transition to Install state. static BOOL continueFromRecirculateRequested; ///< Flag indicating a request to transition to Patient Connection state. +static BOOL resumePreTxAlarmResponseRequest; ///< Flag indicates user has requested PreTx resume. + // ********** private function prototypes ********** static void setPreTreatStateTransition( void ); ///< Configure actuators and variables for Pre-Treatment state transitions. @@ -120,11 +122,11 @@ break; case TD_PRE_TREATMENT_SELF_TEST_DRY_STATE: - // currentPreTreatmentState = handleSelfTestDryState(); + currentPreTreatmentState = handleSelfTestDryState(); break; case TD_PRE_TREATMENT_PRIME_STATE: - // currentPreTreatmentState = handlePrimeState(); + currentPreTreatmentState = handlePrimeState(); break; case TD_PRE_TREATMENT_CONFIRM_RX_STATE: @@ -244,8 +246,7 @@ state = TD_PRE_TREATMENT_TUBING_SET_INSTALL_STATE; } - // TODO: Transition to Prime state on completion when implemented - // state = TD_PRE_TREATMENT_PRIME_STATE; + state = TD_PRE_TREATMENT_PRIME_STATE; return state; } @@ -254,17 +255,21 @@ * @brief * The handlePrimeState function executes the Prime state of * pre-treatment mode. - * @details \b Inputs: TODO fill up if any - * @details \b Outputs: TODO fill up if any + * @details \b Inputs: none + * @details \b Outputs: none * @return next Pre-Treatment mode state. *************************************************************************/ static TD_PRE_TREATMENT_MODE_STATE_T handlePrimeState( void ) { TD_PRE_TREATMENT_MODE_STATE_T state = TD_PRE_TREATMENT_PRIME_STATE; - // TODO: Transition to Recirculate state on completion when implemented - // state = TD_PRE_TREATMENT_RECIRCULATE_STATE; + execPrime(); + if ( PRIME_COMPLETE_STATE == getCurrentPrimeState() ) + { + state = TD_PRE_TREATMENT_RECIRCULATE_STATE; + } + return state; } @@ -402,6 +407,7 @@ break; case ALARM_ACTION_RESUME: + resumePreTxAlarmResponseRequest = TRUE; if ( TD_PRE_TREATMENT_RECIRCULATE_STATE == currentPreTreatmentState ) { signalResumePreTxRecirculate(); @@ -414,4 +420,16 @@ } } +/*********************************************************************//** + * @brief + * The signalPreTxResumeRequest function signals that user wants to resume. + * @details \b Inputs: resumePreTxAlarmResponseRequest + * @details \b Outputs: none + * @return TRUE if resume has been requested, FALSE if not + *************************************************************************/ +BOOL signalPreTxResumeRequest( void ) +{ + return resumePreTxAlarmResponseRequest; +} + /**@}*/