Add soft-reboot via 5x+ 0x80 written to serial (allow firmware to run on
[goodfet] / client / goodfet.monitor
index 249454f..396e632 100755 (executable)
@@ -15,19 +15,45 @@ if(len(sys.argv)==1):
     print "%s verify $foo.hex [0x$start 0x$stop]" % sys.argv[0];
     print "%s ramfill" % sys.argv[0];
     print "%s ramdepth" % sys.argv[0];
+    print "%s info" % sys.argv[0];
+    print "%s info" % sys.argv[0];
+    print "%s call 0x$start" % sys.argv[0];
+    print "%s exec '0x35 0x00 0x..'" % sys.argv[0];
     sys.exit();
 
 #Initailize FET and set baud rate
 client=GoodFET();
 client.serInit()
 
+if(sys.argv[1]=="on"):
+    client.dir(0xFF);
+    client.out(0xFF);
+if(sys.argv[1]=="off"):
+    client.out(0x00);
 
+if(sys.argv[1]=="call"):
+    adr=int(sys.argv[2],16);
+    print "Calling %04x" % adr;
+    client.call(adr);
+if(sys.argv[1]=="exec"):
+    code="";
+    for foo in sys.argv[2].split(" "):
+        code+=chr(int(foo,16));
+    code+="\x30\x41";
+    client.execute(code);
+    
+if(sys.argv[1]=="info"):
+    a=client.peekbyte(0xff0);
+    b=client.peekbyte(0xff1);
+    print "GoodFET with %02x%02x MCU" % (a,b);
 if(sys.argv[1]=="ramfill"):
     client.monitor_ram_pattern();
 if(sys.argv[1]=="ramdepth"):
     print "0x%04x RAM bytes free." % client.monitor_ram_depth();
 if(sys.argv[1]=="test"):
     client.monitortest();
+if(sys.argv[1]=="findbaud"):
+    client.findbaud();
 if(sys.argv[1]=="dump"):
     f = sys.argv[2];
     start=0x0200;
@@ -56,6 +82,7 @@ if(sys.argv[1]=="peek"):
     stop=0xFFFF;
     if(len(sys.argv)>2):
         start=int(sys.argv[2],16);
+        stop=start+1
     if(len(sys.argv)>3):
         stop=int(sys.argv[3],16);