/************************************************************************** * * Copyright (c) 2020-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 LoadCell.h * * @author (last) Dara Navaei * @date (last) 17-May-2023 * * @author (original) Saeed Nejatali * @date (original) 25-Feb-2020 * ***************************************************************************/ #ifndef __LOADCELL_H__ #define __LOADCELL_H__ #include "DGCommon.h" #include "DGDefs.h" /** * @defgroup LoadCells LoadCells * @brief LoadCells monitor module. Monitors and filters load cell sensor readings. * * @addtogroup LoadCells * @{ */ // ********** public definitions ********** #define EMPTY_RESERVOIR_WEIGHT_GRAMS 1700.0F ///< Reservoirs empty weight in grams. // ********** public function prototypes ********** void initLoadCell( void ); // Initialize the LoadCell module. void execLoadCell( void ); // Execute the LoadCell monitor. SELF_TEST_STATUS_T execLoadCellsSelfTest ( void ); void tareLoadCell( LOAD_CELL_ID_T loadCellID ); void resetLoadCellOffset( LOAD_CELL_ID_T loadCellID ); F32 getLoadCellWeight( LOAD_CELL_ID_T loadCellID ); F32 getLoadCellSmallFilteredWeight( LOAD_CELL_ID_T loadCellID ); F32 getLoadCellLargeFilteredWeight( LOAD_CELL_ID_T loadCellID ); F32 getLoadCellVelocity( LOAD_CELL_ID_T loadCellID ); BOOL testSetLoadCellOverride( U32 loadCellID, F32 value, BOOL raw ); BOOL testResetLoadCellOverride( U32 loadCellID, BOOL raw ); BOOL testSetLoadCellDataPublishIntervalOverride( U32 value ); BOOL testResetLoadCellDataPublishIntervalOverride( void ); void getLoadCellsTareValues( U08* bufferAddress ); void setLoadCellsTareValues( U08* bufferAddress ); /**@}*/ #endif