Index: firmware/App/Services/Reservoirs.h =================================================================== diff -u -rebbb1f85550a1f9b8f946655f7b2b63f76fbf67d -re6f3a632890f96a5aa282922d11df148bdd06587 --- firmware/App/Services/Reservoirs.h (.../Reservoirs.h) (revision ebbb1f85550a1f9b8f946655f7b2b63f76fbf67d) +++ firmware/App/Services/Reservoirs.h (.../Reservoirs.h) (revision e6f3a632890f96a5aa282922d11df148bdd06587) @@ -14,23 +14,26 @@ * @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" +#include "NVDataMgmt.h" +/** + * @defgroup Reservoirs Reservoirs + * @brief Reservoirs service module. Maintains reservoir set points and handles reservoir related commands from the HD. + * + * @addtogroup Reservoirs + * @{ + */ + +// ********** public definitions ********** + +#define MAX_RESERVOIR_VOLUME_ML 2000 ///< Maximum reservoir volume in mL. + #pragma pack(push,1) /// Fill command data structure. @@ -68,8 +71,10 @@ // ********** public function prototypes ********** void initReservoirs( void ); -void execReservoirs( void ); +void execReservoirs( void ); +SELF_TEST_STATUS_T execReservoirsSelfTest( void ); + void setActiveReservoirCmd( DG_RESERVOIR_ID_T resID ); // handle switch reservoirs command from HD void changeValveSettingCmd( DG_VALVE_SETTING_ID_T valveSettingID ); // handle valve setting change command from HD void startFillCmd( U32 fillToVolMl ); // handle fill command from HD @@ -78,14 +83,17 @@ 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 ); + +DG_RESERVOIR_VOLUME_RECORD_T getReservoirsCalRecord( void ); BOOL hasTargetFillVolumeBeenReached( DG_RESERVOIR_ID_T reservoirId ); -BOOL hasTargetDrainVolumeBeenReached( DG_RESERVOIR_ID_T reservoirId , U32 timeout ); +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 );