First of all, i've read all the sources to try to understand your implementation of KWP.
Afaik, vag use KWP2089, and i'm trying to create a real time logger.
I have an elm 327, and i use it on an audi A3 8P.
With only AT commands and auto detection protocol, it goes on 4 (KWP 5baud init) 5, 6 doesn't work with default values.
When i set the header values to 81 10 F1 it work with protocol 5 (KWP fast init, maybe KWP2000?)
then i start diagnostic session and so on and so on.
My question is , how can i send AT command to get measure block, in the ssp they do not give any params but some examples.
Is the Elm327 can compatible on VAG car ? it seems to be ISO 15.... -2 and not 15...-4 wich is standard.
In your app, you use the user B protocol and you send the entire can packet ... i don't know if i could understand all that.
Could you give me an example of request to :
- open a module
- send id request 1A 9B (for example)
- send a mesure block request 21 XX ..
- decode result ...
for example :
ATZ
ATL0
ATSP5
ATSH8110F1
ATSTFF
1089
1A9B
21XX
thanks in advance !
I'll try to change the log level.
Thanks alot !!
Here are my commands :
ATZ
ATH1
ATD1
ATPBC001
ATSPB
ATSH200
starting your example chan setup
01 C0 00 10 00 03 01
response is correct, like in your example
then chan param
ATSH740
A0 0F 8A FF 32 FF
response is NO DATA
i've tried to set ATCRA to 740 or 300 it still have no data
I'm doing something wrong, but what ?
To show this a little clearer, if you run the following to set the address filter wide open before sending the chan setup request:
ATCM000
ATCF000
01 C0 00 10 00 03 01
You should see:
201 7 00 D0 00 03 40 07 01
201 7 00 D0 00 03 40 07 01
201 7 00 D0 00 03 40 07 01
201 7 00 D0 00 03 40 07 01
201 7 00 D0 00 03 40 07 01
201 7 00 D0 00 03 40 07 01
201 7 00 D0 00 03 40 07 01
300 A8
>
Notice the ECU I connected to sent a A8 disconnect message on 300 at the end!
The best workaround I've figured is to tell the ELM327 device that you only want one response, and that it should wait for commands after returning a single response:
01 C0 00 10 00 03 01 1
201 7 00 D0 00 03 40 07 01
>
Then you can send the chan params request and you'll see the right response:
ATSH740
ATCRA300
A0 0F 8A FF 4A FF
300 6 A1 0F 8A FF 4A FF
>
Hope this helps!
But how do you tell the ELM device that you only want one response ? just by adding "1" at the end of the command ?
It seems if you specify one extra hex char, it will assume the last one corresponds to the number of messages requested. It's not exactly how they intended it to be used, but it does the job in this case.
I didn't go much far, as I switch off from this project.
My last test gave the same results as yours, I thought it was because my dongle was a chinese one.
I've found another dongle, wich is base on a STN chip (better than elm) but I didn't test it.
Here is a link if you want to get one : https://www.vscan.pl/product/vscan-ivag/
Did you test Jared's soft ? Is your dongle usb or BT ?
Mine was BT and it didn't work with Jared's soft.
You can decompile the android app or check if there is a debug mode.
Or you can sniff BT packets, this was what i've done with the old vag-com app.
8110F1 is the header for diagnostic device.
For documentation you can seach for iso "14230-3" / "14230-4" or read Jazdw vagblock code. I don't remember all.
Another way is to read com communication with old VAG (4xx).
But it will work only on "old" before 2004 Vw, because after they use CAN for all other unit. Engine still available with old protocols