Torque

Forums

Forums

Guest  

Show or hide header
Welcome Guest, posting in this forum require registration.




Torque » Torque OBD ECU Scanner » Torque Discussion / Ideas » Reading another PIDs extra bytes

Pages: [1]
Author Topic: Reading another PIDs extra bytes
Capp777
Member
Posts: 2993
Post Reading another PIDs extra bytes
on: May 21, 2017 (GMT)

Besides using Val{} or [xx], is there a way for
the user to extract the extra bytes from another
pid? (One request to populate multiple user
pids with same pid number to increase pid
read speed).

Similar to what you (Ian) are doing with OBD
pids predefined in Torque.

Capp777
Member
Posts: 2993
Post Re: Reading another PIDs extra bytes
on: August 29, 2017 (GMT)

Bump for Ian.

Shr-lnm
Member
Posts: 16
Post Re: Reading another PIDs extra bytes
on: August 30, 2017 (GMT)

I suppose that it isn’t job of ‘torque’. If your ECU is fully compliant with UDS standard (ISO 14229-1) then you may use service id (SID) DynamicallyDefineDataIdentifier=0x2C for crafting your own data identifiers which would then returns many PIDs by one request.
You may try to insert such definition in initialisation string.
It should significntly increase the speed of data reading

Capp777
Member
Posts: 2993
Post Re: Reading another PIDs extra bytes
on: August 30, 2017 (GMT)

How would separate custom pids access
the packet bytes that you suggest without
making separate requests?

Thats my point.

There are already services that can return
more than one sensor in a response (mode
01 and mode 21). The problem is each
custom pid would have to make a seperate
request to extract its desired byte(s) using
the same id.

I’m suggesting the other pids get their data
from the first pid requesting that pid thus
eliminating extra requests over the network.

Shr-lnm
Member
Posts: 16
Post Re: Reading another PIDs extra bytes
on: August 30, 2017 (GMT)

According to this standard, if you have two dataId ( for example 1800 and 1801) which you are reading by two different requests

22 18 00
22 18 01

then you may craft your own dynamic dataId (for example F3 01) by the next command

2C 01 F3 01 18 00 01 02 18 01 01 02

and after that you should be able to read both parametres at once with the next command

22 F3 01

In this example 01 02 after 18 00 means that ECU should get 2 bytes beginning from firs byte of first request and similar for the second request. The result would be sent to ELM in one responce

Capp777
Member
Posts: 2993
Post Re: Reading another PIDs extra bytes
on: August 30, 2017 (GMT)

You seem to be missing the point.

How would multiple Torque custom pids extract
the their desired bytes without making additional
traffic over the network?

Mode 22 F3 01?

Shr-lnm
Member
Posts: 16
Post Re: Reading another PIDs extra bytes
on: August 30, 2017 (GMT)

Yes – this example for mode 22 (in term of torque)

I suppose that the torque do not send two equal consequent requests for parsing two data fields which both are in every response. If I were the developer I would do so

Capp777
Member
Posts: 2993
Post Re: Reading another PIDs extra bytes
on: August 30, 2017 (GMT)

I would expect diagnostic packets
to use a different service than mode
22 to return a defined packet.

cintakc
Member
Posts: 1661
Post Re: Reading another PIDs extra bytes
on: August 30, 2017 (GMT)

Quote from Shr-lnm on August 30, 2017
then you may craft your own dynamic dataId (for example F3 01) by the next command
2C 01 F3 01 18 00 01 02 18 01 01 02

I think the adapter ELM327 can not issue requests longer than 8 bytes

Shr-lnm
Member
Posts: 16
Post Re: Reading another PIDs extra bytes
on: August 30, 2017 (GMT)

Yes – you are right. The ELM can not do framing for CAN by itself. But you may do it programmatically. I don’t know may the torque do it or not, but other programs can do it thru ELM.

In the end of this blog
https://www.drive2.ru/b/472129194529128744/
you may find the real example of sendibg multi-frame request to CAN thru ELM
(Sorry for no translation)

Capp777
Member
Posts: 2993
Post Re: Reading another PIDs extra bytes
on: August 30, 2017 (GMT)

Elm command ATAL.

Shr-lnm
Member
Posts: 16
Post Re: Reading another PIDs extra bytes
on: August 30, 2017 (GMT)

The problem is a bit more complex ). ATAL for CAN allows to send 8 bytes instead of 7, but you still couldn’t send 9 bytes for example.
Look in my blog above

cintakc
Member
Posts: 1661
Post Re: Reading another PIDs extra bytes
on: August 30, 2017 (GMT)

Programmatically, of course you can implement long requestes, I read your review on the link,
but it’s impossible to make a user in a Torque.

Shr-lnm
Member
Posts: 16
Post Re: Reading another PIDs extra bytes
on: August 30, 2017 (GMT)

it’s a pity (

cintakc
Member
Posts: 1661
Post Re: Reading another PIDs extra bytes
on: August 30, 2017 (GMT)

Thanks, download, you can delete the link.
why I asked, because it’s complicated for BMW
example:
2C 03 F3 00
04 6C 03 F3 00
2C 01 F3 00 4A F1 01 02
04 6C 01 F3 00
22 F3 00
05 62 F3 00 50 A9

Shr-lnm
Member
Posts: 16
Post Re: Reading another PIDs extra bytes
on: August 30, 2017 (GMT)

Glad if it was helpful

Yes – it is looks similar )

2C 03 F3 00 – clear old definition of dynamic DID F300
2C 01 F3 00 4A F1 01 02 – defining new dynamic DID F300 as first two bytes of response on 224AF1
22 F3 00 – reading the new dynamic DID

Thank you

Capp777
Member
Posts: 2993
Post Re: Reading another PIDs extra bytes
on: August 30, 2017 (GMT)

Quote from Shr-lnm on August 30, 2017
The problem is a bit more complex ). ATAL for CAN allows to send 8 bytes instead of 7, but you still couldn’t send 9 bytes for example.
Look in my blog above

End Quote.

My understanding of SAE J2190… it allows sending
multiple requests to build the packet contents using
less than 8 data bytes per request.

The ATAL would be for the oversized response when
requesting the packet.

My vehicles range from 1995 – 2004 model years
where what you are describing won’t apply.

Torque still won’t let me populate multiple custom
pids with a single response though?

Edit:

Ian has just posted on another thread that multiple
requests to the same pid in the same loop will be
answered by the cached response during that loop.
Eliminating the extra network traffic. Requires that
the pid be the same.

https://torque-bhp.com/forums/?wpforumaction=viewtopic&t=9152.0

Shr-lnm
Member
Posts: 16
Post Re: Reading another PIDs extra bytes
on: August 31, 2017 (GMT)

Quote from Capp777 on August 30, 2017
My understanding of SAE J2190… it allows sending
multiple requests to build the packet contents using
less than 8 data bytes per request.

SAE J2190 is also defines ServiceID 2C

http://wpsm.free.fr/forum/phpBB2/download.php?id=83&sid=2dd6b34618e7765781dd37684e1829f3

But unfortunately not all ECU are supporting full range of ServiceID defined in standard

Pages: [1]
WP-Forum by: Fredrik Fahlstad, Version: 2.4
Page loaded in: 0.06 seconds.

  Follow me on twitter