X-Git-Url: http://git.rot13.org/?p=goodfet;a=blobdiff_plain;f=client%2FGoodFETNRF.py;h=3b3a4986ed13e64d72e200167bc0260d90999f37;hp=3c780a57a68319484372e5fd7645afa5d728ce81;hb=053fca013042a25eecdae93dc08955d6cc106468;hpb=144771f910594345d1efda0363a01735670ce2e5 diff --git a/client/GoodFETNRF.py b/client/GoodFETNRF.py index 3c780a5..3b3a498 100644 --- a/client/GoodFETNRF.py +++ b/client/GoodFETNRF.py @@ -26,6 +26,18 @@ class GoodFETNRF(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]; @@ -178,14 +190,16 @@ class GoodFETNRF(GoodFET): maclen=5; def RF_getmaclen(self): """Get the number of bytes in the MAC address.""" - choices=[0, 3, 4, 5]; + choices=[2, 3, 4, 5]; choice=self.peek(0x03)&3; self.maclen=choices[choice]; return self.maclen; def RF_setmaclen(self,len): """Set the number of bytes in the MAC address.""" - choices=["illegal", "illegal", "illegal", - 1, 2, 3]; + choices=["illegal", "illegal", + 0, #undocumented + 1, 2, 3 #documented + ]; choice=choices[len]; self.poke(0x03,choice); self.maclen=len;