Bugfix: Squash sd card writing issue
This commit is contained in:
parent
f80571e444
commit
d0d303bc4b
2 changed files with 10 additions and 6 deletions
|
@ -69,10 +69,10 @@
|
||||||
#define PIN_SPI_CS_SD 3
|
#define PIN_SPI_CS_SD 3
|
||||||
|
|
||||||
// The filename on the microSD card to store data in.
|
// The filename on the microSD card to store data in.
|
||||||
#define SD_FILENAME F("DATA.TSV")
|
#define SD_FILENAME "DATA.TSV"
|
||||||
|
|
||||||
// Whether to write debug information to the filename below. This could compromise privacy, so it should be commented out for production.
|
// Whether to write debug information to the filename below. This could compromise privacy, so it should be commented out for production.
|
||||||
// #define SD_DEBUG_ENABLED
|
// #define SD_DEBUG_ENABLED
|
||||||
|
|
||||||
// The filename on the microSD card to store debug information in
|
// The filename on the microSD card to store debug information in
|
||||||
#define SD_FILENAME_DEBUG F("DEBUG.LOG")
|
#define SD_FILENAME_DEBUG "DEBUG.LOG"
|
||||||
|
|
|
@ -11,14 +11,18 @@
|
||||||
|
|
||||||
void store_reading(uint32_t id, GPSLocation location) {
|
void store_reading(uint32_t id, GPSLocation location) {
|
||||||
SdFat card;
|
SdFat card;
|
||||||
if(!card.begin(PIN_SPI_CS_SD)) {
|
if(!card.begin(PIN_SPI_CS_SD, SD_SCK_MHZ(50))) {
|
||||||
Serial.println(F("Error: MicroSD card init failed"));
|
card.initErrorHalt();
|
||||||
while(true) delay(100);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Open the file to write the data to. If it doesn't exist it will be created.
|
// Open the file to write the data to. If it doesn't exist it will be created.
|
||||||
// Unlike elsewhere, FILE_WRITE opens the file with the cursor starting at the end, so it's basically actually equivalent to FILE_APPEND that we use in other environments. Confusing, I know.
|
// Unlike elsewhere, FILE_WRITE opens the file with the cursor starting at the end, so it's basically actually equivalent to FILE_APPEND that we use in other environments. Confusing, I know.
|
||||||
File handle = card.open(SD_FILENAME, O_APPEND | O_CREAT | O_WRONLY);
|
SdFile handle;
|
||||||
|
if(!handle.open(SD_FILENAME, O_WRITE | O_CREAT | O_APPEND)) {
|
||||||
|
Serial.println(F("Failed to open file"));
|
||||||
|
while(true) delay(1);
|
||||||
|
}
|
||||||
|
|
||||||
uint8_t places = 6;
|
uint8_t places = 6;
|
||||||
handle.printField(id, '\t');
|
handle.printField(id, '\t');
|
||||||
handle.printField(location.lat, '\t', places);
|
handle.printField(location.lat, '\t', places);
|
||||||
|
|
Loading…
Reference in a new issue