Index: firmware/App/Controllers/LoadCell.c =================================================================== diff -u -r2f587478f8ced570a80ef4985c764148566c9878 -r8019022033c6d69a0748a11a1482de211aabf229 --- firmware/App/Controllers/LoadCell.c (.../LoadCell.c) (revision 2f587478f8ced570a80ef4985c764148566c9878) +++ firmware/App/Controllers/LoadCell.c (.../LoadCell.c) (revision 8019022033c6d69a0748a11a1482de211aabf229) @@ -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