From f6e4bc7304815e57d9be2c8843e5c7ed99df5334 Mon Sep 17 00:00:00 2001
From: Dan White <dan@whiteaudio.com>
Date: Fri, 11 May 2012 18:41:59 -0500
Subject: [PATCH] Fast hex file download

---
 python-lib/mpsse-test.py | 33 +++++++++++++++++++++------------
 1 file changed, 21 insertions(+), 12 deletions(-)

diff --git a/python-lib/mpsse-test.py b/python-lib/mpsse-test.py
index 00c1008..79c7f0b 100755
--- a/python-lib/mpsse-test.py
+++ b/python-lib/mpsse-test.py
@@ -250,26 +250,35 @@ print 'data:', str2hex(flash.read(0x4000, 16))
 flash.writeEnable(True)
 
 from intelhex import IntelHex
-h = IntelHex('x.hex')
+#h = IntelHex('../msp4th/hello-world.hex')
+h = IntelHex('../msp4th/x.hex')
 a = [a for a in h.addresses() if (a >= 0x4000 and a < 0xf000)]
 alen = max(a) - min(a)
+#code = ''.join([chr(h[i]) for i in range(0x4000, 0x10000-2)])
 code = h.gets(0x4000, alen)
+#code = 0*'\x00' + code + '\x00\x40'
 flash.write(min(a), code)
 
+vectors = ''.join([chr(h[i]) for i in range(0xff00, 0x10000-2)])
+vectors += '\x00\x40'
+flash.write(0xff00, vectors)
+
 while not flash.isReady():
     print 'waiting...'
 
-nread = 0
-c2 = ''
-while nread < len(code):
-    nr = min(256, len(code)-nread)
-    c = flash.read(0x4000 + nread, nr)
-    c2 += c
-    print 'read: %06x %s' % (0x4000+nread, str2hex(c))
-    nread += nr
-
-for i in range(len(code)):
-    print i, code[i] == c2[i]
+if 0:
+    nread = 0
+    c2 = ''
+    while nread < len(code):
+        nr = min(256, len(code)-nread)
+        c = flash.read(0x4000 + nread, nr)
+        c2 += c
+        print 'read: %06x %s' % (0x4000+nread, str2hex(c))
+        nread += nr
+
+    print len(code), len(c2)
+    #for i in range(len(code)):
+        #print i, code[i] == c2[i]
 
 
 ##############################################################################
-- 
2.25.1