X-Git-Url: http://git.rot13.org/?p=goodfet;a=blobdiff_plain;f=client%2Fgoodfet.mcpcan;h=0c0779c9ff96b29e06822a5f2a09516ec8f7ec36;hp=83aff434f0540e94479a531d8209ead5df4158a9;hb=2d9581c49c1f23575ab77b299ba9ea84155447c6;hpb=d22ec14cd09c62698f40a42e77fb479663dd964a diff --git a/client/goodfet.mcpcan b/client/goodfet.mcpcan index 83aff43..0c0779c 100755 --- a/client/goodfet.mcpcan +++ b/client/goodfet.mcpcan @@ -20,6 +20,8 @@ if(len(sys.argv)==1): #print "%s poke 0x$adr 0x$val" % sys.argv[0]; print "\n%s sniff [kHz]" % sys.argv[0]; + print "\n%s isniff [kHz]" % sys.argv[0]; + print "\nSupported rates: 83.3, 100, 125, 250, 500, 1000 kHz."; sys.exit(); #Initialize FET and set baud rate @@ -45,9 +47,10 @@ if(sys.argv[1]=="info"): packet1=client.readrxbuffer(1); for foo in [packet0, packet1]: print client.packet2str(foo); + if(sys.argv[1]=="sniff"): if len(sys.argv)>2: - rate=int(sys.argv[2]); + rate=float(sys.argv[2]); client.MCPsetrate(rate); client.MCPreqstatListenOnly(); while 1: @@ -55,6 +58,28 @@ if(sys.argv[1]=="sniff"): if packet!=None: print client.packet2str(packet); +if(sys.argv[1]=="isniff"): + """ An intelligent sniffer, decodes message format """ + """ More features to be added soon """ + if len(sys.argv)>2: + rate=float(sys.argv[2]); + client.MCPsetrate(rate); + client.MCPreqstatListenOnly(); + while 1: + packet=client.rxpacket(); + if packet!=None: + plist=[]; + for byte in packet: + plist.append(byte); + arbid=plist[0:2]; + eid=plist[2:4]; + dlc=plist[4:5]; + data=plist[5:13]; + print "\nArbID: " + client.packet2str(arbid); + print "EID: " + client.packet2str(eid); + print "DLC: " + client.packet2str(dlc); + print "Data: " + client.packet2str(data); + if(sys.argv[1]=="test"): print "MCP2515 Self Test:";