 }
 
 void printToSerial(const float value, const unsigned long now, String& weightName) {
-  if ((lastPrint + DEFAULT_WEIGHT_PRINT_TIME) < now) {
+  if ((lastPrint + DEFAULT_WEIGHT_PRINT_TIME) < now || ((useFastWeight && (last + DEFAULT_WEIGHT_TIME_FAST) < now))) {
     Serial.print(weightName);
     Serial.println(value, 1);
     lastPrint = now;

      
      printWeightOnLCD(value, weightName);

      delay(50);
      scales[i].power_down();	// put the ADC in sleep mode
      last = millis();
    }
  }
}

void loop() {
  doWeigth(0);
  delay(2);
}


  delete weight;
}

void doWeigth() {
   if (printGUI){
    return;
  }
  unsigned long now = millis();
  if (((last + DEFAULT_WEIGHT_TIME) < now) || ((useFastWeight && (last + DEFAULT_WEIGHT_TIME_FAST) < now))) {
    for (int i = 0; i < WEIGHT_SENSORS; i++) {
      lcd.setCursor(0, 1);

      String weightName = getName(i);
      float value = getValue(scales[i]);
      
#if defined(DEBUG)
         Serial.print("Value:");
         Serial.print(value);
         Serial.print(" LastValue:");
         Serial.print(lastValue);
#endif
      if ((value > (lastValue + 50)) || (value < (lastValue - 50))) {
        useFastWeight = 1;
        lastValue = value;
      } else {
        useFastWeight = 0;
      }
      
#if defined(DEBUG)
         Serial.print(" Using FastWeight:");
         Serial.println(useFastWeight);
#endif
      printToSerial(value, now, weightName);

      const int row = getRow(i);
