mirror of
https://github.com/PX4/PX4-Autopilot.git
synced 2026-10-06 09:02:52 +08:00
* fix(uploader): shorten the wait for a bootloader after reboot Reboot-to-bootloader is immediate, so this wait only has to cover USB re-enumeration, not the reboot. Five seconds of it meant a port that was never going to answer held up every other port on the list, and it could outlast the window it was trying to catch: a board sits in its bootloader for BOOTLOADER_DELAY, 3s on some boards and 5s on most, before it jumps to the application. With an FMU-v6C and a Black Magic probe attached, a pass over the probe's two CDC nodes drops from 14.75s to 5.45s, and a running application is in its bootloader 3.52s after the uploader starts. Assisted-by: Claude:claude-opus-5 Signed-off-by: Julian Oes <julian@oes.ch> * fix(uploader): report ports by their /dev/serial/by-id name A ttyACM number is handed out in plug order and says nothing about which device it belongs to, which is awkward as soon as there is more than one CDC device on the bus -- "Attempting reboot on /dev/ttyACM0" gives no hint that it is a debug probe rather than the board. Resolve each detected port back to its by-id symlink when one exists, so every message names the device. This also collapses a duplicate: a board is matched both by a by-id pattern and by the /dev/ttyACM* catch-all, so it was being probed twice per pass. With an FMU-v6C and a Black Magic probe attached, detection goes from four entries with two naming the same board to three, each identifying itself. Linux only; elsewhere, and for ports with no symlink, paths are unchanged. Assisted-by: Claude:claude-opus-5 Signed-off-by: Julian Oes <julian@oes.ch> --------- Signed-off-by: Julian Oes <julian@oes.ch>