X-Git-Url: http://git.rot13.org//?p=goodfet;a=blobdiff_plain;f=client%2FGoodFETConsole.py;fp=client%2FGoodFETConsole.py;h=14fc3e3c6706636b6ffbce48ff8287cb4b29ebc9;hp=0000000000000000000000000000000000000000;hb=dbd55dca7cded37fc93f74beb7c3043f11389d6e;hpb=2f740ed7513a1db4c8a7b68f02347b783a4ca7ae diff --git a/client/GoodFETConsole.py b/client/GoodFETConsole.py new file mode 100644 index 0000000..14fc3e3 --- /dev/null +++ b/client/GoodFETConsole.py @@ -0,0 +1,49 @@ +#!/usr/bin/env python +# GoodFET Client Library +# +# (C) 2009 Travis Goodspeed +# +# This code is being rewritten and refactored. You've been warned! + +import sys; +import binascii; + +from GoodFET import GoodFET; +from intelhex import IntelHex; + +class GoodFETConsole(): + """An interactive goodfet driver.""" + + def __init__(self, client): + self.client=client; + client.serInit(); + client.setup(); + client.start(); + def handle(self, str): + """Handle a command string. First word is command.""" + args=str.split(); + if len(args)==0: + return; + try: + eval("self.CMD%s(args)" % args[0]) + except AttributeError: + print "Unknown command '%s'." % args[0]; + def CMDinfo(self,args): + print self.client.infostring() + def CMDlock(self,args): + print "Locking."; + self.client.lock(); + def CMDerase(self,args): + print "Erasing."; + self.client.erase(); + def CMDtest(self,args): + self.client.test(); + return; + def CMDstatus(self,args): + print self.client.status(); + return; + def CMDpeek(self,args): + adr=eval(args[1]); + print "0x%08x:= 0x%04x" % (adr, self.client.peek16(adr)); + return; +