I'm making an application like Torque and i have some issues with commands of Fuel Type and Fuel level with cars that use only one type of fuel like, Only Diesel or only gasoline.

With car Bifuel like Gasoline + CNG with the pids 0151 (Fuel type) and 012F (Fuel level) i can read the information that i looking for..... But with cars that have only Diesel or only Gasoline that command return 7F 01 22 that means "no available pid"....

I would like to know if with some common diagnostic device it's possible to read this kind of data with monofuel cars.

I try with 3 different cars 2 Fiat Panda (1 diesel and 1 gasoline) and one Smart gasoline and all three get same error message...

  • Are you sure that PID 7F 01 22 is generic? and is used for mono-fuels? Or is it specifically for Bifuel?
    – Solar Mike
    Dec 11, 2017 at 11:55
  • The message 7F 01 22 is the response of the ECU. The pids that i use is 01 51 (fuel type) and 01 2F (Fuel level) and the ECU of my BiFuel car responds with 41 51 0D (0D = CNG) and it's ok. But my friend car with mono fuel like only gasoline respond 7F 01 22 that mean "no sensor".... i try with 3 cars and same problem. With BiFuel auto no problem with that pids.
    – Dario
    Dec 11, 2017 at 15:34
  • Are you sure those cars have those sensors? Or have those manufacturers used a “private” code?
    – Solar Mike
    Dec 11, 2017 at 16:29
  • I don't know that.... but if my all two Fiat Punto Gasoline + CNG had those sensor....why not? There is some other pids for request fuel level and type?
    – Dario
    Dec 11, 2017 at 16:46
  • Different vehicle's have different CAN protocals which may change PID locations?
    – L.hawes
    Dec 11, 2017 at 16:48

2 Answers 2


$22 response means conditionsNotCorrect according to many OBD2 standards.

PID $2F is defined as so from SAE J1979

FLI shall indicate nominal fuel tank liquid fill capacity as a percent of maximum. FLI may be obtained directly from a sensor, may be obtained indirectly via the vehicle serial data communication bus, or may be inferred by the control strategy using other sensor inputs. Vehicles that use gaseous fuels shall display the percent of useable fuel capacity. If there are two tanks in a bi-fuel car, one for each fuel type, the Fuel Level Input reported shall be from the tank, which contains the fuel type the engine is running on.

PID $51 has a note in SAE J1979

For bi-fuel and hybrid vehicles, "not available" ($00) may be used during initial ignition on conditions where no fuel is being utilized and the vehicle cannot determine which fuel will be used at engine or vehicle start. Alternatively, the data may reflect the fuel type used by the vehicle at the previous shut down and be updated after the vehicle starts and the fuel type can be determined.

I would suspect that the response you're getting is due to the car not running. You can purchase the J1979 spec here: http://standards.sae.org/j1979_201202/

Or a simple google search might help source that document. ;)

  • As i know the ELM327 use the standard SAE j1979 and interpretate every command to the protocol used by car. In my BiFuel car i had no problem, it's detect the correct fuel that the car is using in that moment. But with mono fuel i get this response...and the car is ON, not only the dashboard but with engine on....
    – Dario
    Dec 12, 2017 at 15:33
  • I don't know if the one car you are testing on is incorrect, but I can verify that the current car that I'm developing software on (2017 Audi RS3) responds correctly to both 01 2F and 01 51. Might be a limitation of the car you are testing on.
    – Damon Earl
    Dec 13, 2017 at 18:35
  • Yes, i know.... as you can read in my post with my two cars biFuel Grande Punto Fiat it's ok and still work... but with some mono fuel auto (all for now) can't retrieve the fuel level!
    – Dario
    Dec 15, 2017 at 1:13

As i can see with 4 car:

  • Citroen C3 2009 Diesel
  • Fiat Panda 2009
  • Diesel Fiat Panda 2009 Gasoline
  • Porche Cayenne s Diesel

They have mono fuel system so the fuel level and fuel type aren't in the ECU system pids. Maybe they are connected directly to the On Board Computer of car!

There is a big problem so because in my app i need to read fuel level!!

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .