OBD2 Ford Fuel level code

I don’t know if anyone can help with this but having noticed the fuel gauges don’t work for me on a mk4 Ford Mondeo, I decided to use the handily included OBD2 monitor and the excellent guide that’s been written.

I get an OK in the monitor when I issue an ATSP0 command. So far so normal :slight_smile:

If I issue a 0100 next and I get a ‘no data’ response so I guess the Ford ECU isn’t conforming to the OBD2 standards here…

I am assuming I will need to enter a 01 where x and y are the correct hex for fuel level on a Ford?

Just wondering if anyone had found what they might be already?

I’ll keep searching and anything useful I dig up I will be sure to share

All the best
Darren

So I may have answered my own question. The OBD2 connection test gives this which seems to indicate the 2F code just isn’t sent. (As I understand it the prefix code can only be 01 or 02 and I’d need to use 01 to see a current value)

What’s strange is that apparently the Torque app displays it, so there must be a mode and pid to report the figure. It’s just a case of finding out what it is.

I have found some alternative PIDs used by Ford. I’m not completely sure how to check them though. Would it be as simple as
ACPS0
Ok
0316

For fuel level? That can’t be right as 03 is show stored DTCs isn’t it?

Some progress I think…Comprehensive Googling seems to show the fuel level on Fords using ISO 15765-4 CAN are accessed via 022 and that the PID in question is most likely 22f42f or 22161

The car returns responses as shown. The hex values themselves are pretty large since so I wonder if there’s an offset involved for the fuel level in those responses? They’re very similar and I notice the 22f42f one includes the pid before the last 2 digits. Perhaps it’s just the last 2 which are the value?

I believe the replys are:

  • 7E8 is the module ID that is replying to the request.
  • next byte (03 or 04) is the length of the reply
  • rest of the bytes are the data

Thanks ever so much for the guidance and taking the time to respond. I really appreciate it. I think that tallies with what I’d wondered.

I’ve been profiling the values as the fuel went down through and then filling the tank. I think I have isolated the pid and value :slight_smile:

22f42f is the only pid to have shown a change in value which matches the fuel level change;

Initially - (<7e8><04><62f42f>)13
Fuel used, empty light on - (<7e8><04><62f42f>)09
Immediately after refuel - (<7e8><04><62f42f>)67
5 minutes driving after refuel- (<7e8><04><62f42f>)66

Result!

Good job. 67 hex is 103 in decimal, so there is your fuel level percentage.

please tell me where you can read about OBD commands, I am good at analyzing CANBUS, but I absolutely do not understand how to output their OBD data stream. I understand how to write XML.