/************************************************************************** * * Copyright (c) 2024-2025 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 PeristalticPump.h * * @author (last) Dara Navaei * @date (last) 25-Sep-2025 * * @author (original) Sean Nash * @date (original) 24-Oct-2024 * ***************************************************************************/ #ifndef __PERISTALTIC_PUMP_H__ #define __PERISTALTIC_PUMP_H__ // ********** public definitions ********** #include "TDCommon.h" /** * @defgroup PeristalticPump PeristalticPump * @brief Peristaltic pump driver unit. Provides low level functions * to control a peristaltic pump. * * @addtogroup PeristalticPump * @{ */ // ********** public definitions ********** #define MAX_PUMP_SPEED_RPM 3000U ///< Maximum speed (in RPM) that a peristaltic pump can be set to. #define H4_HOME_SPEED_RPM 400 ///< Blood pump set speed for rotor homing operation. // ********** public function prototypes ********** void initPeristalticPumpDriver( void ); void readPeristalticPumps( void ); BOOL setPeristalticPumpSetSpeed( S32 rpm ); S32 getPeristalticPumpSetSpeed( void ); F32 getPeristalticPumpMeasSpeed( void ); F32 getPeristalticPumpMeasRotorSpeed( void ); BOOL cmdPeristalticPumpHome( void ); void cancelPeristalticPumpHome( void ); BOOL isPeristalticPumpHome( void ); BOOL isPumpHomeInProgress( void ); void setPeristalticPumpHardStop( void ); /**@}*/ #endif