/************************************************************************** * * Copyright (c) 2024-2024 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 Valve3Way.h * * @author (last) Sean * @date (last) 03-Oct-2024 * * @author (original) Sean * @date (original) 03-Oct-2024 * ***************************************************************************/ #ifndef __VALVE_3_WAY_H__ #define __VALVE_3_WAY_H__ // ********** public definitions ********** #include "TDCommon.h" /** * @defgroup Valve3Way Valve3Way * @brief 3 way valve driver unit. Provides low level functions * to control a 3 way valve. 3-way valves have a common port * (always open) and 2 other ports of which one will be open and * the other closed. So air can flow through 1 of 2 possible paths: * common to normally open port or common to normally closed port. * When the valve is "CLOSED", the normally open port is open. * When the valve is "OPEN", the normally closed port is open. * * @addtogroup Valve3Way * @{ */ // ********** public definitions ********** /// 3 way valve names typedef enum valves3WayNames { H13_VALV = 0, ///< Air trap intake valve H20_VALV, ///< Air trap outlet valve NUM_OF_3_WAY_VALVES ///< Number of 3 way valves } VALVE_3_WAY_T; // ********** public function prototypes ********** void init3WayValves( void ); void set3WayValveState( VALVE_3_WAY_T valve, VALVE_3WAY_STATE_T state ); VALVE_3WAY_STATE_T get3WayValveState( VALVE_3_WAY_T valve ); BOOL testSet3WayValve( MESSAGE_T *message ); /**@}*/ #endif