/**********************************************************************//** * * 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 ModeRecirculate.h * * @date 03-Apr-2020 * @author S. Nash * * @brief Header file for Recirculate Mode. * **************************************************************************/ #ifndef __MODE_RECIRCULATION_H__ #define __MODE_RECIRCULATION_H__ #include "DGCommon.h" /** * @defgroup RecirculateMode RecirculateMode * @brief Re-circulate mode module. * Manages re-circulate mode functions via a state machine. * * @addtogroup RecirculateMode * @{ */ // ********** public definitions ********** /// Enumeration of re-circulation mode states. typedef enum Recirculate_Mode_States { RECIRCULATE_MODE_STATE_START = 0, ///< Start re-circulation mode state. RECIRCULATE_MODE_STATE_FLUSH_LINES, ///< Flush lines state. RECIRCULATE_MODE_STATE_RECIRC_WATER, ///< Re-circulate water state. RECIRCULATE_MODE_STATE_PAUSE, ///< Pause state (pumps, heaters, lamps off). NUM_OF_RECIRCULATE_MODE_STATES ///< Number of fill mode states. } RECIRCULATE_MODE_STATE_T; // ********** private function prototypes ********** void initRecirculateMode( void ); // initialize this module void transitionToRecirculateMode( void ); // prepares for transition to Recirculate mode void execRecirculateMode( void ); // execute the Recirculate mode state machine (call from OperationModes) BOOL requestDGStop( void ); // HD requests DG stop (go back to standby mode) RECIRCULATE_MODE_STATE_T getRecirculateModeState( void ); // get the current state of re-circulate mode /**@}*/ #endif