'goodfet.nrf carrier' works.
[goodfet] / client / GoodFETNRF.py
index 4b2f6c9..8de2993 100644 (file)
@@ -26,9 +26,15 @@ class GoodFETNRF(GoodFET):
         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];
+        
+        #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):
@@ -103,6 +109,11 @@ class GoodFETNRF(GoodFET):
             self.writecmd(self.NRFAPP,0x82,0,None); #Flush
             self.poke(0x07,0x40);#clear bit.
         return None;
+    def RF_carrier(self):
+        """Hold a carrier wave on the present frequency."""
+        # Set CONT_WAVE, PLL_LOCK, and 0dBm in RF_SETUP
+        self.poke(0x06,8+10+4+2); 
+        
     packetlen=16;
     def RF_setpacketlen(self,len=16):
         """Set the number of bytes in the expected payload."""