Skip to content

Commit

Permalink
cc3200/tools: Improve update script robustness.
Browse files Browse the repository at this point in the history
  • Loading branch information
Daniel Campora committed Sep 27, 2015
1 parent 57fa14b commit 635ef16
Showing 1 changed file with 20 additions and 9 deletions.
29 changes: 20 additions & 9 deletions cc3200/tools/update-wipy.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@
import sys
import argparse
import time
import socket
from ftplib import FTP
from telnetlib import Telnet

Expand Down Expand Up @@ -121,12 +122,23 @@ def find_tag (tag):
print("Error: verification failed, the git tag doesn't match")
return False

try:
# Specify a longer time out value here because the board has just been
# reset and the wireless connection might not be fully established yet
tn = Telnet(args.ip, timeout=15)
print("Connected via telnet again, lets check the git tag")
retries = 0
while True:
try:
# Specify a longer time out value here because the board has just been
# reset and the wireless connection might not be fully established yet
tn = Telnet(args.ip, timeout=10)
print("Connected via telnet again, lets check the git tag")
break
except socket.timeout:
if retries < 5:
print("Timeout while connecting via telnet, retrying...")
retries += 1
else:
print('Error: Telnet connection timed out!')
return False

try:
firmware_tag = tn.read_until (b'with CC3200')
tag_file_path = args.file.rstrip('mcuimg.bin') + 'genhdr/mpversion.h'

Expand Down Expand Up @@ -170,10 +182,9 @@ def main():
if reset_board(args):
if args.verify:
print ('Waiting for the WiFi connection to come up again...')
# this time is to allow the system's wireless network card to connect to the
# WiPy again. Sometimes it might only take a couple of seconds, but let's
# leave 15s to be on the safe side
time.sleep(15)
# this time is to allow the system's wireless network card to
# connect to the WiPy again.
time.sleep(5)
if verify_update(args):
result = 0
else:
Expand Down

0 comments on commit 635ef16

Please sign in to comment.