make install && README
[pyfrprog.git] / frprog.py
index 76431c14735865ea795bf34c5e84ca1a6c003570..73b5ae6826a2db81b2605483e876f17e8807409e 100755 (executable)
--- a/frprog.py
+++ b/frprog.py
@@ -183,14 +183,17 @@ def readMHXFile(filename): # desired mhx filename
 
 
 # check command line arguments
-if len(sys.argv) != 3:
-       print "Usage: " + sys.argv[0] + " [pkernel mhx-file] [target mhx-file]"
+if len(sys.argv) != 2:
+       print "Usage: " + sys.argv[0] + " [target mhx-file]"
        sys.exit(1)
 
 # read in data from mhx-files before starting
 try:
-       bootloaderseqs = readMHXFile(sys.argv[1])
-       pkernelseqs = readMHXFile(sys.argv[2])
+       try:
+               bootloaderseqs = readMHXFile("pkernel/pkernel.mhx")
+       except IOError as error1:
+               bootloaderseqs = readMHXFile("%PREFIX%/share/frprog/pkernel.mhx")
+       pkernelseqs = readMHXFile(sys.argv[1])
 except IOError as error:
        print sys.argv[0] + ": Error - couldn't open file " + error.filename + "!"
        sys.exit(1)
@@ -210,6 +213,8 @@ while True:
                # timeout happened, who cares ;-)
                pass
 
+starttime = time.time() # save time at this point for evaluating the duration at the end
+
 print "OK, trying to set baudrate..."
 # set baudrate
 bootromBAUDRATE(BOOTLOADER_BAUDRATE)
@@ -239,7 +244,6 @@ tty = SerialPort(DEVICE, None, KERNEL_BAUDRATE)
 
 print "Performing ChipErase..."
 pkernCHIPERASE()
-print "Chip erasing done."
 
 print "Flashing",
 for seq in pkernelseqs:
@@ -253,7 +257,9 @@ for seq in pkernelseqs:
        sys.stdout.write(".")
        sys.stdout.flush()
 print
-print "Flashing done."
+
+duration = time.time() - starttime
+print "Procedure complete, took", round(duration, 2), "seconds."
 
 sendByte(0x97) # exit and restart
 print "Program was started. Have fun!"