Index: firmware/App/Modes/ModePreTreat.c =================================================================== diff -u -r83310420ae862de4724f8cfbbaeda9936c47801b -ree84e20f729b0aace2b1728c16de9a89e06eee38 --- firmware/App/Modes/ModePreTreat.c (.../ModePreTreat.c) (revision 83310420ae862de4724f8cfbbaeda9936c47801b) +++ firmware/App/Modes/ModePreTreat.c (.../ModePreTreat.c) (revision ee84e20f729b0aace2b1728c16de9a89e06eee38) @@ -41,6 +41,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. @@ -119,11 +121,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: @@ -243,8 +245,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; } @@ -253,17 +254,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; } @@ -401,6 +406,7 @@ break; case ALARM_ACTION_RESUME: + resumePreTxAlarmResponseRequest = TRUE; if ( TD_PRE_TREATMENT_RECIRCULATE_STATE == currentPreTreatmentState ) { signalResumePreTxRecirculate(); @@ -413,4 +419,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; +} + /**@}*/