aboutsummaryrefslogtreecommitdiff
path: root/Tools
diff options
context:
space:
mode:
authorpx4dev <px4@purgatory.org>2012-08-22 17:06:58 -0700
committerpx4dev <px4@purgatory.org>2012-08-22 17:06:58 -0700
commitbe85f895a0fbb90aa3b0628c8173574375ac1c07 (patch)
treee7485e1a6f068fe46b2a0b9de2faadcd92dad352 /Tools
parente0a9024b641339156e564644a2c23a6bf8176820 (diff)
downloadpx4-firmware-be85f895a0fbb90aa3b0628c8173574375ac1c07.tar.gz
px4-firmware-be85f895a0fbb90aa3b0628c8173574375ac1c07.tar.bz2
px4-firmware-be85f895a0fbb90aa3b0628c8173574375ac1c07.zip
Use a much shorter timeout for normal communication, and stretch it only when we are waiting for erase.
Diffstat (limited to 'Tools')
-rwxr-xr-xTools/px_uploader.py8
1 files changed, 6 insertions, 2 deletions
diff --git a/Tools/px_uploader.py b/Tools/px_uploader.py
index bc5d7b36b..1a0d7bd45 100755
--- a/Tools/px_uploader.py
+++ b/Tools/px_uploader.py
@@ -111,8 +111,8 @@ class uploader(object):
READ_MULTI_MAX = 60 # protocol max is 255, something overflows with >= 64
def __init__(self, portname, baudrate):
- # open the port
- self.port = serial.Serial(portname, baudrate, timeout=10)
+ # open the port, keep the default timeout short so we can poll quickly
+ self.port = serial.Serial(portname, baudrate, timeout=0.25)
def close(self):
if self.port is not None:
@@ -171,7 +171,11 @@ class uploader(object):
def __erase(self):
self.__send(uploader.CHIP_ERASE
+ uploader.EOC)
+ # erase is very slow, give it 10s
+ old_timeout = self.port.timeout
+ self.port.timeout = 10
self.__getSync()
+ self.port.timeout = old_timeout
# send a PROG_MULTI command to write a collection of bytes
def __program_multi(self, data):