From 4f3c7e48ba54b8ecd32df1668c21e986d8866307 Mon Sep 17 00:00:00 2001 From: travisutk Date: Sat, 27 Feb 2010 23:20:31 +0000 Subject: [PATCH] Refactoring the client. I probably broke something. git-svn-id: https://svn.code.sf.net/p/goodfet/code/trunk@358 12e2690d-a6be-4b82-a7b7-67c4a43b65c8 --- client/{ => GoodFET}/GoodFET.py | 4 + client/{ => GoodFET}/GoodFETAVR.py | 0 client/{ => GoodFET}/GoodFETCC.py | 0 client/{ => GoodFET}/GoodFETConsole.py | 0 client/{ => GoodFET}/GoodFETMSP430.py | 0 client/{ => GoodFET}/GoodFETSPI.py | 0 client/{ => GoodFET}/GoodFETSmartCard.py | 0 client/goodfet | 12 +- client/goodfet.avr | 2 +- client/goodfet.cc | 5 +- client/goodfet.i2crom | 158 ----------------------- client/goodfet.monitor | 2 +- client/goodfet.msp430 | 3 +- client/goodfet.sc | 2 +- client/goodfet.spiflash | 2 +- 15 files changed, 17 insertions(+), 173 deletions(-) rename client/{ => GoodFET}/GoodFET.py (98%) rename client/{ => GoodFET}/GoodFETAVR.py (100%) rename client/{ => GoodFET}/GoodFETCC.py (100%) rename client/{ => GoodFET}/GoodFETConsole.py (100%) rename client/{ => GoodFET}/GoodFETMSP430.py (100%) rename client/{ => GoodFET}/GoodFETSPI.py (100%) rename client/{ => GoodFET}/GoodFETSmartCard.py (100%) delete mode 100755 client/goodfet.i2crom diff --git a/client/GoodFET.py b/client/GoodFET/GoodFET.py similarity index 98% rename from client/GoodFET.py rename to client/GoodFET/GoodFET.py index 264a738..48810af 100755 --- a/client/GoodFET.py +++ b/client/GoodFET/GoodFET.py @@ -15,6 +15,10 @@ class GoodFET: def __init__(self, *args, **kargs): self.data=[0]; + + def getConsole(self): + from GoodFETConsole import GoodFETConsole; + return GoodFETConsole(self); def timeout(self): print "timeout\n"; def serInit(self, port=None): diff --git a/client/GoodFETAVR.py b/client/GoodFET/GoodFETAVR.py similarity index 100% rename from client/GoodFETAVR.py rename to client/GoodFET/GoodFETAVR.py diff --git a/client/GoodFETCC.py b/client/GoodFET/GoodFETCC.py similarity index 100% rename from client/GoodFETCC.py rename to client/GoodFET/GoodFETCC.py diff --git a/client/GoodFETConsole.py b/client/GoodFET/GoodFETConsole.py similarity index 100% rename from client/GoodFETConsole.py rename to client/GoodFET/GoodFETConsole.py diff --git a/client/GoodFETMSP430.py b/client/GoodFET/GoodFETMSP430.py similarity index 100% rename from client/GoodFETMSP430.py rename to client/GoodFET/GoodFETMSP430.py diff --git a/client/GoodFETSPI.py b/client/GoodFET/GoodFETSPI.py similarity index 100% rename from client/GoodFETSPI.py rename to client/GoodFET/GoodFETSPI.py diff --git a/client/GoodFETSmartCard.py b/client/GoodFET/GoodFETSmartCard.py similarity index 100% rename from client/GoodFETSmartCard.py rename to client/GoodFET/GoodFETSmartCard.py diff --git a/client/goodfet b/client/goodfet index ebcbec8..4bf9aa3 100755 --- a/client/goodfet +++ b/client/goodfet @@ -8,10 +8,9 @@ import sys, os, readline, code, binascii; import rlcompleter; -from GoodFETConsole import GoodFETConsole; -from GoodFETCC import GoodFETCC; -from GoodFETMSP430 import GoodFETMSP430; -from GoodFET import GoodFET; +import GoodFET; +from GoodFET.GoodFETConsole import GoodFETConsole; +#from GoodFET import *; from intelhex import IntelHex; @@ -24,8 +23,9 @@ if(len(sys.argv)==1): driver=sys.argv[1]; print "Using driver %s" % driver; -client=eval("%s()" % driver); -console=GoodFETConsole(client); +#client=eval("%s()" % driver); +client=GoodFET.getClient(driver); +console=client.getConsole(); console.run(); sys.exit(0); diff --git a/client/goodfet.avr b/client/goodfet.avr index 5eee753..ea40460 100755 --- a/client/goodfet.avr +++ b/client/goodfet.avr @@ -3,7 +3,7 @@ import sys; import binascii; -from GoodFETAVR import GoodFETAVR; +from GoodFET.GoodFETAVR import GoodFETAVR; from intelhex import IntelHex16bit, IntelHex; if(len(sys.argv)==1): diff --git a/client/goodfet.cc b/client/goodfet.cc index e00c727..7ce85a1 100755 --- a/client/goodfet.cc +++ b/client/goodfet.cc @@ -8,9 +8,7 @@ import sys; import binascii; -from GoodFETCC import GoodFETCC; -from GoodFETConsole import GoodFETConsole; -from intelhex import IntelHex; +from GoodFET.GoodFETCC import GoodFETCC; if(len(sys.argv)==1): @@ -32,6 +30,7 @@ if(len(sys.argv)==1): sys.exit(); #Initailize FET and set baud rate +#client=GoodFET.GoodFETCC.GoodFETCC(); client=GoodFETCC(); client.serInit() diff --git a/client/goodfet.i2crom b/client/goodfet.i2crom deleted file mode 100755 index d504f02..0000000 --- a/client/goodfet.i2crom +++ /dev/null @@ -1,158 +0,0 @@ -#!/usr/bin/env python - -#GoodFET I2C EEPROM Client -#by Travis Goodspeed - -import sys; -import binascii; -import array; - -from GoodFET import GoodFET; -from intelhex import IntelHex; - -if(len(sys.argv)==1): - print "Usage: %s verb [objects]\n" % sys.argv[0]; - print "%s info" % sys.argv[0]; - print "%s dump $foo.hex [0x$start 0x$stop]" % sys.argv[0]; - print "%s erase" % sys.argv[0]; - print "%s write $foo.hex [0x$start 0x$stop]" % sys.argv[0]; - print "%s verify $foo.hex [0x$start 0x$stop]" % sys.argv[0]; - print "%s peek 0x$start [0x$stop]" % sys.argv[0]; - print "%s poke 0x$adr 0x$val" % sys.argv[0]; - sys.exit(); - -#Initailize FET and set baud rate -client=GoodFET(); -client.serInit() - - -client.I2Csetup(); - -#Dummy read. -#Might read as all ones if chip has a startup delay. -#client.SPIjedec(); - -if(sys.argv[1]=="foo"): - client.I2Cstart(); - - # Write AA55 at 0x00 - #print "%i" % client.I2Cwrite([0xA0, 0x00, 0x00, 0xAA, 0x55, 0xAA, 0x55, 0xAA, 0x55]); - client.I2Cstop(); - - client.I2Cstart(); - print "%i" % client.I2Cwrite([0xA0, 0x00, 0x00]); # Set ADR=0x00 - client.I2Cstart();#restart - print "%i" % client.I2Cwrite([0xA1]); # Set ADR=0x00 - data=client.I2Cread(128); - s=""; - for d in data: - s+="%02x " % ord(d); - print s - client.I2Cstop(); - - -if(sys.argv[1]=="test"): - result=""; - dropped=0; - for i in range(40): - data=client.SPIjedec(); - if ord(data[1])==0xFF: - result+="-"; - dropped=dropped+1; - else: - result+="+"; - print "Connection Test: (- is bad)\n%s" % result; - print "%i misreads" % dropped; - if(dropped==40): - print "No successful reads. Is the chip wired correctly?"; - elif(dropped>0): - print "Some success, some failures. Is a wire loose?"; - else: - print "All reads succeeded. Wiring is probably good."; - -if(sys.argv[1]=="info"): - data=client.SPIjedec(); - print "Ident as %s\nManufacturer: %02x %s\nType: %02x\nCapacity: %02x" % ( - client.SPIjedecstr(), - ord(data[1]),client.SPIjedecmanstr(), - ord(data[2]), - ord(data[3])); - -if(sys.argv[1]=="dump"): - f = sys.argv[2]; - start=0x0000; - stop=0x100000; #TODO, adjust this by the JEDEC size parameter. - if(len(sys.argv)>3): - start=int(sys.argv[3],16); - if(len(sys.argv)>4): - stop=int(sys.argv[4],16); - - print "Dumping code from %06x to %06x as %s." % (start,stop,f); - file = open(f, mode='wb') - - i=start; - while i<=stop: - data=client.SPIpeekblock(i); - if(i%0x1000==0): - print "Dumped %06x."%i; - for j in data: - file.write(j); - i+=1; - file.close() -if(sys.argv[1]=="flash"): - f = sys.argv[2]; - start=0x0000; - stop=0x100000; #TODO, adjust this by the JEDEC size parameter. - if(len(sys.argv)>3): - start=int(sys.argv[3],16); - if(len(sys.argv)>4): - stop=int(sys.argv[4],16); - - print "Flashing code from %06x to %06x with %s." % (start,stop,f); - file = open(f, mode='rb') - - i=start; - chars=list(file.read()); - chunksize=0x80; - - while i<=stop: - bytes=range(0,chunksize); - for j in range(0,chunksize): - bytes[j]=ord(chars[i+j]); - #client.SPIpokebyte(i,ord(chars[i])); - client.SPIpokebytes(i,bytes); - - i+=chunksize; - if(i%0x100==0): - print "Flashed %06x."%i; - file.close() - - -if(sys.argv[1]=="erase"): - client.SPIchiperase(); - -if(sys.argv[1]=="peek"): - start=0x0000; - if(len(sys.argv)>2): - start=int(sys.argv[2],16); - stop=start; - if(len(sys.argv)>3): - stop=int(sys.argv[3],16); - print "Peeking from %06x to %06x." % (start,stop); - while start<=stop: - print "%06x: %02x" % (start,client.SPIpeek(start)); - start=start+1; - -if(sys.argv[1]=="poke"): - start=0x0000; - val=0x00; - if(len(sys.argv)>2): - start=int(sys.argv[2],16); - if(len(sys.argv)>3): - val=int(sys.argv[3],16); - print "Poking %06x to become %02x." % (start,val); - - while client.SPIpeek(start)!=val: - client.SPIpokebyte(start,val); - print "Poked to %02x" % client.SPIpeek(start); - diff --git a/client/goodfet.monitor b/client/goodfet.monitor index fb92528..bf093cd 100755 --- a/client/goodfet.monitor +++ b/client/goodfet.monitor @@ -3,7 +3,7 @@ import sys; import binascii; -from GoodFET import GoodFET; +from GoodFET.GoodFET import GoodFET; from intelhex import IntelHex16bit; if(len(sys.argv)==1): diff --git a/client/goodfet.msp430 b/client/goodfet.msp430 index be13da6..707579e 100755 --- a/client/goodfet.msp430 +++ b/client/goodfet.msp430 @@ -3,11 +3,10 @@ import sys; import binascii; -from GoodFETMSP430 import GoodFETMSP430; +from GoodFET.GoodFETMSP430 import GoodFETMSP430; from intelhex import IntelHex16bit, IntelHex; - if(len(sys.argv)==1): print "Usage: %s verb [objects]\n" % sys.argv[0]; print "%s test" % sys.argv[0]; diff --git a/client/goodfet.sc b/client/goodfet.sc index 115be85..54d87f2 100755 --- a/client/goodfet.sc +++ b/client/goodfet.sc @@ -3,7 +3,7 @@ import sys; import binascii; -from GoodFETSmartCard import GoodFETSmartCard; +from GoodFET.GoodFETSmartCard import GoodFETSmartCard; from intelhex import IntelHex16bit, IntelHex; #Initialize FET and set baud rate diff --git a/client/goodfet.spiflash b/client/goodfet.spiflash index 21a1efb..f97c20e 100755 --- a/client/goodfet.spiflash +++ b/client/goodfet.spiflash @@ -10,7 +10,7 @@ import sys; import binascii; import array; -from GoodFETSPI import GoodFETSPIFlash; +from GoodFET.GoodFETSPI import GoodFETSPIFlash; from intelhex import IntelHex; if(len(sys.argv)==1): -- 2.20.1