/************************************************************************** * * Copyright (c) 2019-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 AirTrap.h * * @author (last) Sean * @date (last) 16-Sep-2020 * * @author (original) Sean * @date (original) 16-Sep-2020 * ***************************************************************************/ #ifndef __AIR_TRAP_H__ #define __AIR_TRAP_H__ #include "HDCommon.h" /** * @defgroup AirTrap AirTrap * @brief Pressure & Occlusion controller/monitor module. Monitors the * blood line pressure sensors and pump occlusion sensors. * * @addtogroup AirTrap * @{ */ // ********** public definitions ********** /// Enumeration of air trap level sensors monitored by this module. typedef enum AirTrapLevelSensors { AIR_TRAP_LEVEL_SENSOR_LOWER = 0, ///< lower air trap sensor AIR_TRAP_LEVEL_SENSOR_UPPER, ///< upper air trap sensor NUM_OF_AIR_TRAP_LEVEL_SENSORS ///< Number of pressure sensors } AIR_TRAP_LEVEL_SENSORS_T; /// Enumeration of air trap level sensor levels. typedef enum AirTrapLevelSensorLevels { AIR_TRAP_LEVEL_AIR = 0, ///< air trap level sensor detects air AIR_TRAP_LEVEL_FLUID, ///< air trap level sensor detects fluid NUM_OF_AIR_TRAP_LEVELS ///< Number of air trap level sensor levels } AIR_TRAP_LEVELS_T; // ********** public function prototypes ********** void initAirTrap( void ); void execAirTrapController( void ); void execAirTrapMonitor( void ); void startAirTrapControl( void ); void endAirTrapControl( void ); SELF_TEST_STATUS_T execAirTrapTest( void ); AIR_TRAP_LEVELS_T getAirTrapLevel( AIR_TRAP_LEVEL_SENSORS_T sensor ); BOOL testSetAirTrapDataPublishIntervalOverride( U32 value ); BOOL testResetAirTrapDataPublishIntervalOverride( void ); BOOL testSetAirTrapLevelOverride( AIR_TRAP_LEVEL_SENSORS_T sensor, AIR_TRAP_LEVELS_T level ); BOOL testResetAirTrapLevelOverride( AIR_TRAP_LEVEL_SENSORS_T sensor ); /**@}*/ #endif