diff --git a/controller_teensy/src/main.cpp b/controller_teensy/src/main.cpp index e34650f..4d8e29a 100644 --- a/controller_teensy/src/main.cpp +++ b/controller_teensy/src/main.cpp @@ -21,6 +21,10 @@ unsigned long last_log_send=0; #define SENDPERIOD 20 //ms. delay for sending speed and steer data to motor controller via serial #define LOGMININTERVAL 20 //minimum interval (ms) to send logs +#define LOGMAXINTERVAL 10000 //maximum time (ms) after which data is send + +#define WRITE_HEADER_TIME 1000 +bool log_header_written = false; bool controllers_connected=false; @@ -270,8 +274,10 @@ void loop() { controllers_connected=false; }else if(!controllers_connected) { //not timeouted but was before controllers_connected=true; - writeLogHeader(Serial1); //connection recovered, write log header } + + + if (newData2) { @@ -343,8 +349,15 @@ void loop() { } + + // ######## LOG ######## + + if (!log_header_written && loopmillis>=WRITE_HEADER_TIME){ + writeLogHeader(Serial1); //connection recovered, write log header + log_header_written=true; + } - if (log_update && loopmillis>last_log_send+LOGMININTERVAL) { + if ((log_header_written && log_update && loopmillis>last_log_send+LOGMININTERVAL) || loopmillis>last_log_send+LOGMAXINTERVAL) { last_log_send=loopmillis; log_update=false; writeLog(Serial1,loopmillis, motorparamsFront,motorparamsRear, FeedbackFront, FeedbackRear, filtered_currentAll, throttle_pos, brake_pos);