/************************************************************************** * * Copyright (c) 2019-2021 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 BloodLeak.h * * @author (last) Peman Montazemi * @date (last) 18-Mar-2021 * * @author (original) Peman Montazemi * @date (original) 18-Mar-2021 * ***************************************************************************/ #ifndef __BLOOD_LEAK_H__ #define __BLOOD_LEAK_H__ #include "HDCommon.h" /** * @defgroup BloodLeak BloodLeak * @brief Blood Leak detector monitor module. Monitors the * blood leak detector. * * INTROTEK - Blood Component Detector Part No. 105-0002 * * @addtogroup BloodLeak * @{ */ // ********** public definitions ********** /// Enumeration of blood leak detector status. typedef enum BloodLeakDetectorStatus { BLOOD_LEAK_DETECTED = 0, ///< Blood leak detector senses blood BLOOD_LEAK_NOT_DETECTED, ///< Blood leak detector does not sense any blood NUM_OF_BLOOD_LEAK_STATUS ///< Number of blood leak detector status } BLOOD_LEAK_STATUS_T; /// Defined states for the blood leak detector state machine. typedef enum BloodLeakStates { BLOOD_LEAK_INIT_STATE = 0, ///< Initial state BLOOD_LEAK_ZERO_STATE, ///< Zero state BLOOD_LEAK_SELF_TEST_STATE, ///< Self-test state BLOOD_LEAK_NORMAL_STATE, ///< Normal state NUM_OF_BLOOD_LEAK_STATES ///< Number of blood leak detector states } BLOOD_LEAK_STATES_T; // ********** public function prototypes ********** void initBloodLeak( void ); void zeroBloodLeak( void ); BOOL selfTestBloodLeak( void ); void execBloodLeak( void ); BLOOD_LEAK_STATUS_T getBloodLeakStatus( void ); BLOOD_LEAK_STATES_T getBloodLeakState( void ); BOOL testSetBloodLeakStatusPublishIntervalOverride( U32 value ); BOOL testResetBloodLeakStatusPublishIntervalOverride( void ); BOOL testSetBloodLeakStatusOverride( BLOOD_LEAK_STATUS_T state ); BOOL testResetBloodLeakStatusOverride( void ); BOOL testSetBloodLeakStatePublishIntervalOverride( U32 value ); BOOL testResetBloodLeakStatePublishIntervalOverride( void ); BOOL testSetBloodLeakStateOverride( BLOOD_LEAK_STATES_T state ); BOOL testResetBloodLeakStateOverride( void ); /**@}*/ #endif