/************************************************************************** * * Copyright (c) 2025-2026 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 DryBiCart.h * * @author (original) Sameer poyil * @date (original) 10-Nov-2025 * * @author (original) Sameer poyil * @date (original) 10-Nov-2025 * ***************************************************************************/ #ifndef __DRY_BICART_H__ #define __DRY_BICART_H__ #include "DDCommon.h" #include "DDDefs.h" /** * @defgroup DryBiCart DryBiCart * @brief DryBiCart unit. Performs dry bicart functions via a state machine. * * @addtogroup DryBiCart * @{ */ // ********** public definitions ********** /// dry bicart data structure typedef struct { U32 dryBiCartFillExecState; ///< Dry bicart execution state U32 dryBiCartFillCycleCounter; ///< Dry bicart fill cycle counter U32 dryBiCartMaxFillCycleCount; ///< Dry bicart fill cycle max count U32 dryBiCartFillRequest; ///< Dry bicart fill request U32 dryBiCartLastFillTime; ///< Dry bicart last fill duration in milli second U32 dryBiCartCurrentFillTime; ///< Dry bicart current fill duration in milli second } DRY_BICART_DATA_T; // ********** public function prototypes ********** void initDryBiCart( void ); // Initialize dry bicart unit void transitionToDryBicart( void ); // Prepares for transition to dry bicart execution U32 execDryBicartFillMode( void ); // Execute the dry bicart state machine DRY_BICART_FILL_EXEC_STATE_T getCurrentDryBiCartFillExecState( void ); // Get the current state of the dry bicart fill execution BOOL testDryBiCartDataPublishIntervalOverride( MESSAGE_T *message ); // To override the dry bicart data publish interval BOOL testDryBiCartFillCycleMaxCountOverride( MESSAGE_T *message ); // To override the dry bicart max fill cycle BOOL testDryBiCartFillRequestOverride( MESSAGE_T *message ); // To override the dry bicart fill start/stop request /**@}*/ #endif