/**********************************************************************//** * * 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 BloodFlow.h * * @date 05-Nov-2019 * @author S. Nash * * @brief BloodFlow header file. * **************************************************************************/ #ifndef __BLOOD_FLOW_H__ #define __BLOOD_FLOW_H__ #include "HDCommon.h" /** * @defgroup BloodFlow BloodFlow * @brief Blood Pump & Blood Flow controller/monitor module. Monitors the * blood flow rate and controls the blood pump. * * @addtogroup BloodFlow * @{ */ // ********** public definitions ********** #define MAX_BLOOD_FLOW_RATE 500 ///< Maximum blood flow rate (in mL/min). #define MIN_BLOOD_FLOW_RATE 100 ///< Minimum blood flow rate (in mL/min). // ********** public function prototypes ********** void initBloodFlow( void ); void execBloodFlowMonitor( void ); void execBloodFlowController( void ); BOOL setBloodPumpTargetFlowRate( U32 flowRate, MOTOR_DIR_T dir, PUMP_CONTROL_MODE_T mode ); void signalBloodPumpHardStop( void ); void signalBloodPumpRotorHallSensor( void ); BOOL homeBloodPump( void ); SELF_TEST_STATUS_T execBloodFlowTest( void ); DATA_GET_PROTOTYPE( S32, getTargetBloodFlowRate ); DATA_GET_PROTOTYPE( F32, getMeasuredBloodFlowRate); DATA_GET_PROTOTYPE( F32, getMeasuredBloodPumpRotorSpeed ); DATA_GET_PROTOTYPE( F32, getMeasuredBloodPumpSpeed ); DATA_GET_PROTOTYPE( F32, getMeasuredBloodPumpMCSpeed ); DATA_GET_PROTOTYPE( F32, getMeasuredBloodPumpMCCurrent ); BOOL testSetBloodFlowDataPublishIntervalOverride( U32 value ); BOOL testResetBloodFlowDataPublishIntervalOverride( void ); BOOL testSetTargetBloodFlowRateOverride( S32 value ); BOOL testResetTargetBloodFlowRateOverride( void ); BOOL testSetMeasuredBloodFlowRateOverride( F32 value ); BOOL testResetMeasuredBloodFlowRateOverride( void ); BOOL testSetMeasuredBloodPumpRotorSpeedOverride( F32 value ); BOOL testResetMeasuredBloodPumpRotorSpeedOverride( void ); BOOL testSetMeasuredBloodPumpSpeedOverride( F32 value ); BOOL testResetMeasuredBloodPumpSpeedOverride( void ); BOOL testSetMeasuredBloodPumpMCSpeedOverride( F32 value ); BOOL testResetMeasuredBloodPumpMCSpeedOverride( void ); BOOL testSetMeasuredBloodPumpMCCurrentOverride( F32 value ); BOOL testResetMeasuredBloodPumpMCCurrentOverride( void ); /**@}*/ #endif