Help Decoding Hexadecimal Freeze Frame Data.

Status
Not open for further replies.
Joined
May 10, 2005
Messages
2,737
Location
Toronto, Canada
The ScanGauge displays FF data in Hexadecimal format and I cannot get the math right on the RPM reading.

ScanGauge display PID0C=056F.

A=05, which is 5 in decimal format.
B=6F, which is 96+15= 111 in decimal format.

The formula for decoding RPM is ((A*256)+B)/4. I got this formula from the OBDII PID Wikipedia page https://en.wikipedia.org/wiki/OBD-II_PIDs

5*256=1280. 1280+111= 1391. 1391/4 = 348 (rounded off to the nearest integer). This 348 is half of the actual RPM reading, 695. Both my Actron 3130 and the Tech2 do all the math and display the RPM as 695.

So, why am I off by a factor of 2?
 
You are wasting your brain cells quite unnecessarily. There are zillions of readers which will give you freeze frame data. For less than $20, you can get a reader/scanner that will give that information.

Now if you were trying to decode Mode6 data or get live data which is not one of the standard OBD parameter( aka transmission temp etc) I could have understood the rational for the brainstorming.

Re-reading your topic again, you already have bunch of scanners; so I take it back.

I am assuming the WiKi is wrong. The hex number needs to be divided by 2 instead of 4 as listed there.

The hex number is 0x056F which is 1391. decimal. The scaling factor must be 2 which gives you the answer 1391/2 = 696
 
Last edited:
Thank you, Vikas. The Wikipedia page seems to be correct. I found the following information
"The reply contains two bytes that identify it as a response to Mode 1, PID 0C request (41 0C), and two more bytes with the encoded RPM value (1/4 RPM per bit). To get the actual RPM value, convert the hex number to decimal, and divide it by four:
0x0FA0 = 4000
4000 / 4 = 1000 rpm"

I found the info here
http://www.obdsol.com/knowledgebase/obd-software-development/reading-real-time-data/

It looks like it is an error in the Scangauge itself. I think it is reporting wrong data. I will call the ScanGauge tech line. I am not really expecting much help since a lot of "tech" lines are manned by people who do not know much about the subject on hand nor do they care.
 
Originally Posted By: sleddriver
56F in hex = 1391 in deci, so you're conversion checks out:
5x16^2 + 6x16^1 + 15x16^0 = 1391.
Sleddriver, you're right on - that's what I got as well, calculated the same way. (Is this a great Geek site or what?)
 
Status
Not open for further replies.
Back
Top