Index: firmware/App/Services/Reservoirs.h =================================================================== diff -u -r54f45c387430e440ab4607451fc84dea61f273f1 -r87a22cbaa87daab0d7cedabc67452cead83d8630 --- firmware/App/Services/Reservoirs.h (.../Reservoirs.h) (revision 54f45c387430e440ab4607451fc84dea61f273f1) +++ firmware/App/Services/Reservoirs.h (.../Reservoirs.h) (revision 87a22cbaa87daab0d7cedabc67452cead83d8630) @@ -36,7 +36,16 @@ RESERVOIR_1 = 0, ///< Reservoir number 1 RESERVOIR_2, ///< Reservoir number 2 NUM_OF_RESERVOIRS ///< Number of reservoirs -} RESERVOIR_ID_T; +} RESERVOIR_ID_T; + +#pragma pack(push,1) +/// Enumeration of drain command. +typedef struct +{ + U32 targetVolume; ///< Target volume to drain to (in mL) + BOOL tareLoadCell; ///< Flag to tare load call +} DRAIN_CMD_T; +#pragma pack(pop) // ********** public function prototypes ********** @@ -46,14 +55,17 @@ BOOL setActiveReservoirCmd( RESERVOIR_ID_T resID ); // handle switch reservoirs command from HD BOOL startFillCmd( U32 fillToVolMl ); // handle fill command from HD BOOL stopFillCmd( void ); // handle stop fill command from HD -BOOL startDrainCmd( U32 drainToVolMl ); // handle drain command from HD +BOOL startDrainCmd( DRAIN_CMD_T drainCmd ); // handle drain command from HD BOOL stopDrainCmd( void ); // handle stop drain command from HD BOOL startTrimmerHeaterCmd( void ); // handle start trimmer heater control command from HD BOOL stopTrimmerHeaterCmd( void ); // handle stop trimmer heater control command from HD -RESERVOIR_ID_T getActiveReservoir( void ); +RESERVOIR_ID_T getActiveReservoir( void ); +RESERVOIR_ID_T getInactiveReservoir( void ); U32 getReservoirFillVolumeTargetMl( void ); -U32 getReservoirDrainVolumeTargetMl( void ); + +void resetReservoirLoadCellsOffset( RESERVOIR_ID_T reservoirId ); +BOOL hasTargetDrainVolumeReached( RESERVOIR_ID_T reservoirId , U32 timeout ); BOOL testSetDGActiveReservoirOverride( RESERVOIR_ID_T value ); BOOL testResetDGActiveReservoirOverride( void );