I've been playing with the PID that we all believe is as follows (as confirmed by 4DR):
Manufacture ID: OEM_FORD
COM Level ID: CommLevel_ISO 14229
Comm Type ID: CAN_COMM
Category: Spark
Name: Knock Sensor
16 Char Name: Knock Sensor
Description: Knock Sensor Retard
Address: 0x3ec
Address size: 2
Units: Degrees
Data Type: Int16
Binary Point: 9
Multiplier: 1
The actual Torque PID is 2203EC as you need to include the mode "22" to request information off the CAN bus. If anyone is actually using this you do get some weird results just looking at the 'A' variable. It will jump to 255 and count down at times and other times it will just register a 1 or 2...
It occurred to me that this is probably a two's complement (a way to represent negative numbers in Binary) when I was looking at the
forscan.org program and they show "knock" as ranging from negative to positive. I'm used to reading knock as an absolute from my GM days where if it was knocking it was just pulling timing. I'm starting to think that this PID is knock but it will showing timing added or pulled due to knock or the lack thereof.
I then did some research and Torque actually supports "signed" numbers!
So for the equation in torque I used the following:
Signed(A)
I won't go in to a big discussion on signed numbers in binary here unless someone really wants me to - you can Google it obviously too.
I did this to see what I would get and sure enough I get a positive and negative number that makes a lot more sense. Ranging from -5 to +3 so far for me. I tried a more complicated formula to see if it was using both the A and B variable but it doesn't seem to really use 'B' for anything useful. The formula I used for that test was (Signed(A*256)+B)/8 ended up giving me the same result as the much simpler formula above so it only appears to be using the 'A' variable.
Now the next thing I've noticed is that all of the other scanning programs seem to measure knock in quarter degrees. (0.25) which would imply there is a divide by 4 in the equation missing.
{Update - 8/8/2014 After further research here with others help I believe we have finally settled on the correct equation.}By watching the knock PID in another Scan tool I am modifying the formula yet again. I can't completely figure out the exact value but I am comfortable that the "A" variable will give you knock in 1/2 degree increments. I suggest everyone updates their PID
So currently I am running with the following equation in Torque:
Signed(A)/2+(B/512)
It seems to be pretty close if not accurate. Negative numbers right now actually indicate it is adding timing and positive numbers indicate the presence of some knock. Yes this seems somewhat counterintuitive but that is apparently how Ford designed it. (If it bugs you just put a '-' sign in front of the equation but then remember you put it there anytime you have a discussion on the forum) The noted ranges so far seem to go from -5 to +7...consensus on what is safe seems to vary and will probably depend on how modded you are ( A couple of degree running at 18 psi with aftermarket turbos probably wouldn't be great while it may not be a big deal on a relatively "normal" tune running lower boost/timing etc...)