Index: firmware/App/Modes/ModeHeatDisinfectActiveCool.h =================================================================== diff -u -r6499ea25921fcf67826fa0c35bb03caf411ba542 -rd731f3fda9d25e0d63100f648510e9c8cdd21f89 --- firmware/App/Modes/ModeHeatDisinfectActiveCool.h (.../ModeHeatDisinfectActiveCool.h) (revision 6499ea25921fcf67826fa0c35bb03caf411ba542) +++ firmware/App/Modes/ModeHeatDisinfectActiveCool.h (.../ModeHeatDisinfectActiveCool.h) (revision d731f3fda9d25e0d63100f648510e9c8cdd21f89) @@ -32,15 +32,34 @@ // ********** public definitions ********** +#define RSRVRS_FULL_STABLE_TIME_COUNT ( ( 4 * MS_PER_SECOND ) / TASK_GENERAL_INTERVAL ) ///< Reservoirs 1 & 2 full stable time in counts. + /// Heat disinfect active cool data publish struct typedef struct { - U32 heatDisinfectActivCoolState; ///< Heat disinfect active cool state. - U32 overallElapsedTime; ///< Overall elapsed time in heat disinfect active cool mode. - U32 stateElapsedTime; ///< Current heat disinfect active cool elapsed time. - U32 cancellationMode; ///< Heat disinfect active cool cancellation mode. + U32 heatDisinfectActivCoolState; ///< Heat disinfect active cool state. + U32 overallElapsedTime; ///< Overall elapsed time in heat disinfect active cool mode. + U32 stateElapsedTime; ///< Current heat disinfect active cool elapsed time. + U32 cancellationMode; ///< Heat disinfect active cool cancellation mode. } MODE_HEAT_DISINFECT_ACTIVE_COOL_DATA_T; +/// Disinfect reservoir structure +typedef struct +{ + LOAD_CELL_ID_T loadCell; ///< Load cell ID. + BOOL drainInit; ///< Boolean flag to indicate drain has been initialized. + DG_RESERVOIR_STATUS_T rStatus; ///< Disinfect reservoir status. +} DIS_MODE_RSRVR_T; + +/// Disinfect reservoir status structure +typedef struct +{ + DIS_MODE_RSRVR_T rsrvr[ NUM_OF_DG_RESERVOIRS ]; ///< Disinfect mode reservoir status array. + U32 rsrvrFillStableTime; ///< Reservoir fill stable status time counter. + U32 rsrvrFillStableTimeoutMS; ///< Reservoir fill stable time out in milliseconds. + BOOL isThisInitialDrain; ///< Boolean flag to indicate whether this is the initial drain or not. +} DIS_RSRVR_STATUS_T; + // ********** public function prototypes ********** void initHeatDisinfectActiveCoolMode( void ); // Initialize this module @@ -51,6 +70,10 @@ BOOL stopDGHeatDisinfectActiveCool( void ); // Stop DG heat disinfect +// Public functions for fill and drain. These functions should be used for filling and draining in other disinfect modes in the future +DG_RESERVOIR_STATUS_T getDisinfectRsrvrFillStatus( DG_RESERVOIR_ID_T rsrvrID, DIS_RSRVR_STATUS_T *rsrvrStatus, F32 targetVolML, U32 fillTimeoutMS, U32 stateTimerMS ); +DG_RESERVOIR_STATUS_T getDisinfectRsrvrDrainStatus( DG_RESERVOIR_ID_T rsrvrID, DIS_RSRVR_STATUS_T *rsrvrStatus, U32 drainSteadyTimeoutMS, U32 drainStateTimeoutMS, U32 stateTimerMS ); + /**@}*/ #endif