obu-firmware is now a port of the colleague's standalone VRU station (microbu-esp32c5/firmware, kept beside this repository and gitignored): the vanetza-idf C-ITS stack with the TS 103 097 security entity, credentials in NVS, the station-link v1 protocol over the native USB port (frame type 0x10 in the existing 0xAA55 framing) and over a BLE GATT peripheral, and its ITS-G5 radio adapter. The phone still builds CAM and VAM; the board adds GeoNetworking/BTP and signs with the provisioned authorization ticket. The private key never leaves the board. Builds with ESP-IDF 6.0.2 only, which vanetza-idf pins for the radio's private driver ABI. The previous C firmware stays on disk unbuilt; a full-flash backup of the bench board is kept in firmware-backups/ (gitignored). Changed against the colleague's firmware, marked MicrOBU: in the sources: - Reception unchanged for the app. vanetza-idf drops what it cannot verify (unsigned traffic, every RSU), so each captured frame also goes through the previous gn_unwrap.c and reaches the phone as link opcode V2X_RX (0x85), whose body is the old SERIAL_MSG_V2X_RX payload. - Unsigned transmission still possible, with the previous geonet.c header; the phone chooses per message. - Console on UART0 (CH343 port); the native USB port carries only link frames. - BLE advertising pauses while the USB link is in use: BLE and ITS-G5 share one RF front end. - NVS 80 KB (app at 0x20000). At 24 KB, with Wi-Fi settings the previous firmware left behind, the BLE bond could not be stored and the phone had to pair on every connection. - Bench fixes: the radio queue is drained before the first PoTi (no RX and ~177 queue drops before); the station loop waited pdMS_TO_TICKS(5) = 0 ticks at 100 Hz and starved the idle task; the 2.4 KB RX capture buffer is off the Wi-Fi task stack; BLE notifications longer than the MTU are dropped instead of cut short, MTU 517; serial writes are skipped with no USB host. - Manual country policy and TX-power read-back from the previous radio setup; logs for BLE encryption changes and the number of stored bonds. Verified on the bench board (COM3) with the phone over USB and BLE: CAM and VAM, signed and unsigned, go out; reception of the sim car and the RSU's CAM/SPATEM/MAPEM continues; the board survives app restarts and reconnects. See docs/06-signed-its-vam-ble.md.
62 lines
2.1 KiB
Plaintext
62 lines
2.1 KiB
Plaintext
*.iml
|
|
.gradle/
|
|
/local.properties
|
|
/.idea/caches
|
|
/.idea/libraries
|
|
/.idea/modules.xml
|
|
/.idea/workspace.xml
|
|
/.idea/navEditor.xml
|
|
/.idea/assetWizardSettings.xml
|
|
.DS_Store
|
|
build/
|
|
captures/
|
|
.externalNativeBuild
|
|
.cxx
|
|
local.properties
|
|
*.hprof
|
|
*.jks
|
|
*.keystore
|
|
secrets.properties
|
|
|
|
# --- local IDE state, not project configuration -------------------------------
|
|
# Which device you last deployed to, your emulator list, and Studio's assistant
|
|
# settings are per-machine. deploymentTargetSelector.xml in particular rewrites
|
|
# itself on every run, so tracking it means a dirty tree after every deploy.
|
|
/.idea/deploymentTargetSelector.xml
|
|
/.idea/deviceManager.xml
|
|
/.idea/appInsightsSettings.xml
|
|
/.idea/studiobot.xml
|
|
|
|
# Python bytecode caches, e.g. from importing obu-firmware/test/host/check_replay.py.
|
|
__pycache__/
|
|
|
|
# ESP-IDF rewrites sdkconfig on every build and keeps the previous one here.
|
|
# sdkconfig.defaults is the real, intentional configuration; these two are output.
|
|
sdkconfig.old
|
|
|
|
# Claude Code local settings (permissions, per-machine). The skills alongside it
|
|
# are project knowledge and may be committed deliberately.
|
|
.claude/settings.local.json
|
|
|
|
# Third-party working copies kept beside the project, not part of it. The ASN.1
|
|
# modules this project actually needs are vendored under asn1/ instead.
|
|
/C-ITS-Parser/
|
|
/vanetza/
|
|
|
|
# Office lock files. Word/Excel create these beside a document while it is open
|
|
# and remove them on close, so they are transient and machine-local.
|
|
~$*
|
|
|
|
# Colleague's standalone ESP32-C5 VRU station (signed ITS via Vanetza). It is its
|
|
# own git repository with its own history; kept beside the project as a reference
|
|
# for porting the signed-TX path into obu-firmware, not tracked here.
|
|
/microbu-esp32c5/
|
|
|
|
# Full-flash images read back off the bench boards before reflashing them (16 MB each).
|
|
# Restore with: esptool --chip esp32c5 -p COM<N> write-flash 0 <image>
|
|
/firmware-backups/
|
|
|
|
# ESP-IDF component manager downloads (espressif/esp-boost for obu-firmware's vanetza-idf), ~125 MB.
|
|
# dependencies.lock beside the project pins them and is committed; this is its cache.
|
|
managed_components/
|