Enumeration: - Merge the library's stock probe table instead of replacing it, so adding Espressif 0x303A/0x1001 doesn't drop every other supported device - Select the ESP32-C5 by VID/PID rather than list position - Log USB interface descriptors to distinguish CDC data from the JTAG interface Lifecycle: - Don't close the shared port in MqttViewModel.onCleared() - the foreground recording service outlives the ViewModel and would beacon into a dead port - Handle ACTION_USB_DEVICE_DETACHED so the UI stops reporting a stale link - Implement the STATUS heartbeat on both sides (1 Hz) plus a phone-side watchdog - Surface write failures and firmware drop counters on the CAM Pinger card Protocol: - Assert DTR/RTS on open (unverified on hardware - see FLASHING.md step 5) - Raise SERIAL_LINK_MAX_PAYLOAD 160 -> 512 on both sides; real third-party CAMs exceed 160 and were being silently dropped at the resync branch - Move the enlarged buffers off task stacks; serialize send_frame with a mutex Firmware and app must be updated together - a 512/160 mismatch fails silently.
19 lines
1.1 KiB
CMake
19 lines
1.1 KiB
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 framing over the native USB Serial/JTAG port
|
|
# (Phase 03; changed from a GPIO UART1 wire to native USB because neither
|
|
# USB-C port on the ESP32-C5-WIFI6-KIT was actually routed to that UART).
|
|
# 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 esp_driver_gpio esp_driver_usb_serial_jtag
|
|
PRIV_REQUIRES esp_wifi
|
|
)
|