2 #GoodFET zigduino client
3 #forked from code by neighbor Travis Goodspeed by bx
5 import sys, binascii, os, array, time, glob
7 from GoodFETatmel128 import GoodFETatmel128rfa1
8 from intelhex import IntelHex;
11 def printpacket(packet):
16 if i>client.packetlen: break;
17 s="%s %02x" % (s,ord(foo));
25 # print "Encoding %s" % client.RF_getenc();
26 # print "Freq %10i MHz" % (client.RF_getfreq()/10**6);
27 # print "Rate %10i kbps" % (client.RF_getrate()/1000);
28 # print "PacketLen %02i bytes" % client.RF_getpacketlen();
29 # #print "MacLen %2i bytes" % client.RF_getmaclen();
30 # print "SMAC 0x%010x" % client.RF_getsmac();
31 # print "TMAC 0x%010x" % client.RF_gettmac();
35 print "Usage: %s verb [objects]\n" % sys.argv[0];
36 #print "%s info" % sys.argv[0];
37 print "%s sniff [channel]\n\tSniffs packets." % sys.argv[0];
38 print "%s beaconreq [channel]\n\tSends out beacons requests" % sys.argv[0];
41 #Initialize FET and set baud rate
42 client=GoodFETatmel128rfa1()
43 #client.verbose = True
46 #if(sys.argv[1ce]=="info"):
49 if(sys.argv[1]=="sniff"):
52 print "Set channel to %s" % sys.argv[2];
53 client.RF_setchannel(int(sys.argv[2]));
54 #Now we're ready to get packets.
59 packet=client.RF_rxpacket();
64 if (sys.argv[1]=="beaconreq"):
67 print "Set channel to %s" % sys.argv[2];
68 client.RF_setchannel(int(sys.argv[2]));
69 packet="\x03\x08\x46\xff\xff\xff\xff\x07\x13\x33"
71 client.RX_txpacket(packet)