# HG changeset patch # User Paul Boddie # Date 1421790665 -3600 # Node ID 53799b196670beb210b563e326bf6d430ef0a57f # Parent 72f6d830b176c4368042c97e665421b1df8d9941 Removed failure handling code. Added sector selection option processing. diff -r 72f6d830b176 -r 53799b196670 upload.py --- a/upload.py Tue Jan 20 22:24:19 2015 +0100 +++ b/upload.py Tue Jan 20 22:51:05 2015 +0100 @@ -62,24 +62,11 @@ value = ord(data[i]) addr = (sector << 14) | i - while 1: - writeToPort("P%04x%02x\n" % (addr, value)) - resp = readFromPort() - if resp != "P": - print >>sys.stderr, "Program of location %04x failed: %s" % (addr, resp) - closePort() - sleep(5) - openPort() - writeToPort("R%04x\n" % addr) - resp = readFromPort() - if resp == ("%X" % value): - break - print >>sys.stderr, "Read from location %04x failed: %s" % (addr, resp) - closePort() - sleep(5) - openPort() - else: - break + writeToPort("P%04x%02x\n" % (addr, value)) + resp = readFromPort() + if resp != "P": + print >>sys.stderr, "Program of location %04x failed: %s" % (addr, resp) + return False i += 1 @@ -91,8 +78,14 @@ if "-i" in sys.argv: console() elif len(sys.argv) > 1: - for sector, filename in enumerate(sys.argv[1:]): - upload(filename, sector) + if len(sys.argv) > 3 and sys.argv[1] == "-s": + base = int(sys.argv[2]) + i = 3 + else: + base = 0 + i = 1 + for sector, filename in enumerate(sys.argv[i:]): + upload(filename, sector + base) else: print >>sys.stderr, sys.argv[0], "-i | ..." sys.exit(1)