/**********************************************************************//** * * Copyright (c) 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 * * @date 15-Jan-2020 * @author S. Nash * * @brief PresOccl header file. * **************************************************************************/ #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 ********** /// 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 } PRESSURE_SENSORS_T; /// 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 } OCCLUSION_SENSORS_T; // ********** public function prototypes ********** void initPresOccl( void ); void execPresOccl( void ); void setPressureLimits( PRESSURE_SENSORS_T sensor, F32 low, F32 high ); void setOcclusionThreshold( OCCLUSION_SENSORS_T sensor, F32 threshold ); SELF_TEST_STATUS_T execPresOcclTest( void ); DATA_GET_PROTOTYPE( F32, getMeasuredArterialPressure ); DATA_GET_PROTOTYPE( F32, getMeasuredVenousPressure); DATA_GET_PROTOTYPE( F32, getMeasuredBloodPumpOcclusion ); DATA_GET_PROTOTYPE( F32, getMeasuredDialInPumpOcclusion ); DATA_GET_PROTOTYPE( F32, getMeasuredDialOutPumpOcclusion ); 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