diff options
author | Andrew Tridgell <tridge@samba.org> | 2013-09-12 08:30:00 +1000 |
---|---|---|
committer | Lorenz Meier <lm@inf.ethz.ch> | 2013-09-12 00:47:08 +0200 |
commit | 1f19a27e3cd5d0686dd65ecad6a171d025058b7c (patch) | |
tree | 86962b14be921d053bbed31fa087492404e164fd | |
parent | 0308f399d98f53a634206705c57eed208f5ad8a3 (diff) | |
download | px4-firmware-1f19a27e3cd5d0686dd65ecad6a171d025058b7c.tar.gz px4-firmware-1f19a27e3cd5d0686dd65ecad6a171d025058b7c.tar.bz2 px4-firmware-1f19a27e3cd5d0686dd65ecad6a171d025058b7c.zip |
make upload on Linux much more reliable
Upload on Linux now only tries usb-3D_Robotics boards. This should
also make it handle more ports on MacOS
-rwxr-xr-x | Tools/px_uploader.py | 14 | ||||
-rw-r--r-- | makefiles/upload.mk | 4 |
2 files changed, 15 insertions, 3 deletions
diff --git a/Tools/px_uploader.py b/Tools/px_uploader.py index 52d089360..64af672a3 100755 --- a/Tools/px_uploader.py +++ b/Tools/px_uploader.py @@ -400,7 +400,19 @@ print("Loaded firmware for %x,%x, waiting for the bootloader..." % (fw.property( # Spin waiting for a device to show up while True: - for port in args.port.split(","): + portlist = [] + patterns = args.port.split(",") + # on unix-like platforms use glob to support wildcard ports. This allows + # the use of /dev/serial/by-id/usb-3D_Robotics on Linux, which prevents the upload from + # causing modem hangups etc + if "linux" in _platform or "darwin" in _platform: + import glob + for pattern in patterns: + portlist += glob.glob(pattern) + else: + portlist = patterns + + for port in portlist: #print("Trying %s" % port) diff --git a/makefiles/upload.mk b/makefiles/upload.mk index 470ddfdf1..bc26d743d 100644 --- a/makefiles/upload.mk +++ b/makefiles/upload.mk @@ -12,10 +12,10 @@ SYSTYPE := $(shell uname -s) # XXX The uploader should be smarter than this. # ifeq ($(SYSTYPE),Darwin) -SERIAL_PORTS ?= "/dev/tty.usbmodemPX1,/dev/tty.usbmodemPX2,/dev/tty.usbmodemPX3,/dev/tty.usbmodemPX4,/dev/tty.usbmodem1,/dev/tty.usbmodem2,/dev/tty.usbmodem3,/dev/tty.usbmodem4" +SERIAL_PORTS ?= "/dev/tty.usbmodemPX*,/dev/tty.usbmodem*" endif ifeq ($(SYSTYPE),Linux) -SERIAL_PORTS ?= "/dev/ttyACM5,/dev/ttyACM4,/dev/ttyACM3,/dev/ttyACM2,/dev/ttyACM1,/dev/ttyACM0" +SERIAL_PORTS ?= "/dev/serial/by-id/usb-3D_Robotics*" endif ifeq ($(SERIAL_PORTS),) SERIAL_PORTS = "COM32,COM31,COM30,COM29,COM28,COM27,COM26,COM25,COM24,COM23,COM22,COM21,COM20,COM19,COM18,COM17,COM16,COM15,COM14,COM13,COM12,COM11,COM10,COM9,COM8,COM7,COM6,COM5,COM4,COM3,COM2,COM1,COM0" |