/************************************************************************** * * Copyright (c) 2019-2024 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 ModeStandby.h * * @author (last) Dara Navaei * @date (last) 23-Jul-2024 * * @author (original) Dara Navaei * @date (original) 05-Nov-2019 * ***************************************************************************/ #ifndef __MODE_STANDBY_H__ #define __MODE_STANDBY_H__ #include "DGCommon.h" #include "DGDefs.h" /** * @defgroup DGStandbyMode DGStandbyMode * @brief Standby mode module. Manages standby mode functions via a state machine. * * @addtogroup DGStandbyMode * @{ */ // ********** public definitions ********** /// Standby mode data structure typedef struct { U32 timeout; ///< Timeout. U32 countdown; ///< Count down. } STANDBY_MODE_DATA_T; // ********** public function prototypes ********** void initStandbyMode( void ); // initialize this module U32 transitionToStandbyMode( void ); // prepares for transition to standby mode U32 execStandbyMode( void ); // execute the standby mode state machine (call from OperationModes) void waterSampleCommandHandler( SAMPLE_WATER_CMD_T sampleWaterCmd ); // handle water sample command BOOL requestDGStart( void ); // HD requests DG start (go to generation idle mode) BOOL signalAbortWaterSampling( void ); // HD signal to abort water sampling. BOOL startDGFlush( void ); // HD start flush mode BOOL startDGHeatDisinfect( BOOL isPassive ); // HD start heat disinfect mode BOOL startDGHeatDisinfectActiveCool( void ); DG_STANDBY_MODE_STATE_T getCurrentStandbyState( void ); // get the current state of the standby mode. BOOL startDGChemicalDisinfect( void ); // HD start chemical disinfect mode BOOL startDGChemicalDisinfectFlush( void ); // HD start chemical disinfect flush mode BOOL startDGROPermeateSample( void ); // HD start RO permeate sample void signalDGInstituionalValuesReceived( void ); BOOL testSetFilterFlushTimePeriodOverride( U32 value ); // set filter flush time period override. BOOL testResetFilterFlushTimePeriodOverride( void ); // reset filter flush time period override. /**@}*/ #endif