From b2c8966bf1865ffd10329668fd32ca72fccf75ae Mon Sep 17 00:00:00 2001 From: chrishoder Date: Fri, 1 Feb 2013 22:25:17 +0000 Subject: [PATCH] changes on rtr sweep git-svn-id: https://svn.code.sf.net/p/goodfet/code/trunk@1440 12e2690d-a6be-4b82-a7b7-67c4a43b65c8 --- client/GoodFETMCPCAN.py | 2 +- client/GoodFETMCPCANCommunication.py | 21 +++++++++++++++++---- 2 files changed, 18 insertions(+), 5 deletions(-) diff --git a/client/GoodFETMCPCAN.py b/client/GoodFETMCPCAN.py index 3ac06a9..189ef56 100644 --- a/client/GoodFETMCPCAN.py +++ b/client/GoodFETMCPCAN.py @@ -332,7 +332,7 @@ class GoodFETMCPCAN(GoodFETSPI): msg = "sID: %04d"%sID msg += eIDmsg + rtrmsg - msg += "length: %d"%(length) + msg += " length: %d"%(length) msg += dbmsg return msg diff --git a/client/GoodFETMCPCANCommunication.py b/client/GoodFETMCPCANCommunication.py index d5be081..702025f 100644 --- a/client/GoodFETMCPCANCommunication.py +++ b/client/GoodFETMCPCANCommunication.py @@ -447,16 +447,19 @@ class GoodFETMCPCANCommunication: self.client.serInit() self.spitSetup(freq) for i in range(lowID,highID+1, 1): - - standardid = [i, i, i] + self.spitSetup(freq) + standardid = [i, i, i, i] #set filters self.addFilter(standardid, verbose = True) + self.client.MCPreqstatNormal(); #### split SID into different areas SIDlow = (standardid[0] & 0x07) << 5; # get SID bits 2:0, rotate them to bits 7:5 SIDhigh = (standardid[0] >> 3) & 0xFF; # get SID bits 10:3, rotate them to bits 7:0 #create RTR packet packet = [SIDhigh, SIDlow, 0x00,0x00,0x40] - self.client.poke8(0x2C,0x00); #clear the CANINTF register; we care about bits 0 and 1 (RXnIF flags) which indicate a message is being held + #self.client.poke8(0x2C,0x00); #clear the CANINTF register; we care about bits 0 and 1 (RXnIF flags) which indicate a message is being held + packet1 = self.client.rxpacket(); + packet2 = self.client.rxpacket(); self.client.txpacket(packet) ## listen for 2 packets. one should be the rtr we requested the other should be ## a new packet response @@ -467,6 +470,10 @@ class GoodFETMCPCANCommunication: print self.client.packet2parsedstr(packet1); print self.client.packet2parsedstr(packet2); continue + elif( packet1 != None): + print self.client.packet2parsedstr(packet1) + elif( packet2 != None): + print self.client.packet2parsedstr(packet2) trial= 2; # for each trial while( trial <= attempts): @@ -478,12 +485,18 @@ class GoodFETMCPCANCommunication: while( (time.time()-starttime) < duration): packet1=self.client.rxpacket(); packet2=self.client.rxpacket(); - + if( packet1 != None and packet2 != None): print "packets recieved :\n " print self.client.packet2parsedstr(packet1); print self.client.packet2parsedstr(packet2); #break + elif( packet1 != None): + print "just packet1" + print self.client.packet2parsedstr(packet1) + elif( packet2 != None): + print "just packet2" + print self.client.packet2parsedstr(packet2) trial += 1 print "sweep complete" -- 2.20.1