Index: firmware/App/Modes/ModeStandby.h =================================================================== diff -u -rb64c49fdcf2b6d95e61e63f8e258c4e600935bbd -re6c60e07b450ec8d58e87bf13d45f96efab54d8b --- firmware/App/Modes/ModeStandby.h (.../ModeStandby.h) (revision b64c49fdcf2b6d95e61e63f8e258c4e600935bbd) +++ firmware/App/Modes/ModeStandby.h (.../ModeStandby.h) (revision e6c60e07b450ec8d58e87bf13d45f96efab54d8b) @@ -1,28 +1,66 @@ /************************************************************************** - * - * 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 ModeStandby.h - * - * @date 11-Dec-2019 - * @author L. Baloa - * - * @brief Header file for Standby Mode. - * - **************************************************************************/ +* +* 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" -// ********** private function prototypes ********** +/** + * @defgroup DGStandbyMode DGStandbyMode + * @brief Standby mode module. Manages standby mode functions via a state machine. + * + * @addtogroup DGStandbyMode + * @{ + */ -void initStandbyMode( void ); // initialize this module -void transitionToStandbyMode( void ); // prepares for transition to standby mode -void execStandbyMode( void ); // execute the standby mode state machine (call from OperationModes) +// ********** 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 + +BOOL testSetFilterFlushTimePeriodOverride( U32 value ); // set filter flush time period override. +BOOL testResetFilterFlushTimePeriodOverride( void ); // reset filter flush time period override. + +/**@}*/ + #endif