Index: firmware/App/Controllers/LoadCell.c =================================================================== diff -u -r8e76e184113c751f5da2b950b7866c3dfd2cf1ad -r841488453af37620e44b4b9bf3126bf98602fe0c --- firmware/App/Controllers/LoadCell.c (.../LoadCell.c) (revision 8e76e184113c751f5da2b950b7866c3dfd2cf1ad) +++ firmware/App/Controllers/LoadCell.c (.../LoadCell.c) (revision 841488453af37620e44b4b9bf3126bf98602fe0c) @@ -370,13 +370,13 @@ if ( ( DG_MODE_SERV == getCurrentOperationMode() ) && ( loadcells[ loadCellID ].autoCalOffset <= NEARLY_ZERO ) ) { // In service mode, some of the tests are done when the auto call offset is needed and some when is not needed. - // Once the tare command is issued, we need an auto cal value other than 0 otherwise the tare will fail since we will be at least 1700 grams + // Once the tare command is issued, an auto cal value other than 0 is needed otherwise the tare will fail since the weight is at least 1700 grams // which is the weight of the empty reservoirs. So for that matter, if the reservoirs have not been tared in the service mode meaning // that the auto cal offset is zero, use the default values from the cal records. CAL_DATA_DG_RESERVOIRS_T rsrvr = ( ( LOAD_CELL_RESERVOIR_1_PRIMARY == loadCellID ) || ( LOAD_CELL_RESERVOIR_1_BACKUP == loadCellID ) ? CAL_DATA_RSRVR_1 : CAL_DATA_RSRVR_2 ); - loadcells[ loadCellID ].autoCalOffset = reservoirsCalRecord.reservoir[ rsrvr ].rsrvrUnfilledWeight; + weight -= reservoirsCalRecord.reservoir[ rsrvr ].rsrvrUnfilledWeight; } // Check if the load cell is being tared for the first time