+ regnames=["CONFIG","EN_AA","EN_RXADDR","SETUP_AW","SETUP_RET",
+ "RF_CH","RF_SETUP","STATUS","OBSERVE_TX","RPD",
+ "RX_ADDR_P0","RX_ADDR_P1","RX_ADDR_P2","RX_ADDR_P3","RX_ADDR_P4","RX_ADDR_P5",
+ "TX_ADDR",
+ "RX_PW_P0","RX_PW_P1","RX_PW_P2","RX_PW_P3","RX_PW_P4","RX_PW_P5",
+ "FIFO_STATUS","?",
+ "?","?","DYNPD","?","?","?","?","?",
+ "?","?","?","?","?","?","?","?"];
+ for r in range(0,0x20):
+ print "r[0x%02x]=0x%010x //%16s " % (r,client.peek(r),regnames[r]);
+
+if(sys.argv[1]=="peek"):
+ start=0x0000;
+ if(len(sys.argv)>2):
+ start=int(sys.argv[2],16);
+ stop=start;
+ if(len(sys.argv)>3):
+ stop=int(sys.argv[3],16);
+ print "Peeking from %02x to %02x." % (start,stop);
+ while start<=stop:
+ print "%02x: %010x" % (start,client.peek(start));
+ start=start+1;
+if(sys.argv[1]=="poke"):
+ start=0x0000;
+ val=0x00;
+ if(len(sys.argv)>2):
+ start=int(sys.argv[2],16);
+ if(len(sys.argv)>3):
+ val=int(sys.argv[3],16);
+ print "Poking %02x to become %010x." % (start,val);
+
+ client.poke(start,val);
+ print "Poked to %04x" % client.peek(start);