Index: firmware/App/Monitors/Level.h =================================================================== diff -u -r229341f9eb23fec730cdf9b1f8f3960de2daf384 -r50144ec3e96785cf76d5bfd22ee65029c82e732b --- firmware/App/Monitors/Level.h (.../Level.h) (revision 229341f9eb23fec730cdf9b1f8f3960de2daf384) +++ firmware/App/Monitors/Level.h (.../Level.h) (revision 50144ec3e96785cf76d5bfd22ee65029c82e732b) @@ -1,17 +1,17 @@ /************************************************************************** * -* Copyright (c) 2024-2024 Diality Inc. - All Rights Reserved. +* Copyright (c) 2024-2026 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) Vinayakam Mani -* @date (last) 11-Oct-2024 +* @author (last) Varshini Nagabooshanam +* @date (last) 27-Jan-2026 * * @author (original) Vinayakam Mani -* @date (original) 11-Oct-2024 +* @date (original) 14-Oct-2024 * ***************************************************************************/ @@ -36,17 +36,27 @@ typedef enum level_names { D6_LEVL = 0, ///< floater switch low, medium and high status - D63_LEVL, ///< bicarb level low or high status + FIRST_DD_LEVL = D6_LEVL, ///< First DD level + D63_LEVL, ///< Bicarb upper level low or high status + D98_LEVL, ///< Bicarb lower level low or high status D46_LEVL, ///< Spent dialysate air separation chamber level low or high status + LAST_DD_LEVL = D46_LEVL, ///< Last DD level + P25_LEVL, ///< FP level sensor + FIRST_FP_LEVL = P25_LEVL, ///< FP first level sensor + LAST_FP_LEVL = P25_LEVL, ///< FP last level sensor NUM_OF_LEVELS ///< Number of levels -} LELVEL_T; +} LEVEL_T; +#define NUM_OF_DD_LEVL ( ( LAST_DD_LEVL - FIRST_DD_LEVL ) + 1 ) +#define NUM_OF_IOFP_LEVL ( ( LAST_FP_LEVL - FIRST_FP_LEVL ) + 1 ) + /// floater and level sensor states. typedef enum level_States { - LEVEL_STATE_LOW = 0, ///< Low level - LEVEL_STATE_HIGH, ///< High level + LEVEL_STATE_EMPTY = 0, ///< Empty level + LEVEL_STATE_LOW, ///< Low level LEVEL_STATE_MEDIUM, ///< Medium level + LEVEL_STATE_HIGH, ///< High level LEVEL_STATE_ILLEGAL, ///< Illegal level NUM_OF_LEVELS_STATES ///< Number of level states } LEVEL_STATE_T; @@ -55,18 +65,29 @@ typedef struct { U32 d6Level; ///< Floater level - U32 d63Level; ///< Bicarb level + U32 d63Level; ///< Bicarb upper level + U32 d98Level; ///< Bicarb lower level + U32 bicarbLevel; ///< Bicarb chamber level combination ( D63 + D98 ) U32 d46Level; ///< Spent dialysate level -} LEVEL_DATA_T; +} DD_LEVEL_DATA_T; +/// FP floater and level sensor data publish structure +typedef struct +{ + U32 p25Level; ///< Floater level +} FP_LEVEL_DATA_T; + // ********** public function prototypes ********** void initLevels( void ); void execLevels( void ); -LEVEL_STATE_T getLevelStatus( LELVEL_T levelId ); +LEVEL_STATE_T getLevelStatus( LEVEL_T levelId ); +LEVEL_STATE_T getBicarbChamberLevelStatus( void ); BOOL testLevelsDataPublishIntervalOverride( MESSAGE_T *message ); BOOL testLevelStatusOverride( MESSAGE_T *message ); +BOOL testFPLevelsDataPublishIntervalOverride( MESSAGE_T *message ); +BOOL testFPLevelStateOverride( MESSAGE_T *message ); /**@}*/