Hi,
I have ported my datalogging program from Arduino Mega to the M5Stack Core 2 for AWS.
It all is now working as I expected except for one behavior.
On the Arduino, I could open an existing file on SD card and append data to the end of the file.
On the M5Stack, I can create, open, write to, and close a file on the SD card.
But when I re-open this file and write more data, it overwrites the existing data in the file.
It appears the FILE_WRITE specifier is allowing write access but is not moving the file pointer to its end...not sure why not?
Can anyone suggest what I am doing wrong or provide a workaround?
Thanks!
The relevant portion of my test code is below; apologies if it comes through with weird formatting:
if (!SD.begin(4,SPI,40000000)) { // ******M5 CS line is GPIO4
Serial.println("initialization failed!");
while (1);
}
Serial.println("initialization done.");
// open the file. note that only one file can be open at a time,
// so you have to close this one before opening another.
NewFile = SD.open("/TRIAL.TXT",FILE_WRITE);
char message1[64]="This is just a test"; // 64 byte array
char message2[64]="It seems to be working so far!";
// delay(5000);
// if the file opened okay, write to it:
if (NewFile) {
NewFile.println(message1);
NewFile.println(message2);
// close the file:
NewFile.close();
} else {
// if the file didn't open, print an error:
Serial.println("error initially opening test.txt");
}
// Now try reopening file and writing more data into it
delay(100);
NewFile = SD.open("/TRIAL.TXT",FILE_WRITE); //*******Reopen for more writing
NewFile.println("Trying to add this additional line");
NewFile.close();
delay(100);