for i in range(0,bytes):
data=data+[(val>>(8*i))&0xFF];
self.writecmd(self.NRFAPP,0x03,len(data),data);
for i in range(0,bytes):
data=data+[(val>>(8*i))&0xFF];
self.writecmd(self.NRFAPP,0x03,len(data),data);
- if self.peek(reg,bytes)!=val:
+ if self.peek(reg,bytes)!=val and reg!=0x07:
print "Warning, failed to set register %02x." %reg;
return;
print "Warning, failed to set register %02x." %reg;
return;
self.writecmd(self.NRFAPP,0x82,0,None); #Flush
self.poke(0x07,0x40);#clear bit.
return None;
self.writecmd(self.NRFAPP,0x82,0,None); #Flush
self.poke(0x07,0x40);#clear bit.
return None;
+ packetlen=16;
+ def RF_setpacketlen(self,len=16):
+ """Set the number of bytes in the expected payload."""
+ self.poke(0x11,len);
+ self.packetlen=len;
from GoodFETNRF import GoodFETNRF;
from intelhex import IntelHex;
from GoodFETNRF import GoodFETNRF;
from intelhex import IntelHex;
+def printpacket(packet):
+ s="";
+ i=0;
+ for foo in packet:
+ if i>client.packetlen: break;
+ i=i+1;
+ s="%s %02x" % (s,ord(foo));
+ print "Got %s" %s;
+
+
if(len(sys.argv)==1):
print "Usage: %s verb [objects]\n" % sys.argv[0];
print "%s info" % sys.argv[0];
if(len(sys.argv)==1):
print "Usage: %s verb [objects]\n" % sys.argv[0];
print "%s info" % sys.argv[0];
client.poke(0x02,0x01); #Set RX Pipe 0
client.poke(0x03,0x03); #SETUP_AW for 5-byte addresses.
client.RF_freq(2481 * 10**6);
client.poke(0x02,0x01); #Set RX Pipe 0
client.poke(0x03,0x03); #SETUP_AW for 5-byte addresses.
client.RF_freq(2481 * 10**6);
+ #client.RF_freq(2490 * 10**6);
client.poke(0x06,0x09); #2MBps, -18dBm in RF_SETUP
client.poke(0x07,0x78); #Reset status register
client.poke(0x06,0x09); #2MBps, -18dBm in RF_SETUP
client.poke(0x07,0x78); #Reset status register
client.RF_settmac(0x424541434F);
#Set packet length of 16.
client.RF_settmac(0x424541434F);
#Set packet length of 16.
+ #client.poke(0x11,16);
+ client.RF_setpacketlen(16);
client.status();
#Power radio, prime for RX, checksum.
client.status();
#Power radio, prime for RX, checksum.
packet=None;
while packet==None:
time.sleep(0.1);
packet=None;
while packet==None:
time.sleep(0.1);
packet=client.RF_rxpacket();
packet=client.RF_rxpacket();
- s="";
- for foo in packet:
- s="%s %02x" % (s,ord(foo));
- print "Got %s" %s;