/************************************************************************** * * 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 ModePreGenPermeate.h * * @author (last) Michael Garthwaite * @date (last) 03-Mar-2025 * * @author (original) Michael Garthwaite * @date (original) 03-Mar-2025 * ***************************************************************************/ #ifndef __MODE_PRE_GENP_H__ #define __MODE_PRE_GENP_H__ #include "DDDefs.h" #include "DDCommon.h" #include "FPDefs.h" /** * @defgroup FPPreGenPermeateMode FPPreGenPermeateMode * @brief Pre Generate Permeate unit. Manages pre checks for permeate generation functions via a state machine. * * @addtogroup FPPreGenPermeateMode * @{ */ // ********** public definitions ********** /// Pre Generate water mode data structure typedef struct { U32 preGenPExecState; ///< Pre Generate Permeate execution state } PRE_GENP_MODE_DATA_T; // ********** public function prototypes ********** void initPreGenPMode( void ); // Initialize this pre gen Permeate mode unit U32 transitionToPreGenPMode( void ); // Transition to pre gen Permeate mode U32 execPreGenPMode( void ); // Execute the pre gen Permeate mode state machine (call from OperationModes) BOOL requestPreGenStart( void ); BOOL requestPreGenStop( void ); BOOL getPreGenRequest( void ); FP_PRE_GENP_MODE_STATE_T getCurrentPreGenPState( void ); // Get the current state of the pre gen Permeate mode BOOL testPreGenDataPublishIntervalOverride( MESSAGE_T *message ); /**@}*/ #endif