/************************************************************************** * * 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 Level.h * * @author (last) Sean Nash * @date (last) 19-Nov-2024 * * @author (original) Sean Nash * @date (original) 19-Nov-2024 * ***************************************************************************/ #ifndef LEVEL_H_ #define LEVEL_H_ #include "ROCommon.h" /** * @defgroup Level Level * @brief Level module monitors the floater level for RO sub-system. * Level manufacturer: Custom built modules. * * @addtogroup Level * @{ */ // ********** public definitions ********** /// floater and level sensor states. typedef enum level_States { LEVEL_STATE_LOW = 0, ///< Low level LEVEL_STATE_HIGH, ///< High level LEVEL_STATE_MEDIUM, ///< Medium level LEVEL_STATE_ILLEGAL, ///< Illegal level NUM_OF_LEVELS_STATES ///< Number of level states } LEVEL_STATE_T; /// DD floater and level sensor data publish structure typedef struct { U32 floaterLevel; ///< Floater level } LEVEL_DATA_T; // ********** public function prototypes ********** void initLevels( void ); void execLevels( void ); LEVEL_STATE_T getLevelStatus( void ); BOOL testLevelsDataPublishIntervalOverride( MESSAGE_T *message ); BOOL testLevelStateOverride( MESSAGE_T *message ); /**@}*/ #endif