Index: firmware/App/Modes/ModeHeatDisinfect.h =================================================================== diff -u -ra7bf3ca23ea37a61000379facae628a31b3ecc59 -r62a4d7b976107f7ac4d5013ce06f38f4a0bf65bd --- firmware/App/Modes/ModeHeatDisinfect.h (.../ModeHeatDisinfect.h) (revision a7bf3ca23ea37a61000379facae628a31b3ecc59) +++ firmware/App/Modes/ModeHeatDisinfect.h (.../ModeHeatDisinfect.h) (revision 62a4d7b976107f7ac4d5013ce06f38f4a0bf65bd) @@ -7,8 +7,8 @@ * * @file ModeHeatDisinfect.h * -* @author (last) Sean Nash -* @date (last) 29-May-2020 +* @author (last) Quang Nguyen +* @date (last) 24-Aug-2020 * * @author (original) Sean * @date (original) 20-Apr-2020 @@ -23,23 +23,51 @@ /** * @defgroup DGHeatDisinfectMode DGHeatDisinfectMode + * * @brief Heat disinfection mode module. Manages the state machine for the - * heat disinfection mode. + * heat disinfect mode. * * @addtogroup DGHeatDisinfectMode * @{ */ // ********** public definitions ********** -// ********** private function prototypes ********** +#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