/************************************************************************** * * Copyright (c) 2019-2020 Diality Inc. - All Rights Reserved. * * THIS CODE MAY NOT BE COPIED OR REPRODUCED IN ANY FORM, IN PART OR IN * WHOLE, WITHOUT THE EXPLICIT PERMISSION OF THE COPYRIGHT OWNER. * * @file ModePreTreat.c * * @author (last) Sean Nash * @date (last) 06-Oct-2020 * * @author (original) Dara Navaei * @date (original) 05-Nov-2019 * ***************************************************************************/ #include "AirTrap.h" #include "AlarmLamp.h" #include "BloodFlow.h" #include "DialInFlow.h" #include "DialOutFlow.h" #include "Buttons.h" #include "OperationModes.h" #include "SystemCommMessages.h" #include "ModePreTreat.h" #include "SystemCommMessages.h" /** * @addtogroup HDPreTreatmentMode * @{ */ // ********** private data ********** static BOOL treatStartReqReceived = FALSE; ///< Flag indicates user requests treatment begin. // ********** private function prototypes ********** /*********************************************************************//** * @brief * The initPreTreatmentMode function initializes the Pre-Treatment Mode module. * @details Inputs: none * @details Outputs: Pre-Treatment Mode module initialized. * @return none *************************************************************************/ void initPreTreatmentMode( void ) { } /*********************************************************************//** * @brief * The transitionToPreTreatmentMode function prepares for transition to * pre-treatment mode. * @details Inputs: none * @details Outputs: none * @return none *************************************************************************/ void transitionToPreTreatmentMode( void ) { treatStartReqReceived = FALSE; // Set user alarm recovery actions allowed in this mode setAlarmUserActionEnabled( ALARM_USER_ACTION_RESUME, TRUE ); setAlarmUserActionEnabled( ALARM_USER_ACTION_RINSEBACK, FALSE ); setAlarmUserActionEnabled( ALARM_USER_ACTION_END_TREATMENT, TRUE ); } /*********************************************************************//** * @brief * The execPreTreatmentMode function executes the Pre-Treatment Mode state machine. * @details Inputs: none * @details Outputs: none * @return current state (sub-mode) *************************************************************************/ U32 execPreTreatmentMode( void ) { BOOL stop = isStopButtonPressed(); if ( TRUE == treatStartReqReceived ) { requestNewOperationMode( MODE_TREA ); } return 0; // TODO - return current state } /*********************************************************************//** * @brief * The signalUserBeginningTreatment function handles user start of a * treatment. * @details Inputs: none * @details Outputs: requested mode transition to treatment mode * @return TRUE if signal accepted, FALSE if not *************************************************************************/ BOOL signalUserBeginningTreatment( void ) { BOOL result = FALSE; if ( MODE_PRET == getCurrentOperationMode() ) { treatStartReqReceived = TRUE; result = TRUE; } sendTreatmentStartResponseMsg( result, 0 ); // TODO - provide reason code if rejected return result; } /*********************************************************************//** * @brief * The signalAlarmActionToPreTreatmentMode function executes the given alarm action * as appropriate while in PreTreatment Mode. * @details Inputs: none * @details Outputs: given alarm action executed * @param action ID of alarm action to execute * @return none *************************************************************************/ void signalAlarmActionToPreTreatmentMode( ALARM_ACTION_T action ) { // TODO - implement } /**@}*/