X-Git-Url: http://git.rot13.org/?p=goodfet;a=blobdiff_plain;f=client%2Fgoodfet.mcpcan;h=44b921e531ababdcae5a7a4563044b93eb69f7e7;hp=35fc1d4c4675eb1c6a154cd2ce46cb63cf18c233;hb=321a7a6d808dbfaecadfe9b2201ee4ee949d1cc1;hpb=43f50970e78843e02cfa981005165ef0b64381a0 diff --git a/client/goodfet.mcpcan b/client/goodfet.mcpcan index 35fc1d4..44b921e 100755 --- a/client/goodfet.mcpcan +++ b/client/goodfet.mcpcan @@ -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):