+ def setScanToolTemp(self,temp):
+ self.client.serInit()
+ self.spitSetup(500)
+
+ self.addFilter([2024, 2024, 2024])
+ self.client.rxpacket()
+ self.client.rxpacket()
+ self.client.rxpacket()
+ SIDlow = (2024 & 0x07) << 5; # get SID bits 2:0, rotate them to bits 7:5
+ SIDhigh = (2024 >> 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 = 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
+ ord(packet[5]),ord(packet[6]),ord(packet[7]),newTemp,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 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)
+
+ self.addFilter([1056, 1056, 1056])
+ packet = self.getBackground(1056)
+ 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
+
+ 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
+ 0xfa,packet['db1'],packet['db2'],packet['db3'],packet['db4'],packet['db5'],packet['db6'],packet['db7']]
+ startTime = time.time()
+ self.multiPacketSpit(packet0=newPacket, packet0rts=True)
+ while( time.time()- startTime < 10):
+ self.multiPacketSpit(packet0rts=True)
+
+ def runOdometer(self):
+ self.client.serInit()
+ self.spitSetup(500)
+
+ self.addFilter([1056, 1056, 1056])
+ packet = self.getBackground(1056)
+ 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
+ odomFuzz = random.randint(1,254)
+ print packet
+ 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
+ packet['db0'],packet['db1'],packet['db2'],packet['db3'],packet['db4'],packet['db5'],packet['db6'],packet['db7']]
+
+ startTime = time.time()
+ packet[6] = odomFuzz;
+ while( time.time()- startTime < 10):
+ odomFuzz = random.randint(1,254)
+ newPacket[6] = odomFuzz
+ self.client.txpacket(newPacket)
+
+ def setDashboardTemp(self, temp):
+ self.client.serInit()
+ self.spitSetup(500)
+
+ self.addFilter([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 = 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 warningLightsOn(self,checkEngine, checkTransmission, transmissionOverheated, engineLight, battery, fuelCap, checkBreakSystem,ABSLight, dashB):
+
+ if( checkBreakSystem == 1 or ABSLight == 1):
+ SIDlow = (530 & 0x07) << 5; # get SID bits 2:0, rotate them to bits 7:5
+ SIDhigh = (530 >> 3) & 0xFF; # get SID bits 10:3, rotate them to bits 7:0
+ print "looking for 530"
+ packet = self.getBackground(530)
+ print "found"
+ packet2 = [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
+ packet['db0'],packet['db1'],packet['db2'],packet['db3'],packet['db4'],packet['db5'],packet['db6'],packet['db7']]
+ if( checkBreakSystem == 1 and ABSLight == 1):
+ packet2[9] = 97
+ elif( checkBreakSystem == 0 and ABSLight == 1):
+ packet2[9] = 16
+ elif(checkBreakSystem==1 and ABSLight == 0):
+ packet2[9] = 64
+ packet2rts = True
+ else:
+ packet2rts = False
+ packet2 = None
+ print packet2
+ 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
+ print "looking for 1056"
+ packet = self.getBackground(1056)
+ print "found"
+ packet1 = [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
+ packet['db0'],packet['db1'],packet['db2'],packet['db3'],packet['db4'],packet['db5'],packet['db6'],packet['db7']]
+ if( checkEngine == 1):
+ packet1[9] += 2;
+ print packet1
+ if( checkTransmission == 1):
+ packet1[9] += 3;
+ print packet1
+ if( transmissionOverheated == 1):
+ packet1[9] += 4
+ print packet1
+ if( engineLight == 1):
+ packet1[9] += 64
+ print packet1
+ if( fuelCap == 1):
+ packet1[10] = 255
+ print packet1
+ if( battery == 1):
+ packet1[7] = 33
+ print packet1
+ if( dashB == 1):
+ packet1[6] = 255
+ print "hello"
+ self.client.serInit()
+ self.spitSetup(500)
+ # load new packet into TXB0 and check time
+ self.multiPacketSpit(packet0=packet1,packet1=packet2, packet0rts=True,packet1rts=packet2rts )
+ starttime = time.time()
+ print "starting"
+ # spit new value for 1 second
+ while ((time.time()-starttime) < 10):
+ self.multiPacketSpit(packet0rts=True,packet1rts = packet2rts)
+
+ def fakeScanToolFuelLevel(self,level):
+ self.client.serInit()
+ self.spitSetup(500)
+
+ self.addFilter([2024, 2024, 2024])
+ self.client.rxpacket()
+ self.client.rxpacket()
+ self.client.rxpacket()
+ SIDlow = (2024 & 0x07) << 5; # get SID bits 2:0, rotate them to bits 7:5
+ SIDhigh = (2024 >> 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();
+
+ level = int(level/.4)
+ #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
+ 3,65,47,level,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 fakeOutsideTemp(self,level):
+ self.client.serInit()
+ self.spitSetup(500)
+
+ self.addFilter([2024, 2024, 2024,2024,2024,2024])
+ self.client.rxpacket()
+ self.client.rxpacket()
+ self.client.rxpacket()
+ SIDlow = (2024 & 0x07) << 5; # get SID bits 2:0, rotate them to bits 7:5
+ SIDhigh = (2024 >> 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)
+ print newTemp
+
+ 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
+ 03,65,70,newTemp,0,0,0,0]
+
+ # load new packet into TXB0 and check time
+ self.multiPacketSpit(packet0=newPacket, packet0rts=True)
+ starttime = time.time()
+ print newPacket
+ # spit new value for 1 second
+ while (time.time()-starttime < 10):
+ self.multiPacketSpit(packet0rts=True)
+
+
+ def fakeAbsTps(self,level):
+ self.client.serInit()
+ self.spitSetup(500)
+
+ self.addFilter([2024, 2024, 2024])
+ self.client.rxpacket()
+ self.client.rxpacket()
+ self.client.rxpacket()
+ SIDlow = (2024 & 0x07) << 5; # get SID bits 2:0, rotate them to bits 7:5
+ SIDhigh = (2024 >> 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();
+
+ abstps = int(math.ceil(level/.39))
+
+
+
+ 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
+ ord(packet[5]),ord(packet[6]),ord(packet[7]),abstps,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)
+
+
+