Files
openFPGALoader/src
r4d10nandClaude Opus 4.7 9e548983f9 esp_usb_jtag: disambiguate multiple boards via --busdev-num and --usb-serial-num
libusb_open_device_with_vid_pid() returns the first VID:PID match, so
with two ESP32-S3 cables connected, every invocation programmed the
same board. Replace it with a libusb_get_device_list() iteration that
also honours cable.bus_addr/device_addr (already exposed as
--busdev-num) and --usb-serial-num flag that matches the device
iSerialNumber by substring (useful with MAC-derived serials).

The -d /dev/ttyACM* path could not help: that's the CDC-ACM interface
(iface 0), while JTAG is on the vendor iface 2 reached via libusb;
ttyACM numbering and libusb enumeration order are independent.

Constraint: must keep existing single-board invocations working without flag changes
Confidence: high
Scope-risk: narrow
Directive: arguments struct uses positional aggregate init at main.cpp:120; new fields must add a matching slot
Not-tested: simultaneous two-board programming on real hardware (single-board path verified to build)

Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]>
2026-05-14 18:28:31 +02:00
..
2026-03-21 07:59:18 +01:00
2026-03-21 07:59:18 +01:00
2026-04-20 21:01:42 +02:00
2021-06-26 15:24:07 +02:00
2026-05-13 16:21:38 +10:00
2026-03-21 07:59:18 +01:00
2025-03-18 23:02:11 +01:00
2025-03-18 23:02:11 +01:00
2022-12-18 13:56:54 +01:00
2026-04-03 10:33:12 +02:00
2026-04-03 10:33:12 +02:00
2025-08-26 17:51:31 +02:00
2023-04-15 08:20:05 +02:00
2026-03-21 07:59:18 +01:00
2023-04-15 08:20:05 +02:00
2026-04-10 09:26:08 +02:00
2021-06-26 15:24:07 +02:00
2026-03-21 07:59:18 +01:00
2026-03-21 07:59:18 +01:00
2026-04-24 16:34:17 +03:00
2026-03-21 07:59:18 +01:00
2024-05-22 20:54:14 +02:00
2026-03-21 07:59:18 +01:00
2026-03-21 07:59:18 +01:00
2021-06-26 15:24:07 +02:00
2023-04-15 08:20:05 +02:00
2026-03-21 07:59:18 +01:00
2026-03-21 07:59:18 +01:00
2026-04-08 17:02:36 +02:00
2022-12-18 23:29:21 +01:00
2026-03-21 07:59:18 +01:00
2026-03-21 07:59:18 +01:00
2026-04-09 15:51:30 +03:00
2026-03-21 07:59:18 +01:00
2021-10-03 16:46:12 +02:00