/************************************************************************** * * Copyright (c) 2025-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 FlushPermeate.h * * @author (last) Sean Nash * @date (last) 12-Sep-2025 * * @author (original) Michael Garthwaite * @date (original) 08-Sep-2025 * ***************************************************************************/ #ifndef __FLUSH_PERMEATE_H__ #define __FLUSH_PERMEATE_H__ #include "DDDefs.h" #include "DDCommon.h" #include "FPDefs.h" /** * @defgroup FPPermeateFlush FPPermeateFlush * @brief Permeate Flush unit. Manages Permeate flush functions via a state machine. * * @addtogroup FPPermeateFlush * @{ */ // ********** public definitions ********** /// Permeate Flush data structure typedef struct { U32 permeateFlushExecState; ///< Permeate Flush execution state } PERM_FLUSH_DATA_T; // ********** public function prototypes ********** void initPermeateFlush( void ); // Initialize this Permeate Flush unit U32 transitionToPermeateFlush( void ); // Transition to Permeate Flush void execPermeateFlush( void ); // Execute the Permeate Flush state machine BOOL isPermeateFlushComplete( void ); // returns if flush is complete void signalStartPermeateFlush( void ); // signal to start flush void resetPermeateFlushSignals( void ); // reset signals for flush FP_PERM_FLUSH_STATE_T getCurrentPermeateFlushState( void ); // Get the current state of the Permeate Flush BOOL testPermeateFlushDataPublishIntervalOverride( MESSAGE_T *message ); BOOL testPermeateFlushTimerOverride( MESSAGE_T *message ); /**@}*/ #endif