Client stuff.
authortravisutk <travisutk@12e2690d-a6be-4b82-a7b7-67c4a43b65c8>
Wed, 6 Jan 2010 16:27:25 +0000 (16:27 +0000)
committertravisutk <travisutk@12e2690d-a6be-4b82-a7b7-67c4a43b65c8>
Wed, 6 Jan 2010 16:27:25 +0000 (16:27 +0000)
git-svn-id: https://svn.code.sf.net/p/goodfet/code/trunk@258 12e2690d-a6be-4b82-a7b7-67c4a43b65c8

client/GoodFETCC.py
client/goodfet.avr
client/goodfet.cc

index b67b337..a515409 100644 (file)
@@ -93,6 +93,11 @@ class GoodFETCC(GoodFET):
         hi=ord(self.data[0]);
         lo=ord(self.data[1]);
         return (hi<<8)+lo;
         hi=ord(self.data[0]);
         lo=ord(self.data[1]);
         return (hi<<8)+lo;
+    def CCcmd(self,phrase):
+        self.writecmd(0x30,0x00,len(phrase),phrase);
+        val=ord(self.data[0]);
+        print "Got %02x" % val;
+        return val;
     def CCdebuginstr(self,instr):
         self.writecmd(0x30,0x88,len(instr),instr);
         return ord(self.data[0]);
     def CCdebuginstr(self,instr):
         self.writecmd(0x30,0x88,len(instr),instr);
         return ord(self.data[0]);
index 8692dcf..2418854 100755 (executable)
@@ -11,7 +11,7 @@ if(len(sys.argv)==1):
     print "%s test" % sys.argv[0];
     print "%s info" % sys.argv[0];
     print "%s lockbits [value]" % sys.argv[0];
     print "%s test" % sys.argv[0];
     print "%s info" % sys.argv[0];
     print "%s lockbits [value]" % sys.argv[0];
-    #print "%s dump $foo.hex [0x$start 0x$stop]" % sys.argv[0];
+    print "%s dumpflash $foo.hex [0x$start 0x$stop]" % sys.argv[0];
     print "%s erase" % sys.argv[0];
     #print "%s flash $foo.hex [0x$start 0x$stop]" % sys.argv[0];
     #print "%s verify $foo.hex [0x$start 0x$stop]" % sys.argv[0];
     print "%s erase" % sys.argv[0];
     #print "%s flash $foo.hex [0x$start 0x$stop]" % sys.argv[0];
     #print "%s verify $foo.hex [0x$start 0x$stop]" % sys.argv[0];
@@ -63,7 +63,7 @@ if(sys.argv[1]=="lockbits"):
     
 
 
     
 
 
-if(sys.argv[1]=="dump"):
+if(sys.argv[1]=="dumpflash"):
     f = sys.argv[2];
     start=0x0000;
     stop=0xFFFF;
     f = sys.argv[2];
     start=0x0000;
     stop=0xFFFF;
@@ -96,6 +96,7 @@ if(sys.argv[1]=="peekeeprom"):
     while start<=stop:
         print "%06x: %02x" % (start,client.eeprompeek(start));
         start=start+1;
     while start<=stop:
         print "%06x: %02x" % (start,client.eeprompeek(start));
         start=start+1;
+
 if(sys.argv[1]=="peekflash"):
     start=0x0000;
     if(len(sys.argv)>2):
 if(sys.argv[1]=="peekflash"):
     start=0x0000;
     if(len(sys.argv)>2):
index 2905eb5..e937398 100755 (executable)
@@ -36,6 +36,17 @@ client.serInit()
 client.setup();
 client.start();
 
 client.setup();
 client.start();
 
+if(sys.argv[1]=="explore"):
+    print "Exploring undefined commands."
+    print "Status: %s" %client.CCstatusstr();
+    
+    cmd=0x04; #read status
+    for foo in range(0,0x5):
+        client.CCcmd([(0x0F<<3)|(0x00)|0x03,0x09<<3]);
+        print "Status %02x: %s" % (foo,client.CCstatusstr());
+    for foo in range(0,3):
+        print "PC: %04x" % client.CCgetPC();
+        
 if(sys.argv[1]=="test"):
     client.CCtest();
 if(sys.argv[1]=="deadtest"):
 if(sys.argv[1]=="test"):
     client.CCtest();
 if(sys.argv[1]=="deadtest"):