EM260 client is finally showing signs of life!
authortravisutk <travisutk@12e2690d-a6be-4b82-a7b7-67c4a43b65c8>
Thu, 8 Jul 2010 14:53:18 +0000 (14:53 +0000)
committertravisutk <travisutk@12e2690d-a6be-4b82-a7b7-67c4a43b65c8>
Thu, 8 Jul 2010 14:53:18 +0000 (14:53 +0000)
git-svn-id: https://svn.code.sf.net/p/goodfet/code/trunk@664 12e2690d-a6be-4b82-a7b7-67c4a43b65c8

client/GoodFETEM260.py
client/goodfet.em260

index edee5b2..e675be7 100644 (file)
@@ -22,25 +22,39 @@ from GoodFETSPI import GoodFETSPI;
 
 class GoodFETEM260(GoodFETSPI):
     EM260APP=0x01;
+    seq=0;
+    def EM260trans(self,data):
+        """Exchange data by EM260 SPI. (Slightly nonstandard.)"""
+        self.data=data;
+        self.writecmd(0x01,0x82,len(data),data);
+        return self.data;
+    
+    
     def peek8(self,adr):
         """Read a byte from the given address."""
-        data=self.SPItrans([0xfe,0x01,0x00,
+        data=self.EM260trans([0xfe,0x01,self.seq,0x00,
                             0x49,
-                            0xA7,0,0,0,0,0,0,0,0]);
-        return ord(data[7]);
-    def poke8(self,adr, byte):
-        """Poke a byte to the given address."""
+                            0xA7]);
+        s="";
+        for foo in data:
+            s=s+"%02x " % ord(foo);
+        print s;
+        
+        return ord(data[0]);
     def info(self):
         """Read the info bytes."""
-        data=self.SPItrans([0x0B,0xA7,
-                            0xFF,
-                            0xFF,0xFF,0xFF,     #00 02 A7
-                            0,0,0,0,0,0,0,0,0,0,
-                            0,0,0,0,0,0,0,0,0,0,
-                            0,0,0,0,0,0,0,0,0,0,
-                            0,0,0,0,0,0,0,0,0,0,
-                            0,0,0,0,0,0,0,0,0,0,
-                            0,0,0,0,0,0,0,0,0,0
-                            ]); 
+        #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]);
+        
+        s="";
         for foo in data:
-            print "%02x" % ord(foo);
+            s=s+"%02x " % ord(foo);
+        print s;
+        
index ff29934..2cf5527 100755 (executable)
@@ -36,10 +36,11 @@ client.SPIsetup();
 
 if(sys.argv[1]=="info"):
        client.info();
+       client.info();
+       client.info();
 if(sys.argv[1]=="test"):
-       for adr in range(0,32): #*1024):
-            val=client.peek8(adr);
-            print "%04x:=%02x" % (adr,val);
+       client.info();
+       client.info();
 if(sys.argv[1]=="dump"):
     f = sys.argv[2];
     start=0x0000;