Improve WaitForNewSerialPort for atmega32u4 based boards

This commit is contained in:
Ivan Kravets
2017-06-24 01:29:53 +03:00
parent 839fe8e02f
commit 93db0fa064
2 changed files with 7 additions and 6 deletions

View File

@ -32,8 +32,9 @@ __copyright__ = "Copyright 2014-present PlatformIO"
__apiurl__ = "https://api.platformio.org"
if sys.version_info < (2, 7, 0) or sys.version_info >= (3, 0, 0):
if sys.version_info < (2, 7, 4) or sys.version_info >= (3, 0, 0):
msg = ("PlatformIO version %s does not run under Python version %s.\n"
"Minimum supported version is 2.7.4, please upgrade Python. \n"
"Python 3 is not yet supported.\n")
sys.stderr.write(msg % (__version__, sys.version.split()[0]))
sys.exit(1)

View File

@ -48,7 +48,6 @@ def TouchSerialPort(env, port, baudrate):
s.close()
except: # pylint: disable=W0702
pass
sleep(0.4)
def WaitForNewSerialPort(env, before):
@ -56,11 +55,12 @@ def WaitForNewSerialPort(env, before):
prev_port = env.subst("$UPLOAD_PORT")
new_port = None
elapsed = 0
before = [p['port'] for p in before]
while elapsed < 5 and new_port is None:
now = util.get_serialports()
now = [p['port'] for p in util.get_serialports()]
for p in now:
if p not in before:
new_port = p['port']
new_port = p
break
before = now
sleep(0.25)
@ -68,8 +68,8 @@ def WaitForNewSerialPort(env, before):
if not new_port:
for p in now:
if prev_port == p['port']:
new_port = p['port']
if prev_port == p:
new_port = p
break
try: