/************************************************************************** * * Copyright (c) 2021-2022 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 ModeGenIdle.h * * @author (last) Dara Navaei * @date (last) 15-Aug-2022 * * @author (original) Quang Nguyen * @date (original) 06-Aug-2021 * ***************************************************************************/ #ifndef __MODE_GEN_IDLE_H__ #define __MODE_GEN_IDLE_H__ #include "DGCommon.h" #include "DGDefs.h" /** * @defgroup DGGenIdleMode DGgenIdleMode * @brief Generation idle mode module. Manages generation idle mode functions via a state machine. * * @addtogroup DGGenIdleMode * @{ */ // ********** public definitions ********** /// Gen Idle bad states data structure typedef struct { U32 badFillState; ///< Gen Idle bad fill substate. } GEN_IDLE_BAD_FILL_STATE; // ********** public function prototypes ********** void initGenIdleMode( void ); // initialize this module U32 transitionToGenIdleMode( void ); // prepares for transition to generation idle mode U32 execGenIdleMode( void ); // execute the generation idle mode state machine (call from OperationModes) void setBadAvgConductivityDetectedFlag( BOOL badAvgConducitivyflag ); // used by fill mode to signal idle mode of bad average conductivity DG_GEN_IDLE_MODE_STATE_T getCurrentGenIdleState( void ); // get the current state of generation idle mode BOOL requestDGStop( void ); // HD requests DG stop (go back to standby mode) BOOL testSetBadFillSubstatesPublishIntervalOverride( U32 value ); BOOL testResetBadFillSubstatesPublishIntervalOverride( void ); /**@}*/ #endif