diff --git a/.gitignore b/.gitignore deleted file mode 100644 index 0535523..0000000 --- a/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -.vscode/c_cpp_properties.json -.vscode/launch.json -.vscode/settings.json diff --git a/G26-Telemetria.ino b/G26-Telemetria.ino index 23bde5a..ef01df3 100644 --- a/G26-Telemetria.ino +++ b/G26-Telemetria.ino @@ -17,7 +17,7 @@ CAN can_interface; DataProcessor processor; void setup() { - Serial.begin(2000000); + Serial.begin(115200); delay(1000); Serial.println("\n--- G26 TELEMETRY: INICIO DE SISTEMA ---"); @@ -28,9 +28,8 @@ void setup() { if (logFile.open("G26.csv", O_RDWR | O_CREAT | O_APPEND)) { // Si el archivo es nuevo (tamaño 0), escribimos la cabecera - if (logFile.fileSize() == 0) { + if (logFile.size() == 0) { logFile.println("Time,ECT"); - logFile.sync(); } // El archivo se queda abierto y listo. diff --git a/src/data_processor.cpp b/src/data_processor.cpp index bfc23b1..9b638b1 100644 --- a/src/data_processor.cpp +++ b/src/data_processor.cpp @@ -150,19 +150,18 @@ void DataProcessor::flushToSD() { // Verificamos que los punteros existan Y que el archivo esté abierto if (_sd && _logFile && _logFile->isOpen()) { - // 1. ESTRUCTURACIÓN EN RAM (El método snprintf) - // Reservamos 128 bytes de memoria temporal. - char buffer[128]; - - // Ensamblamos la cadena en la RAM. snprintf devuelve la longitud real de la cadena. - int len = snprintf(buffer, sizeof(buffer), "%lu,%d\n", millis(), car.ect); - - _logFile->write(buffer, len); +// 1. Escribimos al BUFFER (RAM) - Esto es instantáneo (microsegundos) + _logFile->print(millis()); + _logFile->print(","); + _logFile->println(car.ect); // 2. SYNC CONTROLADO + // Solo obligamos a la tarjeta a "escribir de verdad" si ha pasado X tiempo. + // Esto evita detener el CAN cada 10ms. if (millis() - _last_sync_time > _sync_interval_ms) { - _logFile->sync(); + _logFile->sync(); // Aquí sí gastamos tiempo, pero solo 1 vez por segundo _last_sync_time = millis(); + // Serial.println("[SD] Sync realizado"); // Descomentar solo para debug } } -} \ No newline at end of file +}