SD card write very random, mostly not working

No love.

Made the code modifications:

void setup()
{
  pinMode(10,OUTPUT);
  digitalWrite(10,HIGH);
  // Start Serial for debugging on the Serial Monitor
  Serial.begin(9600);
  pinMode(SS, OUTPUT);
  Wire.begin();
  rtc.begin();
  am2315.begin();
  
  if (!SD.begin(chipSelect)) Serial.println("Card failed, or not present");
  
  if (!SD.exists(filename)) {
      // only open a new file if it doesn't exist
      dataFile = SD.open(filename, FILE_WRITE);
      delay(100);
      dataFile.print(F("Date,Time,"));
      dataFile.print(F("Temp1,Hum1,Temp2,Hum2,Temp3,Hum3,Temp4,Hum4,Temp5,Hum5,"));
      dataFile.print(F("Temp6,Hum6,Temp7,Hum7,Temp8,Hum8,Temp9,Hum9,Temp10,Hum10,"));
      dataFile.print(F("Temp11,Hum11,Temp12,Hum12,Temp13,Hum13,Temp14,Hum14,Temp15,Hum15,"));
      dataFile.println(F("Temp16,Hum16,Temp17,Hum17,Temp18,Hum18,Temp19,Hum19,Temp20,Hum20,ExtTemp,ExtHum"));
      dataFile.close(); 
           }

And the same behavior. It opens/creates the file. Writes the header information just fine. Writes the time stamp. Not the data.

Now this was with the just print out the whole transmission1 in one big go, like this:

dataFile = SD.open(filename, FILE_WRITE);
    saveSDtime();
    dataFile.println(transmission1);

.
I may try parsing and saving one item at a time. No luck with this method either:

   dataFile = SD.open(filename, FILE_WRITE);
    saveSDtime();
 //   dataFile.println(transmission1);
    char* sddata;
    sddata = strtok(transmission1,",");
    while (sddata != NULL)
    {
      dataFile.print(sddata);
      dataFile.print(",");
      sddata = strtok(NULL,",");
      dataFile.flush();
      delay(10);
    }
    dataFile.println();
    delay(1000);
    dataFile.close();

Tim

D_DATA.CSV (356 Bytes)