/************************************************************************** * * 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 AirTrap.h * * @author (last) Sean * @date (last) 03-Oct-2024 * * @author (original) Sean * @date (original) 03-Oct-2024 * ***************************************************************************/ #ifndef __AIR_TRAP_H__ #define __AIR_TRAP_H__ // ********** public definitions ********** #include "TDCommon.h" /** * @defgroup AirTrap AirTrap * @brief Air Trap controller unit. Provides high level control functionality * to manage the fluid/blood level in the air trap. * * @addtogroup AirTrap * @{ */ // ********** public definitions ********** /// Payload record structure for air trap data broadcast message typedef struct { U32 h17State; ///< Lower air trap level sensor state U32 h16State; ///< Upper air trap level sensor state U32 h17RawState; ///< Raw Lower air trap level sensor state U32 h16RawState; ///< Raw Upper air trap level sensor state U32 h13State; ///< Is air trap intake valve open or closed U32 h20State; ///< Is air trap outlet valve open or closed BOOL isAutoControlling; ///< Flag indicates whether air trap level is being auto controlled } AIR_TRAP_PAYLOAD_T; // ********** public function prototypes ********** void initAirTrap(void); void resetAirTrap( void ); void execAirTrapController(void); void execAirTrapMonitor( void ); void execAirTrapMonitorTreatment( void ); void startAirTrapControl( void ); void endAirTrapControl( void ); BOOL isAirTrapControlling( void ); BOOL testAirTrapDataPublishIntervalOverride( MESSAGE_T *message ); /**@}*/ #endif