r4d10n and Claude 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-04-08 17:31:39 +02:00
2026-04-08 16:51:45 +02:00
2026-03-21 07:59:18 +01:00
2026-03-21 07:59:18 +01:00
2026-03-18 15:28:34 +01:00
2021-06-26 15:24:07 +02:00
2026-03-18 15:28:34 +01:00
2023-10-29 06:41:39 +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-02-13 12:03:38 +01:00
2026-02-13 12:03:38 +01:00
2026-05-14 14:33:44 +02:00
2026-03-18 15:28:34 +01:00
2026-02-21 10:26:57 +01:00
2026-03-18 15:28:34 +01:00
2023-10-29 06:41:39 +01:00
2026-03-18 15:28:34 +01:00
2023-10-29 06:41:39 +01:00
2026-04-03 07:48:50 +02:00
2026-03-21 07:59:18 +01:00
2023-08-29 19:51:41 +03:00
2021-12-12 11:55:10 +01:00
2025-03-18 23:02:11 +01:00
2025-03-18 23:02:11 +01:00
2026-03-18 15:28:34 +01:00
2025-09-24 08:06:28 +02:00
2022-12-18 13:56:54 +01:00
2026-03-18 15:28:34 +01:00
2025-06-03 11:24:36 +02:00
2026-03-18 15:28:34 +01:00
2024-02-15 06:45:13 +01:00
2026-04-03 10:33:12 +02:00
2026-04-03 10:33:12 +02:00
2026-03-18 15:28:34 +01:00
2026-03-12 18:45:25 +01:00
2025-08-26 17:51:31 +02:00
2023-04-15 08:20:05 +02:00
2026-04-27 15:06:21 +02:00
2026-03-21 07:59:18 +01:00
2026-03-18 15:28:34 +01:00
2025-12-12 02:55:31 +00:00
2026-05-14 18:28:31 +02:00
2026-05-14 18:28:31 +02:00
2026-03-18 15:28:34 +01: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-10 09:26:08 +02:00
2021-06-26 15:24:07 +02:00
2026-03-18 15:28:34 +01:00
2023-10-29 06:41:39 +01:00
2026-03-18 15:28:34 +01:00
2026-02-08 10:55:22 +01:00
2026-03-18 15:28:34 +01:00
2024-01-27 13:02:46 +01:00
2026-03-21 07:59:18 +01:00
2026-03-21 07:59:18 +01:00
2026-05-14 14:33:21 +02:00
2026-05-14 14:33:21 +02: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
2024-05-20 21:10:29 +02:00
2026-03-21 07:59:18 +01:00
2026-03-21 07:59:18 +01:00
2026-03-18 15:28:34 +01:00
2021-06-26 15:24:07 +02:00
2026-03-18 15:28:34 +01:00
2023-04-15 08:20:05 +02:00
2023-10-29 06:41:39 +01:00
2023-10-29 06:41:39 +01:00
2026-03-18 15:28:34 +01:00
2023-10-29 06:41:39 +01:00
2026-05-14 18:28:31 +02:00
2025-06-18 10:01:16 +02:00
2023-10-29 06:41:39 +01:00
2026-03-21 07:59:18 +01:00
2026-03-21 07:59:18 +01:00
2026-04-06 17:31:48 +02:00
2026-04-06 17:22:02 +02:00
2025-06-19 09:51:44 +02:00
2025-06-19 08:34:29 +02:00
2025-03-10 15:29:06 +01:00
2025-03-10 15:29:06 +01:00
2026-03-18 15:28:34 +01:00
2024-05-20 16:18:50 +02:00
2026-05-14 18:28:31 +02:00
2026-04-03 10:01:28 +02:00
2025-12-17 20:05:11 +01:00
2020-01-27 09:47:42 +01:00
2026-04-08 17:02:36 +02:00
2022-10-23 13:10:45 +10:30
2022-10-23 13:10:45 +10:30
2026-04-01 10:58:22 +02:00
2026-04-01 10:32:38 +02:00
2026-03-13 09:28:54 +01:00
2026-03-13 09:28:54 +01:00
2026-03-18 15:28:34 +01:00
2022-12-18 23:29:21 +01:00
2026-03-18 15:28:34 +01:00
2023-10-29 06:41:39 +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-18 15:28:34 +01:00
2026-03-18 15:28:34 +01:00
2026-05-14 14:33:37 +02:00
2025-12-26 09:17:06 +01:00
2026-05-02 12:51:25 +02:00
2026-03-21 07:59:18 +01:00
2026-03-18 15:28:34 +01:00
2021-10-03 16:46:12 +02:00
2026-05-14 14:33:44 +02:00
2026-05-14 14:33:44 +02:00
2026-03-18 15:28:34 +01:00
2023-10-29 06:41:39 +01:00
2026-04-19 16:10:44 -07:00
2026-03-18 15:28:34 +01:00