From: chrishoder Date: Sat, 26 Jan 2013 23:11:52 +0000 (+0000) Subject: modified test function for use with TX testing. will probably restore it later X-Git-Url: http://git.rot13.org/?p=goodfet;a=commitdiff_plain;h=501118b273fd6f11836c9c963e7fe0e0af783fc4;hp=8f67deaf47ca3e7cfe8eff974cd72a284635b231 modified test function for use with TX testing. will probably restore it later git-svn-id: https://svn.code.sf.net/p/goodfet/code/trunk@1420 12e2690d-a6be-4b82-a7b7-67c4a43b65c8 --- diff --git a/client/GoodFETMCPCANCommunication.py b/client/GoodFETMCPCANCommunication.py index e269a7b..ba6d564 100644 --- a/client/GoodFETMCPCANCommunication.py +++ b/client/GoodFETMCPCANCommunication.py @@ -282,6 +282,7 @@ class GoodFETMCPCANCommunication: def freqtest(self,freq): + self.client.MCPsetup(); self.client.MCPsetrate(freq); @@ -330,49 +331,35 @@ class GoodFETMCPCANCommunication: print "Data: " + self.client.packet2str(data); def test(self): - print "\nMCP2515 Self Test:"; - #Switch to config mode and try to rewrite TEC. self.client.MCPreqstatConfiguration(); - self.client.poke8(0x00,0xde); - if self.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. - self.client.MCPreqstatLoopback(); - - packet1 = [0x00, - 0x08, # LOWER nibble must be 8 or greater to set EXTENDED ID - 0x00, 0x00, - 0x08, # UPPER nibble must be 0 to set RTR bit for DATA FRAME - # LOWER nibble is DLC - 0x01,0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0xFF] - self.client.txpacket(packet1); - self.client.txpacket(packet1); - print "Waiting on loopback packets."; + self.client.poke8(0x60,0x66); + self.client.MCPsetrate(500); + self.client.MCPreqstatNormal(); + print "Waiting on packets."; packet=None; while(1): packet=self.client.rxpacket(); if packet!=None: print "Message recieved: %s" % self.client.packet2str(packet); - break; + + - def spit(self,freq, standardid,debug): + def spit(self,freq=500, standardid,debug): comm.reset(); self.client.MCPsetrate(freq); self.client.MCPreqstatNormal(); - if(debug==True): - print "\n\nATTEMPTING TRANSMISSION!!!" - print "Tx Errors: %3d" % self.client.peek8(0x1c); - print "Rx Errors: %3d" % self.client.peek8(0x1d); - print "Error Flags: %02x\n" % self.client.peek8(0x2d); - print "TXB0CTRL: %02x" %self.client.peek8(0x30); - print "CANINTF: %02x\n" %self.client.peek8(0x2C); + print "initial state:" + print "Tx Errors: %3d" % self.client.peek8(0x1c); + print "Rx Errors: %3d" % self.client.peek8(0x1d); + print "Error Flags: %02x\n" % self.client.peek8(0x2d); + print "TXB0CTRL: %02x" %self.client.peek8(0x30); + print "CANINTF: %02x\n" %self.client.peek8(0x2C); + print "\n\nATTEMPTING TRANSMISSION!!!" + #### split SID into different regs SIDlow = (standardid[0] & 0x03) << 5; # get SID bits 2:0, rotate them to bits 7:5