Index: firmware/App/Monitors/Level.h =================================================================== diff -u -r3b6bf2cb6d15da8cb273cff109d2c4b1ee99d546 -rc07917caced76b53a0ed8f35167fac6f9d8310a4 --- firmware/App/Monitors/Level.h (.../Level.h) (revision 3b6bf2cb6d15da8cb273cff109d2c4b1ee99d546) +++ firmware/App/Monitors/Level.h (.../Level.h) (revision c07917caced76b53a0ed8f35167fac6f9d8310a4) @@ -1,17 +1,17 @@ /************************************************************************** * -* Copyright (c) 2024-2024 Diality Inc. - All Rights Reserved. +* Copyright (c) 2024-2025 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) Michael Garthwaite +* @date (last) 15-Sep-2025 * * @author (original) Vinayakam Mani -* @date (original) 11-Oct-2024 +* @date (original) 14-Oct-2024 * ***************************************************************************/ @@ -36,11 +36,19 @@ typedef enum level_names { D6_LEVL = 0, ///< floater switch low, medium and high status + FIRST_DD_LEVL = D6_LEVL, ///< First DD level D63_LEVL, ///< bicarb 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 { @@ -57,16 +65,24 @@ U32 d6Level; ///< Floater level U32 d63Level; ///< Bicarb level 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 ); BOOL testLevelsDataPublishIntervalOverride( MESSAGE_T *message ); BOOL testLevelStatusOverride( MESSAGE_T *message ); +BOOL testFPLevelsDataPublishIntervalOverride( MESSAGE_T *message ); +BOOL testFPLevelStateOverride( MESSAGE_T *message ); /**@}*/