#
# This code is being rewritten and refactored. You've been warned!
-import sys, time, string, cStringIO, struct, glob, serial, os;
+import sys, time, string, cStringIO, struct, glob, os;
from GoodFET import GoodFET;
self.writecmd(self.NRFAPP,0x00,len(data),data);
return self.data;
+ def tune(self,tuning="aa,c78c65805e,14,09"):
+ """Tune the radio."""
+ #MAC,rA,r5,r6
+ fields=tuning.split(",");
+ ra=int(fields[1],16);
+ r5=int(fields[2],16);
+ r6=int(fields[3],16);
+ self.poke(0x0a,ra,5);
+ self.poke(0x05,r5,1);
+ self.poke(0x06,r6,1);
+ self.RF_setmaclen(3);
+ return;
def peek(self,reg,bytes=-1):
"""Read an NRF Register. For long regs, result is flipped."""
data=[reg,0,0,0,0,0];
data=data+[(val>>(8*i))&0xFF];
self.writecmd(self.NRFAPP,0x03,len(data),data);
if self.peek(reg,bytes)!=val and reg!=0x07:
- print "Warning, failed to set r%02x=%02x, got %02x." %(reg,
- val,
- self.peek(reg,bytes));
+ print "Warning, failed to set r%02x=%02x, got %02x." %(
+ reg,
+ val,
+ self.peek(reg,bytes));
+
return;
def status(self):
return "GFSK";
def RF_getrate(self):
rate=self.peek(0x06)&0x28;
- if rate==0x28:
+ if rate==0x20:
rate=250*10**3; #256kbps
elif rate==0x08:
rate=2*10**6; #2Mbps