Index: firmware/App/Monitors/Level.h =================================================================== diff -u -r229341f9eb23fec730cdf9b1f8f3960de2daf384 -r2d295ca85f19e95da42476a57ca6b4496baf980a --- firmware/App/Monitors/Level.h (.../Level.h) (revision 229341f9eb23fec730cdf9b1f8f3960de2daf384) +++ firmware/App/Monitors/Level.h (.../Level.h) (revision 2d295ca85f19e95da42476a57ca6b4496baf980a) @@ -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) Sameer Kalliadan Poyil +* @date (last) 28-Apr-2026 * * @author (original) Vinayakam Mani -* @date (original) 11-Oct-2024 +* @date (original) 14-Oct-2024 * ***************************************************************************/ @@ -35,38 +35,66 @@ /// DD floater and level sensor enumeration typedef enum level_names { - D6_LEVL = 0, ///< floater switch low, medium and high status - D63_LEVL, ///< bicarb level low or high status - D46_LEVL, ///< Spent dialysate air separation chamber level low or high status + D46_LEVL = 0, ///< Spent dialysate air separation chamber level low or high status + FIRST_LEVEL = D46_LEVL, + D63_LEVL, ///< Bicarb lower level conductive level sensor low or high status + D98_LEVL, ///< Bicarb upper level conductive level sensor low or high status + LAST_LEVEL = D98_LEVL, + D6_LEVL, ///< DD float level sensor low, medium and high status + FIRST_FLOAT = D6_LEVL, + P25_LEVL, ///< FP float level sensor low medium high status + LAST_FLOAT = P25_LEVL, NUM_OF_LEVELS ///< Number of levels -} LELVEL_T; +} LEVEL_T; -/// floater and level sensor states. +/// level sensor states. typedef enum level_States { - LEVEL_STATE_LOW = 0, ///< Low level + LEVEL_STATE_LOW, ///< 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 + NUM_OF_LEVEL_STATES ///< Number of level states } LEVEL_STATE_T; +/// floater and bicarb level sensor states. +typedef enum lvl_States +{ + LVL_STATE_EMPTY = 0, ///< Empty level + LVL_STATE_LOW, ///< Low level + LVL_STATE_MEDIUM, ///< Medium level + LVL_STATE_HIGH, ///< High level + LVL_STATE_ILLEGAL, ///< Illegal level + NUM_OF_LVL_STATES ///< Number of level states +} LVL_STATE_T; + /// DD floater and level sensor data publish structure typedef struct { U32 d6Level; ///< Floater level - U32 d63Level; ///< Bicarb level U32 d46Level; ///< Spent dialysate level -} LEVEL_DATA_T; + U32 d63Level; ///< Bicarb lower level + U32 d98Level; ///< Bicarb upper level + U32 bicarbLevel; ///< Bicarb chamber level combination ( D63 + D98 ) +} 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 ); +LVL_STATE_T getFloaterStatus( LEVEL_T levelId ); +LVL_STATE_T getBicarbChamberLevelStatus( void ); BOOL testLevelsDataPublishIntervalOverride( MESSAGE_T *message ); BOOL testLevelStatusOverride( MESSAGE_T *message ); +BOOL testFPLevelsDataPublishIntervalOverride( MESSAGE_T *message ); +BOOL testFPFloaterLevelStateOverride( MESSAGE_T *message ); +BOOL testDDFloaterLevelStateOverride( MESSAGE_T *message ); /**@}*/