- """Get a packet from the radio. Returns None if none is waiting."""
- print "Don't know how to get a packet.";
- return None;
+ """Get a packet from the radio. Returns None if none is waiting. In
+ order to not require the SFD, FIFO, or FIFOP lines, this
+ implementation works by comparing the buffer to the older
+ contents.
+ """
+ self.strobe(0x03); #SRXON
+ self.strobe(0x08); #SFLUSHRX
+
+ buffer=range(0,0xff);
+ buffer[0]=0x3F | 0x40; #RXFIFO
+ buffer=self.trans(buffer);
+
+ new=False;
+ for foo in range(2,20):
+ if buffer[foo]!=self.lastpacket[foo]:
+ new=True;
+ if not new:
+ return None;
+
+
+ self.lastpacket=buffer;
+ return buffer;