+if(sys.argv[1]=="glitchtest"):
+ client.writecmd(client.GLITCHAPP,0x20,0,None);
+
+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"):
+ client.monitor_info()
+if(sys.argv[1]=="infotest"):
+ for foo in range(0,100):
+ client.monitor_info()
+
+if(sys.argv[1]=="clocktest"):
+ print "GoodFET with %s MCU" % client.infostring();
+ clocking=client.monitorgetclock();
+ print "Clocked at 0x%04x" % clocking;
+ for foo in range(1,50):
+ client.monitorsetclock(clocking+foo);
+ print "+0x%04x: %s" % (foo,client.infostring());
+ client.monitorsetclock(clocking-foo);
+ print "-0x%04x: %s" % (foo,client.infostring());
+
+if(sys.argv[1]=="listapps" or sys.argv[1]=="apps"):
+ full = (len(sys.argv) > 2) and (sys.argv[2]=="full")
+ client.monitor_list_apps(full);
+