ccspi application reflexive jamming and reflexive jamming returning the jammed frame...
[goodfet] / client / goodfet.ccspi
index ea69da3..f681cad 100755 (executable)
@@ -26,10 +26,9 @@ if(len(sys.argv)==1):
     print "%s bsniff [chan]" % sys.argv[0];
     print "%s sniffdissect" % sys.argv[0];
     
-    
-    print;
-    print "%s txtoscount [-i|-r]   TinyOS BlinkToLED" % sys.argv[0];    
-    
+    print "\n%s txtoscount [-i|-r]   TinyOS BlinkToLED" % sys.argv[0];
+    print "%s reflexjam" % sys.argv[0];
+
     sys.exit();
 
 #Initialize FET and set baud rate
@@ -44,7 +43,7 @@ client.setup();
 if(sys.argv[1]=="carrier"):
     if len(sys.argv)>2:
         client.RF_setfreq(eval(sys.argv[2]));
-    while 1:    
+    while 1:
         client.RF_carrier();
     while(1):
         time.sleep(1);
@@ -57,6 +56,21 @@ if(sys.argv[1]=="modulated_spectrum"):
     while(1):
         time.sleep(1);
 
+if(sys.argv[1]=="reflexjam"):
+    #Setup the radio to listen promiscously on a frequency
+    client.RF_promiscuity(1);
+    client.RF_autocrc(0);
+    if len(sys.argv)>2:
+        freq=eval(sys.argv[2]);
+        if freq>100:
+            client.RF_setfreq(freq);
+        else:
+            client.RF_setchan(freq);
+    client.CC_RFST_RX();
+    print "Reflexively jamming on %i MHz" % (client.RF_getfreq()/10**6);
+    #Now we let the firmware take over, watching for packets and jamming them.
+    client.RF_reflexjam();
+
 if(sys.argv[1]=="info"):
     print "Found   %s" % client.identstr();
     print "Freq:   %05f MHz" % (client.RF_getfreq()/(10**6));
@@ -157,8 +171,9 @@ if(sys.argv[1]=="txtest"):
                             0xba, 0xbe, 0xc0]);
 if(sys.argv[1]=="txtoscount"):
     '''
-    Clone of what TinyOS's BlinkToLED demo code does.
-    Specify a channel a TinyOS mote programmed with BlinkToLED is on, and this will act as the second device.
+    Clone of what TinyOS's RadioCountToLeds demo code does.  Specify a
+    channel a TinyOS mote programmed with RadioCountToLeds is on, and
+    this will act as the second device.
     '''
     if (len(sys.argv)<=3):
         print "Provide -r to work via replays or -i to work via incrementing itself.";