import sys, time, string, cStringIO, struct, glob, serial, os;
import sqlite3;
+fmt = ("B", "<H", None, "<L")
+
def getClient(name="GoodFET"):
import GoodFET, GoodFETCC, GoodFETAVR, GoodFETSPI, GoodFETMSP430;
if(name=="GoodFET" or name=="monitor"): return GoodFET.GoodFET();
#time.sleep(1);
self.readcmd(); #Read the first command.
if(self.verb!=0x7F):
- print "Verb %02x is wrong. Incorrect firmware?" % self.verb;
+ print "Verb %02x is wrong. Incorrect firmware or bad Info guess?" % self.verb;
+ print "http://goodfet.sf.net/faq/";
#print "Connected."
def getbuffer(self,size=0x1c00):
writecmd(0,0xC2,[size&0xFF,(size>>16)&0xFF]);
print "Rx: ( 0x%02x, 0x%02x, 0x%04x )" % ( self.app, self.verb, self.count )
#Debugging string; print, but wait.
- if self.app==0xFF and self.verb==0xFF:
- print "# DEBUG %s" % self.serialport.read(self.count);
+ if self.app==0xFF:
+ if self.verb==0xFF:
+ print "# DEBUG %s" % self.serialport.read(self.count)
+ elif self.verb==0xFE:
+ print "# DEBUG 0x%x" % struct.unpack(fmt[self.count-1], self.serialport.read(self.count))[0]
sys.stdout.flush();
- return []
else:
self.data=self.serialport.read(self.count);
return self.data;