/************************************************************************** * * Copyright (c) 2020-2020 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 Valves.h * * @date 21-Apr-2020 * @author P. Montazemi * * @brief Valves header file. * **************************************************************************/ #ifndef __VALVES_H__ #define __VALVES_H__ #include "DGCommon.h" /** * @defgroup Valves Valves * @brief Valves driver module. * Controls valves. * * @addtogroup Valves * @{ */ // ********** public definitions ********** /// Enumeration of valve states typedef enum ValveStates { VALVE_STATE_OPEN = 0, ///< Open valve state VALVE_STATE_CLOSED, ///< Closed valve state VALVE_STATE_FILL, ///< Fill valve state VALVE_STATE_NOFILL, ///< No Fill valve state VALVE_STATE_DRAIN, ///< Drain valve state VALVE_STATE_RECIRCULATE, ///< Recirculate valve state VALVE_STATE_R1_C_TO_NO, ///< Reservoir 1 Common to Normally Open valve state VALVE_STATE_R1_C_TO_NC, ///< Reservoir 1 Common to Normally Closed valve state VALVE_STATE_R2_C_TO_NO, ///< Reservoir 2 Common to Normally Open valve state VALVE_STATE_R2_C_TO_NC, ///< Reservoir 2 Common to Normally Closed valve state NUM_OF_VALVE_STATES ///< Number of valve states } VALVE_STATES_T; /// Enumeration of valves typedef enum Valves { VRF = 0, ///< Valve Reservoir Fill VRI, ///< Valve Reservoir Inlet VRD, ///< Valve Reservoir Drain VRO, ///< Valve Reservoir Outlet VPO, ///< Valve Pressure Outlet VBF, ///< Valve Bypass Filter VRC, ///< Valve Recirculate VDR, ///< Valve Drain VPI, ///< Valve Pressure inlet VSP, ///< Valve Sampling Port VPD, ///< Valve Production Drain NUM_OF_VALVES ///< Number of valves } VALVES_T; // ********** public function prototypes ********** void initValves( void ); // Initialize the valves module void execValves( void ); // Execute the valves driver // SELF_TEST_STATUS_T execValvesTest( void ); // TODO: Add back in for POST on DG valves BOOL setValveState( VALVES_T valve, VALVE_STATES_T valveState ); // Set valve's state to valveState DATA_ARRAY_GET_PROTOTYPE( F32, getValveState, valveID ); // Get valveID's state BOOL testSetValvesStatesPublishIntervalOverride( U32 value ); BOOL testResetValvesStatesPublishIntervalOverride( void ); BOOL testSetValveStateOverride( U32 valve, F32 state ); BOOL testResetValveStateOverride( U32 valveID ); /**@}*/ #endif /* __VALVES_H__ */