From: chrishoder Date: Tue, 12 Feb 2013 01:56:23 +0000 (+0000) Subject: changes to the GUI to allow for better loading and writing as well as tested our... X-Git-Url: http://git.rot13.org/?p=goodfet;a=commitdiff_plain;h=f244df1b2d3010548ed2cceabdde44f36089a29a changes to the GUI to allow for better loading and writing as well as tested our FordExperiments stuff git-svn-id: https://svn.code.sf.net/p/goodfet/code/trunk@1476 12e2690d-a6be-4b82-a7b7-67c4a43b65c8 --- diff --git a/client/FordExperiments.py b/client/FordExperiments.py index df43f84..001ee02 100644 --- a/client/FordExperiments.py +++ b/client/FordExperiments.py @@ -15,26 +15,37 @@ class FordExperiments(GoodFETMCPCANCommunication): def init(self): super(FordExperimetns,self).__init__(self) #initialize chip - + self.freq = 500; + def mimic1056(self,packetData,runTime): #setup chip self.client.serInit() - self.spitSetup() + self.spitSetup(500) #FIGURE out how to clear buffers self.addFilter([1056, 1056, 1056, 1056,1056, 1056], verbose=False) packet1 = self.client.rxpacket(); + if(packet1 != None): + packetParsed = self.client.packet2parsed(packet1); + #keep sniffing till we read a packet + while( packet1 == None or packetParsed.get('sID') != 1056 ): + packet1 = self.client.rxpacket() + if(packet1 != None): + packetParsed = self.client.packet2parsed(packet1) recieveTime = time.time() packetParsed = self.client.packet2parsed(packet1) if( packetParsed['sID'] != 1056): print "Sniffed wrong packet" return - countInitial = ord(packetParsed['db3'].get()) #initial count value + countInitial = ord(packetParsed['db3']) #initial count value packet = [] #set data packet to match what was sniffed or at least what was input for i in range(0,8): idx = "db%d"%i if(packetData.get(idx) == None): packet.append(ord(packetParsed.get(idx))) + else: + packet.append(packetData.get(idx)) + print packet #### split SID into different regs SIDlow = (1056 & 0x07) << 5; # get SID bits 2:0, rotate them to bits 7:5 SIDhigh = (1056 >> 3) & 0xFF; # get SID bits 10:3, rotate them to bits 7:0 @@ -42,6 +53,7 @@ class FordExperiments(GoodFETMCPCANCommunication): 0x08, # bit 6 must be set to 0 for data frame (1 for RTR) # lower nibble is DLC packet[0],packet[1],packet[2],packet[3],packet[4],packet[5],packet[6],packet[7]] + packetCount = 1; self.client.txpacket(packet); tpast = time.time() while( (time.time()-recieveTime) < runTime): @@ -50,8 +62,11 @@ class FordExperiments(GoodFETMCPCANCommunication): if( dT/0.2 >= 1): db3 = (countInitial + math.floor((time.time()-recieveTime)/0.2))%255 packet[8] = db3 + self.client.txpacket(packet) + packetCount += 1 else: - self.client.MCPrts(TXB0=True): + packetCount += 1 + self.client.MCPrts(TXB0=True) tpast = time.time() #update our transmit time on the one before diff --git a/client/GoodFETMCPCANCommunication.py b/client/GoodFETMCPCANCommunication.py index 58fa577..676d018c9 100644 --- a/client/GoodFETMCPCANCommunication.py +++ b/client/GoodFETMCPCANCommunication.py @@ -605,16 +605,18 @@ class GoodFETMCPCANCommunication: if repeat: print "\nNow looping on transmit. " - if duration!= None: - for i in range(0,trials): + if period != None: + for i in range(0,writes): self.client.MCPrts(TXB0=True); + tic = time.time() time.sleep(period/1000) # pause for period ms before sending again + print time.time()-tic #starttime = time.time(); #while((time.time()-starttime < duration)): # self.client.MCPrts(TXB0=True); # print "MSG printed" else: - for i in range(0,trials): + for i in range(0,writes): self.client.MCPrts(TXB0=True); print "messages injected"