Files
MicrOBU/obu-firmware/external/vanetza-idf/examples/esp_idf_test/main/main.cpp
T
Ashin Walpola d107534eb2 Keep vanetza-idf in obu-firmware, so a plain clone builds the firmware
obu-firmware builds against the vanetza-idf C-ITS library, which until now
came from the colleague's microbu-esp32c5 tree beside the repository and was
not tracked here, so a clone of this repository could not build the firmware
it ships. The library alone is now part of obu-firmware, as
obu-firmware/external/vanetza-idf: their external/vanetza-idf at commit
cf4b99f, unchanged (9775 files; see its PROVENANCE.md). CMake takes it from
there by default; -DVANETZA_IDF_DIR still points the build elsewhere.

The rest of the colleague's tree (their own VAM firmware, PKI tooling,
station-link Python tools, the V2X2MAP bridge) stays out of this repository
and gitignored; nothing is pushed to their repository. NOTES.md, docs/06,
TODO.md and the pcap verifier's usage line point at the new location.
2026-09-24 10:56:05 +02:00

31 lines
1.3 KiB
C++

#include <cstdio>
#include <esp_task_wdt.h>
#include <nvs_flash.h>
#include <freertos/FreeRTOS.h>
#include <freertos/task.h>
int vidf_test_main();
void run_hil_server();
extern "C" void app_main() {
// The ESP32-C5 ROM UART0 clock repair for warm resets is applied by the component
// itself (ports/esp_idf/src/esp32c5_rom_uart_clock.c) before app_main runs.
std::puts("vanetza-idf component tests beginning");
// NVS for the credential store tests (the application's job, credentials.hpp)
esp_err_t nvs = nvs_flash_init();
if (nvs == ESP_ERR_NVS_NO_FREE_PAGES || nvs == ESP_ERR_NVS_NEW_VERSION_FOUND) {
ESP_ERROR_CHECK(nvs_flash_erase());
nvs = nvs_flash_init();
}
ESP_ERROR_CHECK(nvs);
// The security tests run about a minute of software ECDSA without yielding; give the
// idle-task watchdog that long instead of interleaving its reports with the output.
esp_task_wdt_config_t watchdog = {};
watchdog.timeout_ms = 300000;
watchdog.idle_core_mask = (1 << portNUM_PROCESSORS) - 1;
watchdog.trigger_panic = false;
esp_task_wdt_reconfigure(&watchdog);
const int result = vidf_test_main();
std::printf("VIDF_TEST_RESULT=%d\n", result);
if (result == 0) run_hil_server();
for (;;) vTaskDelay(pdMS_TO_TICKS(1000));
}