/************************************************************************** * * 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 SyringePump.h * * @author (last) Sean Nash * @date (last) 02-Mar-2021 * * @author (original) Sean Nash * @date (original) 02-Mar-2021 * ***************************************************************************/ #ifndef __SYRINGE_PUMP_H__ #define __SYRINGE_PUMP_H__ #include "HDCommon.h" /** * @defgroup SyringePump SyringePump * @brief Syringe pump controller/monitor module. Controls the syringe pump * and monitors status. * * @addtogroup SyringePump * @{ */ // ********** public definitions ********** /// Payload record structure for the pressure & occlusions data message. typedef struct { U32 syringePumpState; F32 syringePumpSetRate; F32 syringePumpMeasRate; S32 syringePumpPosition; F32 syringePumpVolumeDelivered; F32 syringePumpMeasHome; F32 syringePumpMeasSwitch; F32 syringePumpMeasForce; } SYRINGE_PUMP_DATA_PAYLOAD_T; // ********** public function prototypes ********** void initSyringePump( void ); void execSyringePump( void ); void stopSyringePump( void ); BOOL retractSyringePump( void ); BOOL primeSyringePump( void ); BOOL startHeparinBolus( F32 flowRate ); BOOL startHeparinContinuous( F32 flowRate ); BOOL isSyringeDetected( void ); BOOL isSyringePumpHome( void ); SELF_TEST_STATUS_T execSyringePumpTest( void ); BOOL testSetSyringePumpDataPublishIntervalOverride( U32 value ); BOOL testResetSyringePumpDataPublishIntervalOverride( void ); /**@}*/ #endif