JTAGARM7 is back up and running, folks! Tested Halt/Release, Get/Set Registers,...
[goodfet] / client / goodfet.mcpcan
index 82636b3..0c0779c 100755 (executable)
@@ -20,6 +20,7 @@ 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();
 
@@ -46,6 +47,7 @@ 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=float(sys.argv[2]);
@@ -56,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:";