 }
 // Logging of measurements
 void logData(){
+  // Give feedback when first log is made and can be requsted.
+  if (sLog.length() == 0){
+    Serial.println("> Type 'csv' to get the log data.\r\n");
+  }
   String sTime = getTimeString();
   // Get for temperature, humidity and CO2 the lowest, average and highest measurements of the last logging interval:
   String sTemperatureMin = floatToString( temperatures.minimum() );

 Loop
/****************************/
void loop(){

  if (timeStatus() == timeSet) {
    if ( pollingLoopCounter == POLLING_INTERVAL ){
      pollData();
      pollingLoopCounter = 0;
    }
    pollingLoopCounter++;
    if ( logLoopCounter == LOG_INTERVAL ){
      logData();
      logLoopCounter = 0;
    }
    logLoopCounter++;
    if (Serial.available()) {
      processSerialCommandInput();   
    }
  }
  else {
    if (Serial.available()) {
      processDateInput();   
    }
  }
  delay(1000);
}

/****************************

COZIR czr(nss);

// We poll more often than we log, so we can register some extremes occurring during the logging intervals without having to log huge amounts of data.
const int LOG_INTERVAL = 60*60; // Seconds between each log. 
const byte POLLS_PER_LOG = 5; // Number of polls per logged entry.
const int POLLING_INTERVAL = LOG_INTERVAL / POLLS_PER_LOG; // In seconds. This number can stay high. It takes about 30s for big changes even to be picked up as a small difference by the sensor.

// Special declaration for variables that are averaged with the Average library.
Average<float> temperatures(POLLS_PER_LOG);
Average<float> humidity(POLLS_PER_LOG);
Average<int> CO2(POLLS_PER_LOG);

// This will contain the log:
String sLog;
