/************************************************************************** * * 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 Nash * @date (last) 24-Sep-2020 * * @author (original) Sean Nash * @date (original) 16-Sep-2020 * ***************************************************************************/ #ifndef __AIR_TRAP_H__ #define __AIR_TRAP_H__ #include "HDCommon.h" /** * @defgroup AirTrap AirTrap * @brief Air Trap valve controller / level sensor monitor module. Monitors the * air trap level sensors. Controls the air trap valve when level controlling is * turned on. * * @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 air trap 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 resetAirTrap( void ); void execAirTrapController( void ); void execAirTrapMonitor( void ); void execAirTrapMonitorPriming( void ); void execAirTrapMonitorTreatment( void ); void startAirTrapControl( void ); void endAirTrapControl( void ); BOOL isAirTrapControlling( void ); AIR_TRAP_LEVELS_T getAirTrapLevel( AIR_TRAP_LEVEL_SENSORS_T sensor ); SELF_TEST_STATUS_T execAirTrapTest( void ); 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