Ford Focus ST Forum banner
41 - 60 of 234 Posts
Image


Sorry, i had a hard time taking a screen shot without making the screen move.
 
Going to try a OAR I found

Sent from my SGH-T999 using Tapatalk
I think i may have found the mother load. I have about 200 ford enhanced pids. I dont have all the equations yet...but im working on it. As i get them tested in Torque ill post them up.
 
I found 2 for OAR. send me a pic of your torque setup for the pid.
Mine does...hahaha. But my equation is off so the result is off.
 
Mode 01 pid00
Use a terminal emulator and send command: 0100
Response: be3ea813

Convert the response to binary. Android App Hex2Bin is free.
Hex2Bin: 1011 1110 0011 1110 1010 1000 0001 0011
Take string of numbers below and place the binary number above.

1 0 1 1 1 1 1 0 0 0 1 1 1 1 1 0 1 0 1 0 1 0 0 0 0 0 0 1 0 0 1 1
A7 A6 A5 A4 A3 A2 A1 A0 B7 B6 B5 B4 B3 B2 B1 B0 C7 C6 C5 C4 C3 C2 C1 C0 D7 D6 D5 D4 D3 D2 D1 D0

Basically, any spot that has a 1 over the top is a supported PID. Go here: http://en.m.wikipedia.org/wiki/OBD-II_PIDs scroll to the mode 01 section and in the PID (hex) column match the numbers.
Using that table of data you can enter each PID into Torque Pro and use it for logging or active gauges


1011 B
1110 E
0011 3
1110. E
1010 A
1000 8
0001 1
0011 3

Mode 01. Pids: 1, 3, 4, 5, 6, 7, 11, 12 , 13, 14, 15, 17,19, 21,28, 31, 32
Image


Go here: http://en.m.wikipedia.org/wiki/OBD-II_PIDs, go to the mode01 section and look at the definitions for each PID. Our support pids on the wiki are the ones i listed above.

Those are just the emissions pids that actually work with the 13-14 ST.

Run 0120, 0140, 0160, 0180, for each pid reply you will need to convert hex to binary. The binary number tell you which pid in that sequence of numbers the vehicle supports.
 
2 posts above this. Im trying to make a table to show how easy this is if anyone wants to try it. We could easily add 20-30 ST Specific PIDs right from the start. The obd2 link has the same table so used that to which PID is compatible.
 
Is the OAR value A = 192 (while no other equation but just A) the "0" or "-1"?
Some say the KAM reset does set that value to "0" and I done reset by Forscan (PCM adaptive values reset). I had A value 192 and I still have 192 and after all what I tried how to make OAR adjust, it just is 192. Is the 192 decimal 0xc000 or not and if so then does the 0xc000 be equal to the -1 or 0 (as value from -1 to +1)?
I'm a little confused.
I also had just switched about 20 litres ago from Shell V-power (here at Finland I think it's just 98E5) to half of tank 95E10, so octane rating should not be full -1 while 95 RON is minimum told by Ford. The 0 could be more accurate.
I have Ford Focus ST 2013 ecoboost 2.0L with stock calibration updated by Ford (CM5A-14C204-AMM software calibration at HW: CM5A-12A650-AMK) and that has been dyno proved to give around 280 PS power and torque "curve" is almost flat.
There is just no sense while it should not give full -1 OAR with the gasoline in tank right now. Anyone?
 
Is the OAR value A = 192 (while no other equation but just A) the "0" or "-1"?
Some say the KAM reset does set that value to "0" and I done reset by Forscan (PCM adaptive values reset). I had A value 192 and I still have 192 and after all what I tried how to make OAR adjust, it just is 192. Is the 192 decimal 0xc000 or not and if so then does the 0xc000 be equal to the -1 or 0 (as value from -1 to +1)?
I'm a little confused.
I also had just switched about 20 litres ago from Shell V-power (here at Finland I think it's just 98E5) to half of tank 95E10, so octane rating should not be full -1 while 95 RON is minimum told by Ford. The 0 could be more accurate.
I have Ford Focus ST 2013 ecoboost 2.0L with stock calibration updated by Ford (CM5A-14C204-AMM software calibration at HW: CM5A-12A650-AMK) and that has been dyno proved to give around 280 PS power and torque "curve" is almost flat.
There is just no sense while it should not give full -1 OAR with the gasoline in tank right now. Anyone?
Im not sure if OAR is a derived number or if it comes from a single sensor. Ive read the ST manual several times and i never found a sensor that flat out says its OAR. I could be wrong though.
 
It's not sensor. It's just number which tell PCM how motor has been working and gives advice how to deal with maps. Just like some knocking -> drop the value, or couple of misfires -> drop the value. Got high boost, no problems -> rise the value.

While I have equation which did represent value 192 as "100%" then while I got some misfires in tiny time window (by running something like seafoam to intake and lost some fires, just like virtually having bad gasoline) then that value drop to 0%.

Looks like there's values like:
0 (00) which is like Cobb AP or similar's value +1, meaning that motor is running bad and need all the tricks PCM can do to survive (like running 87 gasoline in USA). Kind of safe mode.

The 192 (C0) is like Cobb AP value 0 (zero point), meaning there is normal situation and full power available by stock map, SAE horses can be reached like while running with premium gasoline in USA.

From 192 to the 255 (FF) (which is like value -1 at AP) there's a little more power available while more positive adjustment is possible and some tricks can be done IF motor is running good enough by high boost and high load for long enough time -> give just a little more boost, more spark, etc...if something go wrong then it will just drop value and that will give PCM the base.
 
How OAR is used is as a calculated value.

This value is then used in several maps to adjust various things. For some tables, it's a lookup. For others, it's a multiplier.

I did post the correct DID before, it's DID 0x03E8. I've gotten a lot further on my ECU Reverse Engineering, but not as far as I had originally hoped. (I did say a December release of my software, but real life got in the way :( ).
I do have some maps reversed that I know are OAR referenced. I'll check tonight to see if I can find exactly what the equation is for the DID.
 
Just found out it's not a single value either. Sorry about some misinformation I post earlier.

Now I have "128,7%" with equation (((A*256)+B)/49152)*100. That does not rely much on value input from B, the A dominates and B is just 1/256 of sum or something like that.

The hex reply is 6203E8F71F so PID/DID 0x03E8 and value F71F which is A=247 and B=31.
That jump just from 0 to this value after motor warm up and one long hill with partial acceleration (actually not accelerating much but long with high gear).

So that is 278 out of 512 (or F71F out of FFFF, or whatever is the real used maximum).

The A byte seems to be from 0 to 255. Better working motor is higher value I suppose.
B byte seems to be lower, maybe these two bytes do actually different adjustments. Maybe A is just general timing adv and such and B is that multiplier? Not easy to find out that.

But what is the right one way to represent these as single value which does correlate to anything? How should we read these?
Or is there any matter, while just higher sum of values is the better anyway? Is it? Are both of these just 00 to FF while 0 is worse and FF is better, or does another switch from F to 0?
 
Hi.

At the moment I've got next values (all ofcourse starting 6203E8 because of same PID response):
C000 - while running for a while just normal way (95 RON)
???? - after couple of random misfires detected (I think it was 00?? but not sure, didn't take screenshot/log, equation below gave value "0" so byte 1 low...)
F71F - after that while reset ECU PCM learned (KAM reset) and running normal for couple of seconds (seems like this is 0 point of learning OAR?)
EF24 - after that while normal low speed (30-80 kph) use for couple of weeks and first time giving more load while 6th gear in (98 RON)
DA82 - after that while while running around 80-100% load with 6th gear in and almost full throttle for a while at motorway

Edit:
C646 - after that, about 100 km more driving and couple of 0,3 to 0,6 bar boost over 5 second perioids...

I'm puzzled.
I'm still not sure if that's correct and if F1F1 (247+247) is the "0" (or 100% if 0-200%). Or what is zero point and why A may rise while B decrease or vice versa...
 
Maybe (1-((A+B)/247))*100 does give some rational values... It's based to -100 to +100% (like -1 and +1) and presumption that best value (-1 or -100%) is F1F1 and worst (+1 or +100%) is 0000. My best quess until now.
 
The equation wasn't what expected. Some new information. I was wrong.

I just figured out, that by every Finnish gasoline grade it will drop until value is C000 or misfires or knock. Just like before got misfires (by injecting too much petrol to intake) and reset after DTC (random misfire stuff).
So after recovering I got value F71F and then it start to decrease. Now it's back to C000.

I think that it will use both of values.
So for hex -> dec conversion we do (A+(B/256)). Then we have 0000 - FFFF value converted to real decimal value and divided by 256. (If you do calculate value*256 you get the full decimal value, for example C000 = 49152.)

I'm not sure of range. What is the most high and low hex you've got?
 
I know it's been a while, but I was just working on this last night again!

Would someone be able to try this equations out for size?
OAR:
ID: 2203E8
Formula: ((signed(A)*256)+B) / 16384
Min: -1
Max: 1

I believe it should match OAR that you receive from an AP. If anyone can test it that would be great as I don't have access to right now.
@jdub1981 @terae
 
41 - 60 of 234 Posts