Index: firmware/App/Controllers/LoadCell.c =================================================================== diff -u -r7d4711edd7b40cd3e29f43e766f79a8a09586fe9 -r204449b976f0dc586cbcc49026ba4ed362651e8d --- firmware/App/Controllers/LoadCell.c (.../LoadCell.c) (revision 7d4711edd7b40cd3e29f43e766f79a8a09586fe9) +++ firmware/App/Controllers/LoadCell.c (.../LoadCell.c) (revision 204449b976f0dc586cbcc49026ba4ed362651e8d) @@ -122,7 +122,7 @@ loadcells[ i ].weight.ovData = 0.0F; loadcells[ i ].weight.ovInitData = 0.0F; loadcells[ i ].weight.override = OVERRIDE_RESET; - loadcells[ i ].autoCalOffset = 0.0F; + loadcells[ i ].autoCalOffset = EMPTY_RESERVOIR_WEIGHT_GRAMS; loadcells[ i ].largeFilterTotal = 0.0F; loadcells[ i ].largeFilteredWeight = 0.0F; loadcells[ i ].smallFilterTotal = 0.0F; @@ -358,11 +358,9 @@ // Check if the load cell is being tared for the first time if ( hasLoadCellBeenTared[ loadCellID ] != TRUE ) { - // For the first tare, the weight of the reservoir should be considered + // For the first tare, the weight of the reservoir should be considered so the weight tolerance is bigger // The current weight of the load cell should not be greater than the weight of the reservoir + the extra weight - F32 deltaWeight = fabs( weight - EMPTY_RESERVOIR_WEIGHT_GRAMS ); - - isWeightOutOfRange = ( deltaWeight > MAX_ALLOWED_EXTRA_WEIGHT_BEFORE_FIRST_TARE_GRAMS ? TRUE : FALSE ); + isWeightOutOfRange = ( weight > MAX_ALLOWED_EXTRA_WEIGHT_BEFORE_FIRST_TARE_GRAMS ? TRUE : FALSE ); } else {