/************************************************************************** * * 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 ModeHeatDisinfect.h * * @author (last) Quang Nguyen * @date (last) 24-Aug-2020 * * @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 ********** #pragma pack(push,1) /// Heat disinfect data typedef struct { U32 internalState; ///< Internal state of heat disinfect state machine F32 elapsedTimeMins; ///< Heat disinfect elapsed time in minutes U32 currentCycle; ///< Current cycle of the heat disinfect } DG_HEAT_DISINFECT_DATA_T; #pragma pack(pop) // ********** public function prototypes ********** void initHeatDisinfectMode( void ); // initialize this module void transitionToHeatDisinfectMode( void ); // prepares for transition to heat disinfect mode 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. void stopDGHeatDisinfect( void ); BOOL testSetHeatDisinfectDataPublishIntervalOverride( U32 value ); BOOL testResetHeatDisinfectDataPublishIntervalOverride( void ); BOOL testSetHeatDisinfectRecircDurationOverride( F32 recircMins ); BOOL testResetHeatDisinfectRecircDurationOverride( void ); BOOL testSetHeatDisinfectR1ToR2DurationOverride( F32 R1ToR2Mins ); BOOL testResetHeatDisinfectR1ToR2DurationOverride( void ); BOOL testSetHeatDisinfectionR2ToR1DurationOverride( F32 R2ToR1Mins ); BOOL testResetHeatDisinfectionR2ToR1DurationOverride( void ); BOOL testSetHeatDisinfectNoOfCyclesOverride( U32 cycles ); BOOL testResetHeatDisinfectNoOfCyclesOverride( void ); /**@}*/ #endif