- Firmware: rewrite obu-firmware TX loop to be serial-driven (no on-chip timer), add promiscuous RX + GeoNetworking/BTP unwrap (gn_unwrap.c), add binary UART framing to the phone (serial_link.c/.h). Drop local cam_encode() - CAM is now built on the phone. - Kotlin: byte-exact UPER CAM encoder/decoder ported from cam.c (BitWriter/BitReader/CamUperCodec), matching SerialFrame codec, real UsbSerialTransport (usb-serial-for-android), CamTransmitLoop (1Hz base rate, event/geofence boost, ESP32-C5-only), wired into CamUseCaseRepository for RX and TripRecordingService for TX. - Add V2X message retention: persist all CAM (own+remote) to Room while recording, drop otherwise (DB v2 -> v3 migration). - Add jitpack repo + usb-serial-for-android dependency. Fixes: UsbSerialTransport now uses SerialInputOutputManager.start()/stop() (this lib version manages its own thread internally) instead of manual Runnable/Thread submission, which didn't compile.
17 lines
898 B
CMake
17 lines
898 B
CMake
# wifi_patches.c is intentionally NOT in this list anymore - superseded by
|
|
# tx_custom.c (see that file for why). Left on disk, unused, for history.
|
|
#
|
|
# cam.c is ALSO intentionally not in this list anymore (Phase 03): CAM is now built on the
|
|
# phone and sent down over serial_link, so this firmware never encodes CAM itself. cam.c/.h are
|
|
# left on disk as the byte-exact reference the Kotlin encoder was ported from - do not delete.
|
|
#
|
|
# serial_link.c/.h - binary phone<->ESP32 UART framing (Phase 03).
|
|
# gn_unwrap.c/.h - strips 802.11/LLC-SNAP/GeoNetworking/BTP-B off received frames down to CAM
|
|
# UPER bytes, for forwarding to the phone over serial_link.
|
|
idf_component_register(
|
|
SRCS "main.c" "denm.c" "geonet.c" "dot11p.c" "tx_custom.c" "serial_link.c" "gn_unwrap.c"
|
|
INCLUDE_DIRS "."
|
|
REQUIRES esp_event esp_netif nvs_flash driver esp_phy
|
|
PRIV_REQUIRES esp_wifi
|
|
)
|