Reverted some CCSPI performance patches. This might slow down the Z1.
[goodfet] / client / goodfet.mcpcan
index 35fc1d4..44b921e 100755 (executable)
@@ -33,7 +33,9 @@ client.MCPsetup();
 #Might read as all ones if chip has a startup delay.
 
 if(sys.argv[1]=="info"):
-    print "MCP2515 Info:";
+    print "MCP2515 Info:\n\n";
+    
+    print "Mode: %s" % client.MCPcanstatstr();
     print "Read Status: %02x" % client.MCPreadstatus();
     print "Rx Status:   %02x" % client.MCPrxstatus();
     print "Tx Errors:  %3d" % client.peek8(0x1c);
@@ -44,19 +46,33 @@ if(sys.argv[1]=="info"):
     for foo in [packet0, packet1]:
         print client.packet2str(foo);
 if(sys.argv[1]=="sniff"):
+    client.MCPreqstatListenOnly();
     while 1:
         packet=client.rxpacket();
         if packet!=None:
             print client.packet2str(packet);
+
 if(sys.argv[1]=="test"):
     print "MCP2515 Self Test:";
     
+    #Switch to config mode and try to rewrite TEC.
+    client.MCPreqstatConfiguration();
     client.poke8(0x00,0xde);
     if client.peek8(0x00)!=0xde:
         print "ERROR: Poke to TEC failed.";
     else:
         print "SUCCESS: Register read/write.";
-
+    
+    #Switch to Loopback mode and try to catch our own packet.
+    client.MCPreqstatLoopback();
+    client.txpacket([0xb1, 0x6b, 0x00, 0x65,
+                     0xb1, 0x6b, 0x00, 0x65
+                     ]);
+    print "Waiting on loopback packet.";
+    packet=None;
+    while packet==None:
+        packet=client.rxpacket();
+    print "Success!  Got %s" % client.packet2str(packet);
 if(sys.argv[1]=="peek"):
     start=0x0000;
     if(len(sys.argv)>2):