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.
40 lines
1.8 KiB
Plaintext
40 lines
1.8 KiB
Plaintext
menu "micrOBU firmware"
|
|
config MICROBU_TEST_CHANNEL
|
|
bool "Test channel on the serial link (software lower tester, ETSI campaign hooks)"
|
|
default y
|
|
help
|
|
Serves serial frame type 0x11: mirror or divert every AL_DATA.request the stack
|
|
makes to the tester, inject AL_DATA.indication, GN-DATA.request for the
|
|
Security ATS. Not part of the phone interface; disable for a production image.
|
|
config MICROBU_LOG_OVER_LINK
|
|
bool "Also carry ESP_LOG output as LOG frames (0x7F) on the native USB link"
|
|
default n
|
|
help
|
|
The colleague's single-port board has no other place for its log. This board keeps
|
|
the console on UART0 (the CH343 bridge port), so the phone's link carries no text.
|
|
config MICROBU_BLE_USB_IDLE_MS
|
|
int "USB link idle time before BLE advertising resumes (ms)"
|
|
range 1000 60000
|
|
default 3000
|
|
help
|
|
BLE and the 5.9 GHz radio share the C5's single RF front end. While the phone is
|
|
using the USB link (any frame received within this window), BLE advertising is
|
|
stopped so it cannot take airtime from ITS-G5. An existing BLE connection is left
|
|
alone. The phone sends a PoTi update with every GNSS fix, which keeps the window
|
|
open for as long as it is connected over USB.
|
|
config MICROBU_TX_LED_GPIO
|
|
int "Active-low activity LED GPIO (-1: none)"
|
|
range -1 28
|
|
default -1
|
|
help
|
|
The colleague's XIAO ESP32-C5 has its yellow user LED on GPIO27. On this project's
|
|
board GPIO27 is not a plain LED, so the indicator is off unless configured.
|
|
config MICROBU_TX_LED_BLINK_MS
|
|
int "LED indication pulse (ms)"
|
|
range 10 2000
|
|
default 100
|
|
config MICROBU_LED_INVERTED_RX
|
|
bool "Inverted LED mode for receiver/bridge (normally ON, blink OFF on packet)"
|
|
default n
|
|
endmenu
|