66 lines
1.6 KiB
C++
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));
|
|
}
|