Page 1 of 1

Failed to read DTCs from two cars

Posted: Sun Nov 24, 2019 11:33 pm
by lauka
I'm trying to read DTCs from two cars we have: BMW E61 2007 and Ford Focus 2006, but not getting any results.

I added debug prints to the library functions and got following replies from the co-processor when connected to the BMW:
readDTC sends: "03"
from BMW receives:
43 00 00 00 00 00 00
43 14 A4 00 00 00 00
>

from Ford receives:
43 00
>

Is this protocol documented somewhere, how to interpret it? Could there be some fixes needed to the co-processor code to get it working?

Re: Failed to read DTCs from two cars

Posted: Mon Nov 25, 2019 10:38 am
by stanley

Re: Failed to read DTCs from two cars

Posted: Sat Nov 30, 2019 4:03 am
by lauka
Is the data from the co-processor the CAN data received?

What does the "43" in the beginning mean?

The wiki page describes that the service 03 returns 3 codes in each frame, 2 bytes for each DTC.

So the first frame
"43 00 00 00 00 00 00"
Is all zeroes, three zero DTCs?

The second frame
"43 14 A4 00 00 00 00"
If we assume that the second and third byte are the first DTC, 14A4 would be interpreted as P14A4?
The rest are zeroes.

It makes no sense to me what the co-processor is returning.

Could you explain how the CAN frame data maps to this HEX ASCII protocol?

Is it not possible to sniff the CAN traffic on the ONE+?

Seems that I need to tap in to the CAN bus with a USB CAN adapter to see what's going on.