Index: firmware/App/Services/Reservoirs.h =================================================================== diff -u -r021e6ea5f99fd6da424d8ab81d6a106f2cb41294 -r8ddb7d51e6ab02591cb1c5692f62cfdf26ec7866 --- firmware/App/Services/Reservoirs.h (.../Reservoirs.h) (revision 021e6ea5f99fd6da424d8ab81d6a106f2cb41294) +++ firmware/App/Services/Reservoirs.h (.../Reservoirs.h) (revision 8ddb7d51e6ab02591cb1c5692f62cfdf26ec7866) @@ -14,23 +14,23 @@ * @date (original) 18-Mar-2020 * ***************************************************************************/ - -#ifndef __RESERVOIRS_H__ -#define __RESERVOIRS_H__ +#ifndef __RESERVOIRS_H__ +#define __RESERVOIRS_H__ + #include "DGCommon.h" -#include "DGDefs.h" - -/** - * @defgroup Reservoirs Reservoirs - * @brief Reservoirs service module. Maintains reservoir set points and handles reservoir related commands from the HD. - * - * @addtogroup Reservoirs - * @{ - */ - -// ********** public definitions ********** +#include "DGDefs.h" +/** + * @defgroup Reservoirs Reservoirs + * @brief Reservoirs service module. Maintains reservoir set points and handles reservoir related commands from the HD. + * + * @addtogroup Reservoirs + * @{ + */ + +// ********** public definitions ********** + #pragma pack(push,1) /// Fill command data structure. @@ -55,6 +55,14 @@ U32 rejectCode; ///< Reason code for rejecting the command } DG_CMD_RESPONSE_T; +/// Reservoir data struct. +typedef struct +{ + U32 activeReservoir; ///< Active reservoir ID + U32 fillToVolumeMl; ///< Volume target to fill to + U32 drainToVolumeMl; ///< Volume target to drain to +} RESERVOIR_DATA_T; + #pragma pack(pop) // ********** public function prototypes ********** @@ -70,16 +78,15 @@ void stopDrainCmd( void ); // handle stop drain command from HD void tareReservoir( void ); - void resetReservoirsLowestWeight( void ); - + DG_RESERVOIR_ID_T getInactiveReservoir( void ); F32 getReservoirWeight( DG_RESERVOIR_ID_T reservoirId ); BOOL hasTargetFillVolumeBeenReached( DG_RESERVOIR_ID_T reservoirId ); -BOOL hasTargetDrainVolumeBeenReached( DG_RESERVOIR_ID_T reservoirId , U32 timeout ); - -void resetReservoirLoadCellsOffset( DG_RESERVOIR_ID_T reservoirId ); +BOOL hasTargetDrainVolumeBeenReached( DG_RESERVOIR_ID_T reservoirId, U32 timeout ); +void tareLoadCellsAtEmpty( DG_RESERVOIR_ID_T reservoirId ); +BOOL isReservoirTarePending( void ); BOOL testSetDGActiveReservoirOverride( DG_RESERVOIR_ID_T value ); BOOL testResetDGActiveReservoirOverride( void );