/************************************************************************** * * Copyright (c) 2024-2025 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 ModeWaterGen.h * * @author (last) Michael Garthwaite * @date (last) 03-Mar-2025 * * @author (original) Michael Garthwaite * @date (original) 03-Mar-2025 * ***************************************************************************/ #ifndef __MODE_WATER_GEN_H__ #define __MODE_WATER_GEN_H__ #include "FPCommon.h" #include "RODefs.h" /** * @defgroup FPGenWaterMode FPGenWaterMode * @brief Generate Water unit. Manages water generation functions via a state machine. * * @addtogroup FPGenWaterMode * @{ */ // ********** public definitions ********** /// Generate water mode data structure typedef struct { U32 genWaterExecState; ///< Generate Water execution state F32 setFlowRate; ///< Water flow rate requested by the DD. } GEN_WATER_MODE_DATA_T; // ********** public function prototypes ********** void initGenWaterMode( void ); // Initialize this gen water mode unit U32 transitionToGenWaterMode( void ); // Transition to gen water mode U32 execGenWaterMode( void ); // Execute the gen water mode state machine (call from OperationModes) void execGenWaterMonitor( void ); // Water generation monitor BOOL requestGenWaterStart( void ); BOOL requestGenWaterStop( void ); RO_GENW_MODE_STATE_T getCurrentGenWaterState( void ); // Get the current state of the gen water mode /**@}*/ #endif