aboutsummaryrefslogtreecommitdiff
path: root/Tools
diff options
context:
space:
mode:
authorAndrew Tridgell <andrew@tridgell.net>2015-03-14 13:56:54 +1100
committerAndrew Tridgell <andrew@tridgell.net>2015-03-14 21:12:21 +1100
commit2c2359dcf02325a04502dc3bf917ef9c3906763a (patch)
tree1df18ad01d0adfb3b0b811ca29b7cde1a7367301 /Tools
parent9efeb4cf0bab9cf3aaba2b618455f342f749b3ad (diff)
downloadpx4-firmware-2c2359dcf02325a04502dc3bf917ef9c3906763a.tar.gz
px4-firmware-2c2359dcf02325a04502dc3bf917ef9c3906763a.tar.bz2
px4-firmware-2c2359dcf02325a04502dc3bf917ef9c3906763a.zip
px_uploader.py: added --boot-delay option
this sets the bootloader delay
Diffstat (limited to 'Tools')
-rwxr-xr-xTools/px_uploader.py11
1 files changed, 11 insertions, 0 deletions
diff --git a/Tools/px_uploader.py b/Tools/px_uploader.py
index 43a116745..3cdd9d1a6 100755
--- a/Tools/px_uploader.py
+++ b/Tools/px_uploader.py
@@ -161,6 +161,7 @@ class uploader(object):
GET_OTP = b'\x2a' # rev4+ , get a word from OTP area
GET_SN = b'\x2b' # rev4+ , get a word from SN area
GET_CHIP = b'\x2c' # rev5+ , get chip version
+ SET_BOOT_DELAY = b'\x2d' # rev5+ , set boot delay
REBOOT = b'\x30'
INFO_BL_REV = b'\x01' # bootloader protocol revision
@@ -405,6 +406,12 @@ class uploader(object):
raise RuntimeError("Program CRC failed")
self.__drawProgressBar(label, 100, 100)
+ def __set_boot_delay(self, boot_delay):
+ self.__send(uploader.SET_BOOT_DELAY
+ + struct.pack("b", boot_delay)
+ + uploader.EOC)
+ self.__getSync()
+
# get basic data about the board
def identify(self):
# make sure we are in sync before starting
@@ -472,6 +479,9 @@ class uploader(object):
else:
self.__verify_v3("Verify ", fw)
+ if args.boot_delay is not None:
+ self.__set_boot_delay(args.boot_delay)
+
print("\nRebooting.\n")
self.__reboot()
self.port.close()
@@ -501,6 +511,7 @@ parser = argparse.ArgumentParser(description="Firmware uploader for the PX autop
parser.add_argument('--port', action="store", required=True, help="Serial port(s) to which the FMU may be attached")
parser.add_argument('--baud', action="store", type=int, default=115200, help="Baud rate of the serial port (default is 115200), only required for true serial ports.")
parser.add_argument('--force', action='store_true', default=False, help='Override board type check and continue loading')
+parser.add_argument('--boot-delay', type=int, default=None, help='minimum boot delay to store in flash')
parser.add_argument('firmware', action="store", help="Firmware file to be uploaded")
args = parser.parse_args()