obu-firmware builds against vanetza-idf from microbu-esp32c5/external, but that tree was gitignored, so a clone of this repository could not build the firmware it ships. It is now committed here as ordinary files in its own folder, microbu-esp32c5/: the colleague's commit cf4b99f plus the V2X2MAP bridge's signature verification (--trust) used on the bench. Nothing is fetched from or pushed to the colleague's repository; this repository and its remotes carry everything. The folder's own .gitignore keeps build output, downloaded components and private key material out, as it did there; the committed file set is identical to that repository's tracked files. The ESP32-C5 is still flashed from obu-firmware/, which only takes vanetza-idf from microbu-esp32c5/, so the two stay separate folders. FLASHING.md says how to take a newer version of the colleague's tree (copy it over the folder, rebuild, test, commit).
1.8 KiB
V2X2MAP bridge (vendored, bridge-only)
This is a pruned copy of the bridge/ component of
V2X2MAP 0.3.0, a receiver/live-map tool
for ITS-G5 V2X traffic. V2X2MAP is itself a fork of
opentrafficmap/its-g5-receiver-firmware
extended with BLE streaming, an Android app and a Windows installer — see
the upstream project for the full
firmware/Android/iOS sources and license (MIT, LICENSE in this directory).
Why it is here
bridge/ is the host-side Python tool (serial/BLE ingestion, dashboard,
recording, VAM/CAM decoding) used for prototyping and to sanity-check VAM
decoding independently of this project's own external/vanetza-idf
stack. It has been locally modified to decode VAMs (bridge/vam.py,
bridge/test_vam.py, bridge/asn1/) and, since 2026-09-14, to look inside
signed GeoNetworking packets (bridge/secured.py: a bounded COER walk of the
TS 103 097 Ieee1609Dot2Data that returns the unsecured payload, PSID,
generation time and signer; the signature is not verified, the dashboard
says "signed … not verified").
The Android app and the receiver firmware from the original project are not
carried into this repository; this project uses its own ESP32-C5 firmware
(firmware/, external/vanetza-idf/) instead.
bridge/firmware/*.bin is a small set of prebuilt images kept only so the
bridge's recording/decode workflow can be exercised against a receiver board
without a separate firmware build.
Use
See bridge/its_g5_bridge.py and bridge/dashboard_server.py for the
serial/BLE bridge and local dashboard; bridge/vam.py for the VAM decode
path. bridge/requirements.txt lists its Python dependencies (separate from
this project's own station-link/python/requirements.txt).