From: travisutk Date: Thu, 8 Jul 2010 15:24:25 +0000 (+0000) Subject: EM260spiversion() is stabilized. X-Git-Url: http://git.rot13.org/?p=goodfet;a=commitdiff_plain;h=9f04ab8400edcda9273f74f991673dbb03b94b4f EM260spiversion() is stabilized. git-svn-id: https://svn.code.sf.net/p/goodfet/code/trunk@666 12e2690d-a6be-4b82-a7b7-67c4a43b65c8 --- diff --git a/client/GoodFETEM260.py b/client/GoodFETEM260.py index e675be7..b41d76f 100644 --- a/client/GoodFETEM260.py +++ b/client/GoodFETEM260.py @@ -27,6 +27,20 @@ class GoodFETEM260(GoodFETSPI): """Exchange data by EM260 SPI. (Slightly nonstandard.)""" self.data=data; self.writecmd(0x01,0x82,len(data),data); + + try: + reply=ord(self.data[0]); + if(reply==0x00): + print "Warning: EM260 rebooted."; + return self.EM260trans(data); + if(reply==0x02): + print "Error: Aborted Transaction."; + #return self.EM260trans(data); + if(reply==0x03): + print "Error: Missing Frame Terminator."; + #return self.data; + except: + print "Error in EM260trans."; return self.data; @@ -43,18 +57,27 @@ class GoodFETEM260(GoodFETSPI): return ord(data[0]); def info(self): """Read the info bytes.""" - #data=self.EM260trans([0x0A,0xA7]); - #data=self.EM260trans([0xFE,0x04, - # 0x00,0x00,0x00,0x02, - # 0xA7]); - data=self.EM260trans([0x0B,0xA7]); - - #data=self.EM260trans([]); - - #data=self.EM260trans([0x0B,0x0B,0x0B,0x0B,0xA7]); + version=self.EM260spiversion(); + print "Version %2i" % (version &0x7F); + def EM260spiversion(self): + """Read the SPI version number from EM260.""" + data=self.EM260trans([0x0A,0xA7]); + version=ord(data[0]); + if version==0x00: + return self.EM260spiversion(); + if version==0x02: + return self.EM260spiversion(); + if not version&0x80: + print "Version misread."; + return 0; + return version; + + def EM260spistatus(self): + """Read the info bytes.""" + data=self.EM260trans([0x0B,0xA7]); s=""; for foo in data: s=s+"%02x " % ord(foo); print s; - +