/************************************************************************** * * Copyright (c) 2020-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 ModeHeatDisinfect.h * * @author (last) Dara Navaei * @date (last) 31-Aug-2023 * * @author (original) Sean * @date (original) 20-Apr-2020 * ***************************************************************************/ #ifndef __MODE_HEAT_DISINFECT_H__ #define __MODE_HEAT_DISINFECT_H__ #include "DGCommon.h" #include "DGDefs.h" /** * @defgroup DGHeatDisinfectMode DGHeatDisinfectMode * @brief Heat disinfection mode module. Manages the state machine for the heat disinfect mode. * * @addtogroup DGHeatDisinfectMode * @{ */ // ********** public definitions ********** /// Heat disinfect UI data publish struct typedef struct { U32 heatDisinfectTargetTime; ///< Target time to heat disinfect. U32 ro77CountdownTimeS; ///< Heat disinfect RO 77 count down time in seconds. U32 ro82CountdownTimeS; ///< Heat disinfect RO 82 count down time in seconds. U32 r77CountdownTimeS; ///< Heat disinfect reservoir 77 count down time in seconds. U32 r82CountdownTimeS; ///< Heat disinfect reservoir 82 count down time in seconds. } MODE_HEAT_DISINFECT_UI_DATA_T; // ********** public function prototypes ********** void initHeatDisinfectMode( void ); // Initialize this module U32 transitionToHeatDisinfectMode( void ); // Prepares for transition to heat disinfect mode BOOL isHeatDisinfectInTransitionHotWater( void ); U32 execHeatDisinfectMode( void ); // Execute the heat disinfect mode state machine (call from OperationModes) DG_HEAT_DISINFECT_STATE_T getCurrentHeatDisinfectState( void ); // get the current state of the heat disinfect mode BOOL stopDGHeatDisinfect( void ); // Stop DG heat disinfect void setActiveOrPassiveHeatDisinfectStatus( BOOL isPassive ); BOOL testSetDG77CStateTimerOverride( U32 timer ); // set override timer for disinfection at 77C BOOL testResetDG77CStateTimerOverride( void ); // reset override timer for disinfection at 77C BOOL testSetDG82CStateTimerOverride( U32 timer ); // set override timer for disinfection at 82C BOOL testResetDG82CStateTimerOverride( void ); // reset override timer for disinfection at 77C #ifndef _RELEASE_ void setHeatNelsonSupportMode( NELSON_SUPPORT_T support ); #endif /**@}*/ #endif