+ if not self.besilent:
+ self.readcmd();
+
+ besilent=0;
+ app=0;
+ verb=0;
+ count=0;
+ data="";
+
+ def readcmd(self):
+ """Read a reply from the GoodFET."""
+ while 1:
+ #print "Reading...";
+ self.app=ord(self.serialport.read(1));
+ #print "APP=%2x" % self.app;
+ self.verb=ord(self.serialport.read(1));
+ #print "VERB=%02x" % self.verb;
+ self.count=(
+ ord(self.serialport.read(1))
+ +(ord(self.serialport.read(1))<<8)
+ );
+
+ #Debugging string; print, but wait.
+ if self.app==0xFF and self.verb==0xFF:
+ print "DEBUG %s" % self.serialport.read(self.count);
+ else:
+ self.data=self.serialport.read(self.count);
+ return self.data;
+