Files
canFD_esp32_glm-oh-my-open-/esp32_canfd_logger.ino
2026-02-20 17:50:40 +00:00

66 lines
1.6 KiB
C++

// ESP32-S3 CAN FD Logger with WiFi Real-time Display
// Main entry point for Arduino IDE
// Board: ESP32S3 Dev Module
#include "config.h"
#include "task_config.h"
#include "can_handler.h"
#include "sd_logger.h"
#include "rtc_manager.h"
#include "web_server.h"
#include "dbc_parser.h"
#include "signal_manager.h"
#include "auto_trigger.h"
#include "psram_buffer.h"
#include "test_handler.h"
void setup() {
Serial.begin(115200);
delay(1000);
Serial.println("================================");
Serial.println("ESP32-S3 CAN FD Logger");
Serial.println("Version 2.0 - PSRAM Optimized");
Serial.println("================================");
if (psramFound()) {
Serial.printf("PSRAM found: %d MB\n", ESP.getPsramSize() / (1024 * 1024));
} else {
Serial.println("WARNING: PSRAM not found!");
}
if (!initPSRAMBuffers()) {
Serial.println("PSRAM buffer initialization failed!");
}
initFreeRTOSResources();
initRTC();
initSDCard();
createLogDirectories();
initCAN();
initSignalManager();
initAutoTrigger();
initTestHandler();
createAllTasks();
printMemoryStatus();
Serial.println("System ready!");
Serial.printf("AP SSID: %s\n", WIFI_AP_SSID);
}
void loop() {
static uint32_t lastCheck = 0;
if (millis() - lastCheck > 30000) {
lastCheck = millis();
Serial.printf("[Status] Heap: %d KB, PSRAM: %d KB, Buffer: %d/%d frames\n",
ESP.getFreeHeap() / 1024,
ESP.getFreePsram() / 1024,
canFrameBuffer.available(),
canFrameBuffer.capacity());
}
vTaskDelay(pdMS_TO_TICKS(1000));
}