X-Git-Url: http://git.rot13.org/?p=goodfet;a=blobdiff_plain;f=client%2FFordExperiments.py;h=5c805889f5b520f01d746815beed100ac3835242;hp=2c9268b556792e59d7eefbdd62d155563e6e2c83;hb=5c765e61a412076529a299e51a9436f8276d8fc0;hpb=2b486a8af6f4bff2dd9782c556284c9a419e4043 diff --git a/client/FordExperiments.py b/client/FordExperiments.py index 2c9268b..5c80588 100644 --- a/client/FordExperiments.py +++ b/client/FordExperiments.py @@ -356,7 +356,45 @@ class FordExperiments(experiments): # spit new value for 1 second while (time.time()-starttime < 10): self.multiPacketSpit(packet0rts=True) + + def setEngineTemp(self,temp): + self.client.serInit() + self.spitSetup(500) + + self.addFilter([1056, 1056, 1056,1056,1056,1056]) + self.client.rxpacket() + self.client.rxpacket() + self.client.rxpacket() + 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 + + startTime = time.time() + #while((time.time() - startTime) < 10): + packet = None; + + # catch a packet and check its db4 value + while (packet == None): + packet=self.client.rxpacket(); + + + newTemp = int(math.ceil(level/1.8 + 22)) + #print "Fake MPH = 1.617(%d)-63.5 = %d" %(newSpeed, mph) + + + newPacket = [SIDhigh, SIDlow, 0x00,0x00, # pad out EID regs + 0x08, # bit 6 must be set to 0 for data frame (1 for RTR) + # lower nibble is DLC + newTemp,ord(packet[6]),ord(packet[7]),ord(packet[8]),ord(packet[9]),ord(packet[10]),ord(packet[11]),ord(packet[12])] + + # load new packet into TXB0 and check time + self.multiPacketSpit(packet0=newPacket, packet0rts=True) + starttime = time.time() + + # spit new value for 1 second + while (time.time()-starttime < 10): + self.multiPacketSpit(packet0rts=True) + def overHeatEngine(self): self.client.serInit() self.spitSetup(500) @@ -897,13 +935,13 @@ class FordExperiments(experiments): #sample width: 2 --> 2 bytes per sample #framerate: 44100 - def engineDiagnostic(self, data): + def engineDiagnostic(self, data): - self.addFilter([513, 513, 513,513]) + self.addFilter([513, 513, 513,513]) - startTime = tT.time() + startTime = tT.time() while((tT.time() - startTime ) < 15): - packet = None; + packet = None; #catch a packet to decode while (packet == None): @@ -912,7 +950,7 @@ class FordExperiments(experiments): rpm = 64.5 * ord(packet[5]) - 61.88 mph = 1.617 * ord(packet[9]) - 63.5 - data.put("Engine RPM: %d Current Speed: %d mph", %(rpm, mph)) + data.put("Engine RPM: %d Current Speed: %d mph"%(rpm, mph)) time.sleep(.5)