# V2X2MAP bridge (vendored, bridge-only) This is a pruned copy of the `bridge/` component of [V2X2MAP](https://github.com/711it/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](https://codeberg.org/opentrafficmap/its-g5-receiver-firmware) extended with BLE streaming, an Android app and a Windows installer — see [the upstream project](https://github.com/711it/v2x2map) 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`).