Index: firmware/App/Controllers/SyringePump.h =================================================================== diff -u -r46b163d19c65e8c21db7b0247bbb1af0dba1ece5 -rcd5be724d5a3ba7457e761191d82f278654d7f5c --- firmware/App/Controllers/SyringePump.h (.../SyringePump.h) (revision 46b163d19c65e8c21db7b0247bbb1af0dba1ece5) +++ firmware/App/Controllers/SyringePump.h (.../SyringePump.h) (revision cd5be724d5a3ba7457e761191d82f278654d7f5c) @@ -1,14 +1,14 @@ /************************************************************************** * -* Copyright (c) 2021-2022 Diality Inc. - All Rights Reserved. +* Copyright (c) 2021-2024 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) 09-Aug-2022 +* @date (last) 31-Aug-2023 * * @author (original) Sean Nash * @date (original) 04-Mar-2021 @@ -32,16 +32,19 @@ // ********** public definitions ********** +#define SYRINGE_PUMP_PRIME_VOLUME_ML 0.353F ///< Target syringe prime volume (in mL). +#define SYRINGE_PUMP_FILL_VOLUME_OFFSET_ML 0.8F ///< Advised fill volume offset due to HW variance. + /// Enumeration of syringe pump operations. typedef enum SyringePumpOperations { - SYRINGE_PUMP_OP_STOP = 0, - SYRINGE_PUMP_OP_RETRACT = 1, - SYRINGE_PUMP_OP_SEEK = 2, - SYRINGE_PUMP_OP_PRIME = 3, - SYRINGE_PUMP_OP_BOLUS = 4, - SYRINGE_PUMP_OP_CONTINUOUS = 5, - NUM_OF_SYRINGE_PUMP_OPS + SYRINGE_PUMP_OP_STOP = 0, ///< Syringe pump stopped - no operation. + SYRINGE_PUMP_OP_RETRACT = 1, ///< Syringe pump retract operation. Retract to home postion. + SYRINGE_PUMP_OP_SEEK = 2, ///< Syringe pump seek operation. Seek syringe plunger. + SYRINGE_PUMP_OP_PRIME = 3, ///< Syringe pump prime operation. Prime Heparin line. + SYRINGE_PUMP_OP_BOLUS = 4, ///< Syringe pump bolus operation. Deliver bolus volume of Heparin. + SYRINGE_PUMP_OP_CONTINUOUS = 5, ///< Syringe pump continuous dispense operation. Deliver Heparin at set rate. + NUM_OF_SYRINGE_PUMP_OPS = 6 ///< Number of syringe pump operation. } SYRINGE_PUMP_OPERATION_T; /// Payload record structure for the syringe pump operation request message. @@ -72,6 +75,7 @@ typedef struct { F32 syringePumpVolumeDelivered; ///< Syringe pump volume delivered. + F32 syringePumpVolumeRequired; ///< Syringe pump volume required for therapy. } SYRINGE_PUMP_VOLUME_DATA_T; // ********** public function prototypes ********** @@ -86,11 +90,13 @@ void setHeparinStopped( void ); void setHeparinCompleted( void ); HEPARIN_STATE_T getHeparinState( void ); +void resetPreLoadStatus( void ); void stopSyringePump( void ); BOOL retractSyringePump( void ); +BOOL preloadSyringePlunger( void ); BOOL seekSyringePlunger( void ); BOOL primeSyringePump( void ); -BOOL checkForPrimeOcclusion( void ); +BOOL checkForSyringeOcclusion( BOOL stopPump ); BOOL startHeparinBolus( void ); BOOL startHeparinContinuous( void ); BOOL setSyringePumpDACVref( void ); @@ -104,6 +110,7 @@ BOOL isSyringeVolumeAdequate( void ); BOOL isSyringePumpPrimed( void ); BOOL isSyringePumpRunning( void ); +BOOL isSyringePumpPreLoaded( void ); F32 getSyringePumpVolumeDelivered( void ); BOOL testSetSyringePumpDataPublishIntervalOverride( U32 value );