This works, and will write
"debug 1"
"[time], debug 2"
to the text file:
void loop() {
timeStamp = millis(); // this declaration must be in void loop
Serial.println("debug 1"); //works to this point
// SD CARD
myFile = SD.open("zorro.txt", FILE_WRITE);
if (myFile) {
myFile.print(timeStamp);
myFile.print(",");
//debug
Serial.print(timeStamp);
Serial.print(",");
/* //BMP Sensor
//tempC
char tempCStr[7];
float tempC = bmp.readTemperature();
dtostrf(tempC, 1, 2, tempCStr);
/* //tempF
char tempFStr[7];
float tempF = bmp.readTemperature() * (9.0 / 5.0) + 32;
dtostrf(tempF, 1, 2, tempFStr);
/* //pressure
press = bmp.readPressure();
//alt (m) – 101325 Pa
char altMStr[12];
float altM = bmp.readAltitude();
dtostrf(altM, 1, 2, altMStr);
//alt (ft) — 101325 Pa
char altFtStr[12];
float altFt = bmp.readAltitude() * 3.28084;
dtostrf(altFt, 1, 2, altFtStr);
//real alt (m) – 101500 Pa
char raltMStr[12];
float raltM = bmp.readAltitude(101990);
dtostrf(raltM, 1, 2, raltMStr);
//real alt (ft) — 101300 Pa
char raltFtStr[12];
float raltFt = bmp.readAltitude(101990) * 3.28084;
dtostrf(raltFt, 1, 2, raltFtStr);
char hypstr[256];
sprintf(hypstr, "%s,%s,%d,%s,%s,%s,%s", tempCStr, tempFStr, press, altMStr, altFtStr, raltMStr, raltFtStr);
myFile.println(hypstr);
Serial.println(hypstr);
*/
myFile.println("debug 2");
Serial.println("debug 2");
// char hypstr[256]; //testing min arrays
// sprintf(hypstr,"%s",tempCStr); //testing min arrays
// myFile.println(hypstr);
// Serial.println(hypstr);
myFile.close();
} else {
Serial.println("error opening zorro.txt");
}
//END SD card write
delay(2000);
}
Uncommenting one single array, using sprintf for that one array, and suddenly everything stops working. But it WAS working earlier.
void loop() {
timeStamp = millis(); // this declaration must be in void loop
Serial.println("debug 1"); //works to this point
// SD CARD
myFile = SD.open("zorro.txt", FILE_WRITE);
if (myFile) {
myFile.print(timeStamp);
myFile.print(",");
//debug
Serial.print(timeStamp);
Serial.print(",");
//BMP Sensor
//tempC
char tempCStr[7];
float tempC = bmp.readTemperature();
dtostrf(tempC, 1, 2, tempCStr);
/* //tempF
char tempFStr[7];
float tempF = bmp.readTemperature() * (9.0 / 5.0) + 32;
dtostrf(tempF, 1, 2, tempFStr);
/* //pressure
press = bmp.readPressure();
//alt (m) – 101325 Pa
char altMStr[12];
float altM = bmp.readAltitude();
dtostrf(altM, 1, 2, altMStr);
//alt (ft) — 101325 Pa
char altFtStr[12];
float altFt = bmp.readAltitude() * 3.28084;
dtostrf(altFt, 1, 2, altFtStr);
//real alt (m) – 101500 Pa
char raltMStr[12];
float raltM = bmp.readAltitude(101990);
dtostrf(raltM, 1, 2, raltMStr);
//real alt (ft) — 101300 Pa
char raltFtStr[12];
float raltFt = bmp.readAltitude(101990) * 3.28084;
dtostrf(raltFt, 1, 2, raltFtStr);
char hypstr[256];
sprintf(hypstr, "%s,%s,%d,%s,%s,%s,%s", tempCStr, tempFStr, press, altMStr, altFtStr, raltMStr, raltFtStr);
myFile.println(hypstr);
Serial.println(hypstr);
*/
char hypstr[256]; //testing one array
sprintf(hypstr,"%s",tempCStr); //testing one array
myFile.println(hypstr);
Serial.println(hypstr);
myFile.close();
} else {
Serial.println("error opening zorro.txt");
}
//END SD card write
delay(2000);
}