Tools: allow uploader.py to detect ttyS* on Ubuntu on Windows (WSL)

This commit is contained in:
Tom Pittenger 2019-03-06 15:22:05 -08:00 committed by Peter Barker
parent e4b3ad377d
commit d47663c0ba

View File

@ -64,9 +64,12 @@ import base64
import time import time
import array import array
import os import os
import platform
from sys import platform as _platform from sys import platform as _platform
is_WSL = bool("Microsoft" in platform.uname()[2])
# default list of port names to look for autopilots # default list of port names to look for autopilots
default_ports = [ '/dev/serial/by-id/usb-Ardu*', default_ports = [ '/dev/serial/by-id/usb-Ardu*',
'/dev/serial/by-id/usb-3D*', '/dev/serial/by-id/usb-3D*',
@ -78,7 +81,7 @@ default_ports = [ '/dev/serial/by-id/usb-Ardu*',
'/dev/serial/by-id/usb-Holybro*', '/dev/serial/by-id/usb-Holybro*',
'/dev/tty.usbmodem*'] '/dev/tty.usbmodem*']
if "cygwin" in _platform: if "cygwin" in _platform or is_WSL:
default_ports += [ '/dev/ttyS*' ] default_ports += [ '/dev/ttyS*' ]
# Detect python version # Detect python version
@ -771,9 +774,10 @@ def main():
args.source_component) args.source_component)
except Exception as e: except Exception as e:
print("Exception creating uploader: %s" % str(e)) if not is_WSL:
# open failed, rate-limit our attempts # open failed, WSL must cycle through all ttyS* ports quickly but rate limit everything else
time.sleep(0.05) print("Exception creating uploader: %s" % str(e))
time.sleep(0.05)
# and loop to the next port # and loop to the next port
continue continue