/************************************************************************** * * 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 ModeChemicalDisinfect.h * * @author (last) Quang Nguyen * @date (last) 24-Aug-2020 * * @author (original) Sean * @date (original) 04-Apr-2020 * ***************************************************************************/ #ifndef __MODE_CHEMICAL_DISINFECT_H__ #define __MODE_CHEMICAL_DISINFECT_H__ #include "DGCommon.h" #include "DGDefs.h" /** * @defgroup DGChemicalDisinfectMode DGChemicalDisinfectMode * @brief Chemical disinfect mode module. Manages chemical disinfect mode functions via a state machine. * * @addtogroup DGChemicalDisinfectMode * @{ */ // ********** public definitions ********** /// Chemical disinfect data typedef struct { U32 chemDisinfectState; ///< Chemical disinfect state. U32 overallElapsedTime; ///< Overall elapsed time in chemical disinfect mode. U32 stateElapsedTime; ///< Current chemical disinfect elapsed time. U32 chemDisinfectElapsedTime; ///< Elapsed time in just chemical disinfecting. U32 cancellationMode; ///< Chemical disinfect cancellation mode. F32 R1FillLevel; ///< Reservoir 1 level upon starting the chemical disinfect. F32 R2FillLevel; ///< Reservoir 2 level upon starting the chemical disinfect. U32 postDisinfectTargetRinseCount; ///< Target post disinfect rinse count. U32 postDisinfectCurrentRinseCount; ///< Current post disinfect rinse count. }MODE_CHEMICAL_DISINFECT_DATA_T; // ********** public function prototypes ********** void initChemicalDisinfectMode( void ); // initialize this module void transitionToChemicalDisinfectMode( void ); // prepares for transition to chemical disinfection mode U32 execChemicalDisinfectMode( void ); // execute the chemical disinfection mode state machine (call from OperationModes) DG_CHEM_DISINFECT_STATE_T getCurrentChemicalDisinfectState( void ); // get the current state of the chemical disinfection mode. BOOL stopChemicalDisinfect( void ); /**@}*/ #endif