add logging disabled when connected via usb
This commit is contained in:
parent
7b757c3c0b
commit
71e9fd7d4f
|
@ -318,7 +318,11 @@ void display_standingDisarmedDisplay(ESCSerialComm& escFront, ESCSerialComm& esc
|
|||
display.setFont();
|
||||
display.setCursor(0,0);
|
||||
|
||||
display.print(getLogFilename());
|
||||
if (datalogging) {
|
||||
display.print(getLogFilename());
|
||||
}else{
|
||||
display.print("LOG DISABLED");
|
||||
}
|
||||
|
||||
display.print(F(" ")); display.print(loopmillis/1000);
|
||||
display.print(F("s"));
|
||||
|
|
|
@ -7,6 +7,7 @@
|
|||
#include <SD.h> //Format sd cart with FAT or FAT16. FAT32 for >1GB Cards on Teensy4.1
|
||||
|
||||
//#define SDCHIPSELECT 14
|
||||
boolean sdcard_available=false;
|
||||
boolean datalogging=true;
|
||||
String datalogging_filename="UNKNOWN.txt";
|
||||
|
||||
|
@ -23,34 +24,46 @@ void serialCommandLoop();
|
|||
|
||||
|
||||
bool initLogging() {
|
||||
Serial.print("Initializing SD card...");
|
||||
// see if the card is present and can be initialized:
|
||||
if (!SD.begin(BUILTIN_SDCARD)) {
|
||||
Serial.println("Card failed, or not present");
|
||||
display.println(F("SD Init Fail!")); display.display();
|
||||
datalogging=false; //disable logging
|
||||
delay(1000);
|
||||
return false;
|
||||
}else{
|
||||
Serial.println("Card initialized.");
|
||||
display.print(F("LOG=")); display.display();
|
||||
if (datalogging){
|
||||
int filenumber=0;
|
||||
char buffer[6];
|
||||
Serial.print("Datalogging is ");
|
||||
if (datalogging) {
|
||||
Serial.println("enabled");
|
||||
}else{
|
||||
Serial.println("disabled");
|
||||
}
|
||||
Serial.print("Initializing SD card...");
|
||||
// see if the card is present and can be initialized:
|
||||
if (!SD.begin(BUILTIN_SDCARD)) {
|
||||
Serial.println("Card failed, or not present");
|
||||
display.println(F("SD Init Fail!")); display.display();
|
||||
sdcard_available=false; //disable logging
|
||||
datalogging=false;
|
||||
delay(1000);
|
||||
return false;
|
||||
}else{
|
||||
sdcard_available=true;
|
||||
Serial.println("Card initialized.");
|
||||
display.print(F("LOG=")); display.display();
|
||||
|
||||
int filenumber=0;
|
||||
char buffer[6];
|
||||
sprintf(buffer, "%04d", filenumber);
|
||||
datalogging_filename="LOG_"+String(buffer)+".TXT";
|
||||
while(SD.exists(datalogging_filename.c_str()) && filenumber<10000) {
|
||||
//Serial.print(datalogging_filename); Serial.println(" exists");
|
||||
filenumber++;
|
||||
sprintf(buffer, "%04d", filenumber);
|
||||
datalogging_filename="LOG_"+String(buffer)+".TXT";
|
||||
while(SD.exists(datalogging_filename.c_str()) && filenumber<10000) {
|
||||
//Serial.print(datalogging_filename); Serial.println(" exists");
|
||||
filenumber++;
|
||||
sprintf(buffer, "%04d", filenumber);
|
||||
datalogging_filename="LOG_"+String(buffer)+".TXT";
|
||||
|
||||
}
|
||||
Serial.print(datalogging_filename); Serial.println(" is free");
|
||||
display.print(datalogging_filename); display.println(); display.display();
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
Serial.print(datalogging_filename); Serial.println(" is free");
|
||||
display.print(datalogging_filename);
|
||||
if (!datalogging) { //datalogging is disabled during boot
|
||||
display.print( "NO LOG");
|
||||
}
|
||||
display.println(); display.display();
|
||||
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
|
@ -58,7 +71,7 @@ void loggingLoop(unsigned long loopmillis,ESCSerialComm& escFront, ESCSerialComm
|
|||
|
||||
static unsigned long last_datalogging_write=0;
|
||||
static boolean logging_headerWritten=false;
|
||||
if (datalogging) {
|
||||
if (datalogging && sdcard_available) {
|
||||
#define LOGGINGINTERVAL 100
|
||||
if (loopmillis-last_datalogging_write>LOGGINGINTERVAL)
|
||||
{
|
||||
|
@ -123,7 +136,7 @@ void loggingLoop(unsigned long loopmillis,ESCSerialComm& escFront, ESCSerialComm
|
|||
|
||||
void writeLogComment(unsigned long time, String msg) {
|
||||
//SerialRef.print("#"); SerialRef.print(time/1000.0,3); SerialRef.print(","); SerialRef.print(msg); SerialRef.println();
|
||||
if (datalogging) {
|
||||
if (datalogging && sdcard_available) {
|
||||
File dataFile = SD.open(datalogging_filename.c_str(), FILE_WRITE);
|
||||
|
||||
if (dataFile) { // if the file is available, write to it
|
||||
|
@ -156,6 +169,7 @@ bool loadTripSD()
|
|||
myFile.close();
|
||||
Serial.println("TripSD: time written");
|
||||
}else{
|
||||
Serial.println("TripSD: could not open stats.txt");
|
||||
return false;
|
||||
}
|
||||
|
||||
|
@ -198,7 +212,7 @@ bool loadTripSD()
|
|||
}
|
||||
|
||||
void writeTrip(unsigned long loopmillis,ESCSerialComm& escFront, ESCSerialComm& escRear) {
|
||||
if (datalogging) {
|
||||
if (datalogging && sdcard_available) {
|
||||
File myFile = SD.open("stats.txt", FILE_WRITE);
|
||||
if (myFile) {
|
||||
myFile.print("trp=");
|
||||
|
@ -216,7 +230,7 @@ void writeTrip(unsigned long loopmillis,ESCSerialComm& escFront, ESCSerialComm&
|
|||
}
|
||||
|
||||
void resetTrip() {
|
||||
if (datalogging) {
|
||||
if (datalogging && sdcard_available) {
|
||||
File myFile = SD.open("stats.txt", FILE_WRITE);
|
||||
if (myFile) {
|
||||
myFile.print("trp=");
|
||||
|
|
|
@ -69,11 +69,12 @@ void setup()
|
|||
|
||||
Serial1.begin(SERIAL_LOG_BAUD); //TX1=1, RX1=0
|
||||
|
||||
//Serial2.begin(SERIAL_CONTROL_BAUD); //control, TX2=10, RX2=9
|
||||
//Serial3.begin(SERIAL_CONTROL_BAUD); //control, TX3=8, RX3=7
|
||||
|
||||
|
||||
pinMode(PIN_PWRBUTTON, INPUT_PULLUP); //Pressed=High
|
||||
if (!digitalRead(PIN_PWRBUTTON)) { //button is not pressed during startup means teensy is powered externally (usb)
|
||||
datalogging=false; //disable logging when connected via usb to not clutter up sd card
|
||||
Serial.println("PWRBUTTON not pressed. Logging disabled!");
|
||||
}
|
||||
|
||||
pinMode(PIN_LED_START, OUTPUT); //Active High
|
||||
|
||||
|
@ -102,7 +103,7 @@ void setup()
|
|||
|
||||
|
||||
initResult=initLogging();
|
||||
led_simpeProgress(2,initResult);
|
||||
led_simpeProgress(2,(initResult ? (datalogging ? 1:2):0)); //0=sd card fail, 1=sd ok and logging, 2(warn)=sd ok and logging off
|
||||
|
||||
|
||||
|
||||
|
@ -146,7 +147,7 @@ void setup()
|
|||
}
|
||||
|
||||
|
||||
if (datalogging) { //sd init was successful
|
||||
if (sdcard_available) { //sd init was successful
|
||||
initResult=loadTripSD();
|
||||
}else{
|
||||
initResult=false;
|
||||
|
|
Loading…
Reference in New Issue