/************************************************************************** * * Copyright (c) 2019-2020 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 PresOccl.h * * @author (last) Sean Nash * @date (last) 22-Sep-2020 * * @author (original) Sean * @date (original) 15-Jan-2020 * ***************************************************************************/ #ifndef __PRESSURE_OCCLUSION_H__ #define __PRESSURE_OCCLUSION_H__ #include "HDCommon.h" /** * @defgroup PressureOcclusion PressureOcclusion * @brief Pressure & Occlusion controller/monitor module. Monitors the * blood line pressure sensors and pump occlusion sensors. * * @addtogroup PressureOcclusion * @{ */ // ********** public definitions ********** /// Enumeration of pressure sensors monitored by this module. typedef enum PressureSensors { PRESSURE_SENSOR_ARTERIAL = 0, ///< arterial blood line pressure sensor PRESSURE_SENSOR_VENOUS, ///< vensous blood line pressure sensor NUM_OF_PRESSURE_SENSORS ///< Number of pressure sensors } PRESSURE_SENSORS_T; /// Enumeration of occlusion sensors monitored by this module. typedef enum OcclusionSensors { OCCLUSION_SENSOR_BLOOD_PUMP = 0, ///< blood pump occlusion sensor OCCLUSION_SENSOR_DIAL_IN_PUMP, ///< dialysate inlet pump occlusion sensor OCCLUSION_SENSOR_DIAL_OUT_PUMP, ///< dialysate outlet pump occlusion sensor NUM_OF_OCCLUSION_SENSORS ///< Number of occlusion sensors } OCCLUSION_SENSORS_T; // ********** public function prototypes ********** void initPresOccl( void ); void execPresOccl( void ); void setOcclusionThreshold( OCCLUSION_SENSORS_T sensor, F32 threshold ); SELF_TEST_STATUS_T execPresOcclTest( void ); F32 getMeasuredArterialPressure( void ); F32 getMeasuredVenousPressure( void ); F32 getMeasuredBloodPumpOcclusion( void ); F32 getMeasuredDialInPumpOcclusion( void ); F32 getMeasuredDialOutPumpOcclusion( void ); BOOL testSetPresOcclDataPublishIntervalOverride( U32 value ); BOOL testResetPresOcclDataPublishIntervalOverride( void ); BOOL testSetArterialPressureOverride( F32 value ); BOOL testResetArterialPressureOverride( void ); BOOL testSetVenousPressureOverride( F32 value ); BOOL testResetVenousPressureOverride( void ); BOOL testSetBloodPumpOcclusionOverride( F32 value ); BOOL testResetBloodPumpOcclusionOverride( void ); BOOL testSetDialInPumpOcclusionOverride( F32 value ); BOOL testResetDialInPumpOcclusionOverride( void ); BOOL testSetDialOutPumpOcclusionOverride( F32 value ); BOOL testResetDialOutPumpOcclusionOverride( void ); /**@}*/ #endif