aboutsummaryrefslogtreecommitdiff
path: root/Tools
diff options
context:
space:
mode:
authorpx4dev <px4@purgatory.org>2012-09-19 21:52:42 -0700
committerpx4dev <px4@purgatory.org>2012-09-19 21:52:42 -0700
commite3f0b8f255805c4b99b84e35b48f009b68a67422 (patch)
tree85d812a9249982a0fa8e33ae4a7ace29accaa026 /Tools
parent855fbe854372819f7a67225f932bb6fd673ef655 (diff)
downloadpx4-firmware-e3f0b8f255805c4b99b84e35b48f009b68a67422.tar.gz
px4-firmware-e3f0b8f255805c4b99b84e35b48f009b68a67422.tar.bz2
px4-firmware-e3f0b8f255805c4b99b84e35b48f009b68a67422.zip
Add support for a range of bootloader protocols.
Diffstat (limited to 'Tools')
-rwxr-xr-xTools/px_uploader.py6
1 files changed, 4 insertions, 2 deletions
diff --git a/Tools/px_uploader.py b/Tools/px_uploader.py
index 7dbd1802b..7ebd37e75 100755
--- a/Tools/px_uploader.py
+++ b/Tools/px_uploader.py
@@ -103,7 +103,8 @@ class uploader(object):
REBOOT = chr(0x30)
INFO_BL_REV = chr(1) # bootloader protocol revision
- BL_REV = 2 # supported bootloader protocol
+ BL_REV_MIN = 2 # minimum supported bootloader protocol
+ BL_REV_MAX = 3 # maximum supported bootloader protocol
INFO_BOARD_ID = chr(2) # board type
INFO_BOARD_REV = chr(3) # board revision
INFO_FLASH_SIZE = chr(4) # max firmware size in bytes
@@ -240,7 +241,8 @@ class uploader(object):
# get the bootloader protocol ID first
bl_rev = self.__getInfo(uploader.INFO_BL_REV)
- if bl_rev != uploader.BL_REV:
+ if (bl_rev < uploader.BL_REV_MIN) or (bl_rev > uploader.BL_REV_MAX):
+ print("Unsupported bootloader protocol %d" % uploader.INFO_BL_REV)
raise RuntimeError("Bootloader protocol mismatch")
self.board_type = self.__getInfo(uploader.INFO_BOARD_ID)