X-Git-Url: http://git.rot13.org/?p=goodfet;a=blobdiff_plain;f=client%2Fgoodfet.mcpcan;h=0c0779c9ff96b29e06822a5f2a09516ec8f7ec36;hp=b52bb71131571d26be6b9b5b1e0f1c1a6d5bbe60;hb=b7de45ade031d2b780bad27428dff03ff4c317e1;hpb=283bc9d0a8d8fedaaed56ddfc382030f0aa7926c diff --git a/client/goodfet.mcpcan b/client/goodfet.mcpcan index b52bb71..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,16 +47,39 @@ if(sys.argv[1]=="info"): packet1=client.readrxbuffer(1); for foo in [packet0, packet1]: print client.packet2str(foo); + if(sys.argv[1]=="sniff"): - client.MCPreqstatListenOnly(); if len(sys.argv)>2: - rate=int(sys.argv[2]); + rate=float(sys.argv[2]); client.MCPsetrate(rate); + client.MCPreqstatListenOnly(); while 1: packet=client.rxpacket(); 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:";