import sys, time
from SerialPort_linux import *
-# serial device to communicate with
-DEVICE="/dev/ttyUSB0"
# baudrate used for initialization
INIT_BAUDRATE=9600
# baudrate used for communication with the internal bootloader after init
fp.close()
return retval
+def usage(execfile):
+ print "Usage: " + execfile + " <target mhx-file> [-d DEVICE]"
+
def main(argv=None):
# check command line arguments
if argv is None:
argv = sys.argv
- if len(argv) != 2:
- print "Usage: " + argv[0] + " [target mhx-file]"
+
+ if len(argv) == 2 and (argv[1] == "-v" or argv[1] == "--version"):
+ print "Version: %VERSION%"
+ return 0
+
+ if len(argv) != 2 and len(argv) != 4:
+ usage(argv[0])
return 1
+ # standard serial device to communicate with
+ DEVICE="/dev/ttyUSB0"
+
+ # overrule standard device if provided with -d
+ if len(argv) == 4:
+ if argv[2] == "-d":
+ DEVICE = argv[3]
+ else:
+ usage(argv[0])
+ return 1
+
# read in data from mhx-files before starting
try:
try:
print "OK, trying to set baudrate..."
# set baudrate
- bootromBAUDRATE(BOOTLOADER_BAUDRATE)
+ try:
+ bootromBAUDRATE(BOOTLOADER_BAUDRATE)
+ except SerialPortException:
+ print "timeout exception: try again ->"
+ bootromBAUDRATE(BOOTLOADER_BAUDRATE)
time.sleep(0.1) # just to get sure that the bootloader is really running in new baudrate mode!
del tty
tty = SerialPort(DEVICE, 100, BOOTLOADER_BAUDRATE)