/************************************************************************** * * 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 ********** /// Heat disinfect data publish struct typedef struct { U32 heatDisinfectState; ///< Heat disinfect state. U32 overallElapsedTime; ///< Overall elapsed time in heat disinfect mode. U32 stateElapsedTime; ///< Current heat disinfect elapsed time. U32 cancellationMode; ///< Heat disinfect cancellation mode. F32 R1FillLevel; ///< Reservoir 1 level upon starting the heat disinfect. F32 R2FillLevel; ///< Reservoir 2 level upon starting the heat disinfect. U32 heatDisinfectUIState; ///< Heat disinfect UI state. } MODE_HEAT_DISINFECT_DATA_T; /// Heat disinfect UI data publish struct typedef struct { U32 heatDisinfectTargetTime; ///< Target time to heat disinfect. U32 heatDisinfectCountdownTime; ///< Heat disinfect countdown time. } MODE_HEAT_DISINFECT_UI_DATA_T; // ********** 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 BOOL stopDGHeatDisinfect( void ); // Stop DG heat disinfect /**@}*/ #endif