Monitor peeks work on the console.
[goodfet] / client / GoodFET.py
index 48810af..8b7f355 100755 (executable)
@@ -7,6 +7,17 @@
 
 import sys, time, string, cStringIO, struct, glob, serial, os;
 
+def getClient(name="GoodFET"):
+    import GoodFET, GoodFETCC, GoodFETAVR, GoodFETSPI, GoodFETMSP430;
+    if(name=="GoodFET" or name=="monitor"): return GoodFET.GoodFET();
+    elif name=="cc" or name=="chipcon": return GoodFETCC.GoodFETCC();
+    elif name=="avr": return GoodFETAVR.GoodFETAVR();
+    elif name=="spi": return GoodFETSPI.GoodFETSPI();
+    elif name=="msp430": return GoodFETSPI.GoodFETMSP430();
+    
+    print "Unsupported target: %s" % name;
+    sys.exit(0);
+
 
 class GoodFET:
     """GoodFET Client Library"""
@@ -15,7 +26,8 @@ class GoodFET:
     
     def __init__(self, *args, **kargs):
         self.data=[0];
-        
+    
+
     def getConsole(self):
         from GoodFETConsole import GoodFETConsole;
         return GoodFETConsole(self);
@@ -274,12 +286,27 @@ class GoodFET:
     def start(self):
         return;
     def test(self):
+        print "Unimplemented.";
         return;
     def status(self):
+        print "Unimplemented.";
+        return;
+    def halt(self):
+        print "Unimplemented.";
         return;
+    def resume(self):
+        print "Unimplemented.";
+        return;
+    def getpc(self):
+        print "Unimplemented.";
+        return 0xdead;
     def flash(self,file):
         """Flash an intel hex file to code memory."""
         print "Flash not implemented.";
+    def dump(self,file,start=0,stop=0xffff):
+        """Dump an intel hex file from code memory."""
+        print "Dump not implemented.";
+
     def peek32(self,address, memory="vn"):
         return (self.peek16(address,memory)+
                 (self.peek16(address+2,memory)<<16));
@@ -287,4 +314,4 @@ class GoodFET:
         return (self.peek8(address,memory)+
                 (self.peek8(address+1,memory)<<8));
     def peek8(self,address, memory="vn"):
-        return 0xde;
+        return self.peekbyte(address); #monitor