Index: firmware/App/Controllers/LoadCell.h =================================================================== diff -u -r0774a37971585dacdc8398362393920c13d48426 -r8b56b0c617ac49536b8d53852b9621be873bade6 --- firmware/App/Controllers/LoadCell.h (.../LoadCell.h) (revision 0774a37971585dacdc8398362393920c13d48426) +++ firmware/App/Controllers/LoadCell.h (.../LoadCell.h) (revision 8b56b0c617ac49536b8d53852b9621be873bade6) @@ -14,35 +14,43 @@ * **************************************************************************/ -#ifndef APP_CONTROLLERS_LOADCELL_H_ -#define APP_CONTROLLERS_LOADCELL_H_ +#ifndef __LOADCELL_H__ +#define __LOADCELL_H__ #include "DGCommon.h" -void execLoadCell(void); +/** + * @defgroup LoadCells LoadCells + * @brief LoadCells monitor module. + * Monitors and filters load cell sensor readings. + * + * @addtogroup LoadCells + * @{ + */ -#define LOAD_CELL_REPORT_PERIOD (100 / TASK_PRIORITY_INTERVAL) // Send a load cell value CAN message to HD every 100 ms -#define LOAD_CELL_SAMPLES_TO_AVERAGE LOAD_CELL_REPORT_PERIOD // Averaging load cell data over the reporting interval -//#define ADC2GRAM (0.0894 / LOAD_CELL_SAMPLES_TO_AVERAGE) // division for averaging is folded into this value -#define ADC2GRAM (0.01183 / LOAD_CELL_SAMPLES_TO_AVERAGE) // division for averaging is folded into this value +// ********** public definitions ********** -F32 getLoadCellA1Ave(void); -F32 getLoadCellA2Ave(void); -F32 getLoadCellB1Ave(void); -F32 getLoadCellB2Ave(void); +/// Enumeration of load cells. +typedef enum LoadCells +{ + LOAD_CELL_A1 = 0, ///< Load cell A1. + LOAD_CELL_A2, ///< Load cell A2. + LOAD_CELL_B1, ///< Load cell B1. + LOAD_CELL_B2, ///< Load cell B2. + NUM_OF_LOAD_CELLS ///< Number of reservoirs. +} LOAD_CELL_ID_T; -BOOL testSetLoadCellA1Override( U32 ); -BOOL testResetLoadCellA1Override( void ); -BOOL testSetLoadCellA2Override( U32 ); -BOOL testResetLoadCellA2Override( void ); -BOOL testSetLoadCellB1Override( U32 ); -BOOL testResetLoadCellB1Override( void ); -BOOL testSetLoadCellB2Override( U32 ); -BOOL testResetLoadCellB2Override( void ); +// ********** public function prototypes ********** -DATA_GET_PROTOTYPE( U32, getLoadCellA1raw ); -DATA_GET_PROTOTYPE( U32, getLoadCellA2raw ); -DATA_GET_PROTOTYPE( U32, getLoadCellB1raw ); -DATA_GET_PROTOTYPE( U32, getLoadCellB2raw ); +void initLoadCell( void ); // Initialize the LoadCell module. +void execLoadCell( void ); // Execute the LoadCell monitor. +DATA_ARRAY_GET_PROTOTYPE( U32, getMeasuredRawLoadCellReading, loadCellID ); +F32 getLoadCellFilteredWeight( LOAD_CELL_ID_T loadCellID ); + +BOOL testSetLoadCellOverride( U32 value, U32 loadCellID ); +BOOL testResetLoadCellOverride( U32 loadCellID ); + +/**@}*/ + #endif /* APP_CONTROLLERS_LOADCELL_H_ */