Torque

Forums

Forums

Support of multiple...
 
Notifications
Clear all

Support of multiple BT adapters

6 Posts
2 Users
0 Reactions
744 Views
(@discorama)
Posts: 5
Active Member
Topic starter
 

I am using an ELM BT adapter to get the ECU data and a custom adapter to get additional data from the engine the ECU doesn't provide. It works great, but I have to switch between two profiles all the time. Is it possible to connect to two adapters at the same time? If not, will that be available in future? Thanks

 
Posted : 29/08/2019 12:56 am
(@moreause)
Posts: 650
Honorable Member
 

just wondering how come you need 2 ??

are you using an arduino or some other similare device ??

 
Posted : 30/08/2019 1:35 am
(@discorama)
Posts: 5
Active Member
Topic starter
 

Yes, ODB2 and Arduino. I need to monitor various engine parameters without switching between profiles (which also prevents simultaneous recording).

 
Posted : 06/09/2019 4:48 am
(@moreause)
Posts: 650
Honorable Member
 

in my case i connected the arduino to the can bus

and make it respond instead of the pcm on adress it would not respond

i just used a canbus shield and a obdii library
instead of reading obdii like normal

i was just waiting for the specific request

and was sending my boost data thru the bus

the tablet didn't know better since my response was the same as if the pcm did respond

some car will respond an error if you ask an invalid request but mine was just not responding

here is what i was doing

ps i had to tweek the filter in the library ..since normaly it want to see a response from the pcm..not a request

/*********************************************************************
* Mechanic - Hacking your car
*
* Copyright (C) 2013 Joerg Pleumann
*
* This example is free software; you can redistribute it and/or
* modify it under the terms of the Creative Commons Zero License,
* version 1.0, as published by the Creative Commons Organisation.
* This effectively puts the file into the public domain.
*
* This example is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* LICENSE file for more details.
*/

#include

ObdInterface obd;
ObdMessage out;
ObdMessage in;

int SensorValue = 0;
float PsiValue = 0;
float Temp;
int ValuePID90xA;
int ValuePID90xB;
int ValuePID08xA;

void setup() {
Serial.begin(115200);
//while (!Serial);

Serial.println();
Serial.println();
Serial.println(" ADDR LN MO PI D0 D1 D2 D3 D4");
Serial.println("-------- -- -- -- -- -- -- -- --");

obd.setSlow(false);
obd.setExtended(false);
obd.setDebug(false);
obd.setNoFilter(false); // Show all messages, not just ECU answers
obd.begin();
out.address = 0x7e8;
out.mode = 0x41;

}

void loop() {
if (obd.receiveMessage(in)) {
Serial.println(in);

if (in.pid == 0x90) { // Si pid est 90 envoie la valeur courante
Serial.println("sending");

Serial.print(" PID 0x90,Sensor ");Serial.print(SensorValue);
Serial.print(" Psi: "); Serial.print(PsiValue);
Serial.print(" A: "); Serial.print(ValuePID90xA);
Serial.print(" B: "); Serial.println(ValuePID90xB);

out.address = 0x7e8;
out.length = 0x4;
out.pid = 0x90;
out.values[0] = ValuePID90xA;
out.values[1] = ValuePID90xB;
obd.sendMessage(out);

}

if (in.pid == 0x08) { // Si pid est 08 envoie la valeur courante
Serial.println("sending");

Serial.print(" PID 0x08,Sensor ");Serial.print(SensorValue);
Serial.print(" A: "); Serial.println(ValuePID08xA);

out.address = 0x7e8;
out.length = 0x4;
out.pid = 0x08;
out.values[0] = ValuePID08xA;
out.values[1] = 0;
obd.sendMessage(out);

}

}
// Valeur pour PID 0x90
SensorValue = analogRead(A0) + 1;
PsiValue = (45.6125*SensorValue/1024) + 0.148721; // 5 Volts ou 1024 = 45.6125 Psi, 0.148721 il y a un leger offset dans les valeurs
ValuePID90xA = (int) PsiValue;
Temp = (PsiValue - ValuePID90xA) * 100;
ValuePID90xB = (int) Temp;
/*
Serial.print(" PID 0x90,Sensor ");Serial.print(SensorValue);
Serial.print(" Psi: "); Serial.print(PsiValue);
Serial.print(" A: "); Serial.print(ValuePID90xA);
Serial.print(" B: "); Serial.println(ValuePID90xB);
*/
// Valeur pour PID 0x08
ValuePID08xA = map(SensorValue,0,1024,0,256); // 5 Volts ou 1024 = 45.6125 Psi et modifier en 0 a 255 et envoye comme pid de short trim bank 2
/*
Serial.print(" PID 0x08,Sensor ");Serial.print(SensorValue);
Serial.print(" A: "); Serial.println(ValuePID08xA);
*/
delay(20);
}

 
Posted : 06/09/2019 3:26 pm
(@discorama)
Posts: 5
Active Member
Topic starter
 

My Arduino is under the hood. This workaround would require to route a cable through the firewall and piggibacking. Way to complicated, a software upgrade would just do the trick. Torque does handle multiple BT connections already, I can connect an external GPS to Torque.

 
Posted : 06/09/2019 7:26 pm
(@moreause)
Posts: 650
Honorable Member
 

not really, i had a test port in my fuse box under the hood
just not standard obd connection
and can bus high speed run to different location of the car

if you find a way good for you
your not the first to ask, never seen it work up to now

but it should be implemented in torque to make it easy

 
Posted : 06/09/2019 8:50 pm
Share:

  Follow me on twitter