Removed Chinese. It breaks the Windows version of Windows XP.
[goodfet] / client / goodfet.nrf
index 117a272..4c2eb0e 100755 (executable)
@@ -11,6 +11,16 @@ import time;
 from GoodFETNRF import GoodFETNRF;
 from intelhex import IntelHex;
 
+
+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","?","?","?","?","?",
+          "?","?","?","?","?","?","?","?"];
+
 def printpacket(packet):
     s="";
     i=0;
@@ -25,7 +35,7 @@ def printconfig():
     print "Freq    %10i MHz" % (client.RF_getfreq()/10**6);
     print "Rate    %10i kbps" % (client.RF_getrate()/1000);
     print "PacketLen %02i bytes" % client.RF_getpacketlen();
-    print "MacLen    %2i bytes" % client.RF_getmaclen();
+    #print "MacLen    %2i bytes" % client.RF_getmaclen();
     print "SMAC  0x%010x" % client.RF_getsmac();
     print "TMAC  0x%010x" % client.RF_gettmac();
 
@@ -35,6 +45,7 @@ if(len(sys.argv)==1):
     print "%s info" % sys.argv[0];
     print "%s test" % sys.argv[0];
     print "%s regs" % sys.argv[0];
+    print "%s pyregs" % sys.argv[0];
     print "%s sniff\n\tSniffs packets by current config." % sys.argv[0];
     print "%s sniffob\n\tSniffs OpenBeacon traffic." % sys.argv[0];
     print "%s carrier [freq]\n\tHolds a carrier on [freq] Hz." % sys.argv[0];
@@ -85,16 +96,11 @@ if(sys.argv[1]=="carrier"):
     while(1):
         time.sleep(1);
 if(sys.argv[1]=="regs"):
-    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]=="pyregs"):
+    for r in range(0,0x20):
+        print "client.set(0x%02x,0x%010x); #%16s " % (r,client.peek(r),regnames[r]);
 
 if(sys.argv[1]=="peek"):
     start=0x0000;
@@ -140,13 +146,12 @@ if(sys.argv[1]=="sniffob"):
     #Set packet length of 16.
     client.RF_setpacketlen(16);
     
-    #Power radio, prime for RX, checksum.
-    client.poke(0x00,0x70|0x03|0x08);
+    #Power radio, prime for RX, but no checksum.
+    client.poke(0x00,0x70|0x03|0x08); #0x08 for one byte, 0x04 for two.
     
     print "Listening as %010x on %i MHz" % (client.RF_getsmac(),
                                            client.RF_getfreq()/10**6);
     #Now we're ready to get packets.
-    
     while 1:
         packet=None;
         while packet==None: