/************************************************************************** * * 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 FlushConcentrate.h * * @author (last) Michael Garthwaite * @date (last) 03-Mar-2025 * * @author (original) Michael Garthwaite * @date (original) 03-Mar-2025 * ***************************************************************************/ #ifndef __FLUSH_CONCENTRATE_H__ #define __FLUSH_CONCENTRATE_H_ #include "DDDefs.h" #include "DDCommon.h" #include "FPDefs.h" /** * @defgroup FPConcentrateFlush FPConcentrateFlush * @brief Concentrate Flush unit. Manages Concentrate flush functions via a state machine. * * @addtogroup FPConcentrateFlush * @{ */ // ********** public definitions ********** /// Concentrate Flush data structure typedef struct { U32 concentrateFlushExecState; ///< Concentrate Flush execution state } CONC_FLUSH_DATA_T; // ********** public function prototypes ********** void initConcentrateFlush( void ); // Initialize this Concentrate Flush unit U32 transitionToConcentrateFlush( void ); // Transition to Concentrate Flush void execConcentrateFlush( void ); // Execute the Concentrate Flush state machine BOOL isConcentrateFlushComplete( void ); // returns if flush is complete BOOL signalStartConcentrateFlush( void ); // signal to start flush void resetConcentrateFlushSignals( void ); // reset signals for flush FP_CONC_FLUSH_STATE_T getCurrentConcentrateFlushState( void ); // Get the current state of the Concentrate Flush BOOL testConcentrateFlushDataPublishIntervalOverride( MESSAGE_T *message ); BOOL testConcentrateFlushTimerOverride( MESSAGE_T *message ); /**@}*/ #endif