/************************************************************************** * * Copyright (c) 2024-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) Vinayakam Mani * @date (last) 06-Aug-2024 * * @author (original) Vinayakam Mani * @date (original) 06-Aug-2024 * ***************************************************************************/ #ifndef __MODE_STANDBY_H__ #define __MODE_STANDBY_H__ #include "DDCommon.h" #include "DDDefs.h" /** * @defgroup DDStandbyMode DDStandbyMode * @brief Standby mode module. Manages standby mode functions via a state machine. * * @addtogroup DDStandbyMode * @{ */ // ********** 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 requestDDStart( void ); // HD requests DD start (go to generation idle mode) BOOL signalAbortWaterSampling( void ); // HD signal to abort water sampling. BOOL startDDFlush( void ); // HD start flush mode BOOL startDDHeatDisinfect( void ); // HD start heat disinfect mode BOOL startDDHeatDisinfectActiveCool( void ); DD_STANDBY_MODE_STATE_T getCurrentStandbyState( void ); // get the current state of the standby mode. BOOL startDDChemicalDisinfect( void ); // HD start chemical disinfect mode BOOL startDDChemicalDisinfectFlush( void ); // HD start chemical disinfect flush mode BOOL startDDROPermeateSample( void ); // HD start RO permeate sample BOOL testSetFilterFlushTimePeriodOverride( U32 value ); // set filter flush time period override. BOOL testResetFilterFlushTimePeriodOverride( void ); // reset filter flush time period override. /**@}*/ #endif