#ifndef __BLOODLEAK_H__ #define __BLOODLEAK_H__ #include "DDCommon.h" #include "DDDefs.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; /// Blood leak detector data publish //typedef struct //{ // U32 bloodLeakStatus; ///< Blood leak detector status. // U32 bloodLeakState; ///< Blood leak detector state. // U32 bloodLeakPersistentCounter; ///< Blood leak detector persistent counter. // U32 bloodLeakSerialCommState; ///< Blood leak detector serial communication state. // U32 bloodLeakIntensity; ///< Blood leak detector intensity. // U32 bloodLeakDetect; ///< Blood leak detector detect. // F32 bloodLeakIntensityMovingAvg; ///< Blood leak detector intensity moving average. // U32 bloodLeakTimeSinceZeroMS; ///< Blood leak detector time since last zero in milliseconds. // U32 driftInRangeStatus; ///< Blood leak detector drift in range status. // U32 driftUpperRangeStatus; ///< Blood leak detector drift upper range status. //} BLOOD_LEAK_DATA_T; // ********** public function prototypes ********** void initBloodLeak( void ); void execBloodLeak( void ); BOOL zeroBloodLeak( void ); void zeroBloodLeakReset( void ); BOOL hasBloodLeakZeroSequenceFailed( void ); BOOL isBloodLeakZeroingNeeded( void ); void exitBloodLeakNormalState( void ); SELF_TEST_STATUS_T execBloodLeakSelfTest( void ); BLOOD_LEAK_STATUS_T getBloodLeakStatus( void ); SELF_TEST_STATUS_T getBloodLeakSelfTestStatus( void ); BOOL testBloodLeakDataPublishIntervalOverride( MESSAGE_T *message ); BOOL testBloodLeakStatusOverride( MESSAGE_T *message ); BOOL testBloodLeakIntensityMovingAverageOverride( MESSAGE_T *message ); BOOL testBloodLeakZeroingIntervalInMillisecondsOverride( MESSAGE_T *message ); BOOL testBloodLeakZeroSequenceRequest( MESSAGE_T *message ); /**@}*/ #endif