/************************************************************************** * * 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 PressureSensor.h * * @author (last) Vinayakam Mani * @date (last) 04-Sep-2024 * * @author (original) Vinayakam Mani * @date (original) 04-Sep-2024 * ***************************************************************************/ #ifndef __PRESSURE_SENSOR_H__ #define __PRESSURE_SENSOR_H__ #include "DDCommon.h" /** * @defgroup PressureSensor PressureSensor * @brief Pressure sensors monitor module. Monitors the various DD pressure * sensors. * * @addtogroup PressureSensor * @{ */ // ********** public definitions ********** #pragma pack(push,1) /// Pressure data struct. typedef struct { F32 filteredHydraulicsOutletPressure; ///< Hydraulics outlet pressure F32 filteredBibagPressure; ///< Bicarb bag pressure F32 filteredSpentdialysatePressure; ///< Spent Dialysate pressure F32 filteredFreshdialysatePressure; ///< Fresh Dialysate pressure F32 filteredTransmembranePressure; ///< Transmembrane pressure F32 filteredHydraulicsOutletTemp; ///< Hydraulics outlet pressure temperature F32 filteredBibagTemp; ///< Bicarb bag temperature F32 filteredSpentdialysateTemp; ///< Spent Dialysate temperature F32 filteredFreshdialysateTemp; ///< Fresh Dialysate temperature F32 filteredTransmembraneTemp; ///< Transmembrane temperature } PRESSURE_TEMP_DATA_T; #pragma pack(pop) /// Enumeration of pressure sensors monitored by this module. typedef enum PressureSensors { PRESSURE_SENSOR_FIRST = 0, ///< First pressure to scan PRESSURE_SENSOR_HYDRAULICS_OUTLET = PRESSURE_SENSOR_FIRST, ///< Hydraulics outlet pressure (PHo/Pn) PRESSURE_SENSOR_BIBAG, ///< Dry Bicarb pressure (PDB/PCb) PRESSURE_SENSOR_SPENT_DIALYSATE, ///< Spent Dialysate pressure (PDs) PRESSURE_SENSOR_FRESH_DIALYSATE, ///< Fresh Dialysate pressure (PDf) PRESSURE_SENSOR_TRANSMEMBRANE, ///< Transmembrane pressure (Ptm) NUM_OF_PRESSURE_SENSORS ///< Number of pressure sensors } PRESSURE_SENSORS_T; // ********** public function prototypes ********** void initPressureSensor( void ); void execPressureSensor( void ); F32 getPressure( PRESSURE_SENSORS_T sensor ); F32 getPressureSensorTemperature( PRESSURE_SENSORS_T sensor ); F32 getFilteredPressure( PRESSURE_SENSORS_T sensor ); F32 getFilteredPressureSensorTemperature( PRESSURE_SENSORS_T sensor ); U32 getPressureSensorReadCount( PRESSURE_SENSORS_T sensor ); U32 getPressureSensorErrorCount( PRESSURE_SENSORS_T sensor ); BOOL testPressureSensorDataPublishIntervalOverride( MESSAGE_T *message ); BOOL testPressureSensorReadingsOverride( MESSAGE_T *message ); BOOL testPressureSensorTemperatureReadingsOverride( MESSAGE_T *message ); /**@}*/ #endif