/******************************************************************
 ******************************************************************
 *                                                                *
 *                 WRITE SYSTEM DATA TO SD CARD                   *
 *                                                                *
 ******************************************************************
 ******************************************************************/

 void writeSysDataToCard(void)
 {
  // =====================================================================
  // Main Loop for MicroSD Card

  // Open the file. Note that only one file can be open at a time,
  // so you have to close this one before opening another. 
  
  // CSV stands for "Comma Separated Values". It is a plain text file
  // format where each value is separated by a coma. It can be read by
  // nearly all spreadsheet and database programs.
   
     File fileSystemData = SD.open(fileSystemLog, FILE_WRITE);

  // if the file is available, write to it:
     if (fileSystemData) 
     {                  
      dataString = sdRTCStamp + "," + sdTimeStamp + "," + sdMessage + "," + sdResult;
      fileSystemData.println(dataString);
      fileSystemData.close();
     }      
     else // if the file isn't open, pop up an error:
     {
      sdTimeStamp = String(timeMillis,10);
      
      // write error to sd card if possible
         sdMessage = "SYS Data Log";
         sdResult = "Card Write Error";
         dataString = sdRTCStamp + "," + sdTimeStamp + "," + sdMessage + "," + sdResult;
         fileSystemData.println(dataString);
         fileSystemData.close();

      // Show error on Serial Monitor
         Serial.println(F("Error opening SYS data log..."));

      // show FAIL on LED
         clockDisplay.setSegments(SEG_FAIL);

      // show error on LCD
         lcd.setCursor(0,0);
         lcd.print(F("Card Write Error"));
         lcd.setCursor(0,1);
         lcd.print(F("  SYS Data Log  "));
     }   
  delay(1);  // Pause for 1 milliseconds.
 }  
