I am trying to add tire pressure OBD-II channels for GR Yaris. It turns out this data is available under CAN extended addresses. For that to work in Torque Pro I configured it as follows:
PID: 221005
Equation: B * 0.01373
OBD Header: 750
Diagnostic start command: atcea 2A, atta 2A
These diagnostic start commands instruct the ELM327 to use CAN extended addressing. The CAN traffic generated by Torque Pro with this configuration is as following:
> 0x750 0x2A 0x03 0x22 0x10 0x05
< 0x758 0x2A 0x10 0x0D 0x62 0x10 0x05 0x00 0x9D
> 0x750 0x2A 0x30
> 0x758 0x2A 0x21 0x00 0x9A 0x00 0x8F 0x00 0x8D
> 0x758 0x2A 0x22 0x00 0x00 0x00 0x00 0x00 0x00
Would it be possible to get per channel diagnostic start command in RC as well?
Comments
FWIW, I did not use "diagnostic stop command" in Torque Pro and other sensors still worked. Maybe Torque Pro is turning off extended addresses by default before every PID request. Would have to snoop OBD-II traffic to verify that.
If only we could just send CAN messages verbatim without this OBD-II overhead.
My experiment was as follows:
OBD> atd # reset OBD2 device
OBD> atsh750 # set OBD header which is actually CAN PID
OBD> 221005 # PID request
CAN> 0x750 03 22 10 05 00 00 00 00 # generated can request with correct CAN ID but no extended address, also no response from CAN
OBD> atcea2A
OBD> 221005
CAN> 0x750 2A 03 22 10 05 00 00 00 # extended address sent
CAN< 0x758 2A 10 0D 62 10 05 00 9F # this time we have CAN response, but it is not picked up by OBD
OBD> atta2A
OBD> 221005
CAN> 0x750 2A 03 22 10 05 00 00 00
CAN< 0x758 2A 10 0D 62 10 05 00 9F
CAN> 0x750 2A 30 00 00 00 00 00 00 # this time CAN response was picked up by OBD and it requests more frames
CAN< 0x758 2A 21 00 9C 00 90 00 8D
CAN< 0x758 2A 22 00 00 00 00 00 00
And then I can continue sending 221005 via OBD and I will continue getting response back without sending ATCEA or ATTA again.
So we would definitely need to send "ATCEA" command after a request with extended address is sent so it stops sending extended address for next request.
Anyways this all will be sorted eventually, as I've got a GR Yaris on order
Well this is very good news!
Yup, ATTA is a bit mystery for me as well. From the OBDLink docs, it even mentions that this command needs to be surrounded with "Close the protocol (STPC)" and "Reopen the protocol (STPO)" commands. But for me it works without these. And I also have seen ATTA being used without these additional commands in Carista app as well.
Where it says:
> Since the settings made by ATTA end up being overridden anyway with ATSH ...
This is interesting. Also they migrate from ATTA to ATSR. I'll try that and see if it works.
Also from the docs it seems that ATAR (Enable automatic filtering) should undo what ATSR did.
20:39:17.820 >atd
20:39:33.188 OK
20:39:33.188
20:39:33.188 >atsh750
20:39:41.621 OK
20:39:41.621
20:39:41.621 >atcea2a
20:39:48.235 OK
20:39:48.235
20:39:48.235 >221005
20:39:53.371 NO DATA
20:39:53.371
20:39:53.371 >atsr2a
20:40:28.958 OK
20:40:28.958
20:40:28.958 >221005
20:40:33.245 NO DATA
20:40:33.245
20:40:33.245 >atta2a
20:41:12.256 OK
20:41:12.256
20:41:12.256 >221005
20:41:15.969 NO DATA
20:41:15.969
20:41:15.969 >atsh750
20:41:35.424 OK
20:41:35.424
20:41:35.424 >221005
20:41:39.238 NO DATA
20:41:39.238
20:41:39.238 >atcea2a
20:41:46.553 OK
20:41:46.553
20:41:46.553 >221005
20:41:49.686 NO DATA
20:41:49.686
20:41:49.686 >atta2a
20:41:56.423 OK
20:41:56.423
20:41:56.423 >221005
20:41:59.890 NO DATA
20:41:59.890
20:41:59.890 >atar
20:42:18.334 OK
20:42:18.334
20:42:18.334 >221005
20:42:21.695 00D
20:42:21.695 0: 62 10 05 00 9F
20:42:21.699 1: 00 9C 00 91 00 8E
20:42:21.699 2: 00 00 00 00 00 00
20:42:21.808
20:42:21.808 >
20:43:44.132 Disconnected
Also verified that changing headers (calling atsh700 and then atsh750) does not clear the atcea2a neither atta2a calls.