NRF register width automatically determined.
authortravisutk <travisutk@12e2690d-a6be-4b82-a7b7-67c4a43b65c8>
Sat, 22 May 2010 23:23:22 +0000 (23:23 +0000)
committertravisutk <travisutk@12e2690d-a6be-4b82-a7b7-67c4a43b65c8>
Sat, 22 May 2010 23:23:22 +0000 (23:23 +0000)
git-svn-id: https://svn.code.sf.net/p/goodfet/code/trunk@552 12e2690d-a6be-4b82-a7b7-67c4a43b65c8

client/GoodFETNRF.py
client/goodfet.nrf

index 4b2f6c9..74be559 100644 (file)
@@ -26,9 +26,15 @@ class GoodFETNRF(GoodFET):
         self.writecmd(self.NRFAPP,0x00,len(data),data);
         return self.data;
     
         self.writecmd(self.NRFAPP,0x00,len(data),data);
         return self.data;
     
-    def peek(self,reg,bytes=1):
+    def peek(self,reg,bytes=-1):
         """Read an NRF Register.  For long regs, result is flipped."""
         data=[reg,0,0,0,0,0];
         """Read an NRF Register.  For long regs, result is flipped."""
         data=[reg,0,0,0,0,0];
+        
+        #Automatically calibrate the len.
+        if bytes==-1:
+            bytes=1;
+            if reg==0x0a or reg==0x0b or reg==0x10: bytes=5;
+        
         self.writecmd(self.NRFAPP,0x02,len(data),data);
         toret=0;
         for i in range(0,bytes):
         self.writecmd(self.NRFAPP,0x02,len(data),data);
         toret=0;
         for i in range(0,bytes):
index f475a36..7d87b3b 100755 (executable)
@@ -63,9 +63,7 @@ if(sys.argv[1]=="test"):
 
 if(sys.argv[1]=="regs"):
     for r in range(0,0x20):
 
 if(sys.argv[1]=="regs"):
     for r in range(0,0x20):
-        reglen=1;
-        if r==0x0a or r==0x0b or r==0x10: reglen=5;
-        print "r[0x%02x]=0x%010x" % (r,client.peek(r,reglen));
+        print "r[0x%02x]=0x%010x" % (r,client.peek(r));
 
 if(sys.argv[1]=="sniffob"):
     #Reversal of transmitter code from nRF_CMD.c of OpenBeacon
 
 if(sys.argv[1]=="sniffob"):
     #Reversal of transmitter code from nRF_CMD.c of OpenBeacon