There are quite a few factors which go into timing correction. There are a number look-up tables used to determine the requested values. There are also triggers which affect timing in the long-term(CF) Medium term (IAT) and short term (KV). When the ECU detects spurious (not predicted) knock, it applies a set amount of correction over a specified time... say, it pulls 5deg and waits 2/10ths of a second and listens again, if there is still knock it pulls again, usually an amount much higher than the first... 12deg. And it can do so again in another .2sec... I've seen negative timing (retard) during my homebrew times. Anyhow, once the knock has quelled it waits and ups timing at a rate of about half the amount it took away per step. This process is totally separate from CF and serves as another safeguard.
If you have consistent high KV activity, it'll bump your CF's in a similar way. The knock sensor circuits are also pretty smart. They know what signal pattern matches up with destructive knock and requires immediate attention (combination of cylinder and frequency/amplitude) and one that indicates insufficient octane (all cylinders and freq/amplitude). The second type results in a more rapid application of CF. KV's are just a shadow of the info the ECU gets from the knock sensors.
All of those variables are adjustable too. If you look at many chips, like X, you'll see the timing recovers on a 1:1 scale with the pull. Stock timing logic, like I'm running now, is much slower to recover.
IAT actually goes in to the initial determination of "optimal timing", which is also based on cylinder pressure (calculated from load, which comes from MAF) and RPMs?
Then, its adjusted by the CF (long term). CF can move around (slowly) based on "medium term" knock events (average retard) that the ECU thinks indicate stuff like octane. These effect ALL cylinders equally.
Short term knock events can bump a particular cylinder's current retard (CF) up. It can recover too, subject to both RPM change and load change hysteresis, (only?) if short term events go away, but they do not affect CF like the "medium term" knock type does, and they do not affect all cylinders equally.
based on these terms, can we define what each of the logged timing numbers mean? in particular, is "retard" the combination of CF AND short term retard? i.e. if you subtract current timing from retard, you get the original uncorrected "optimal timing" that we started with (which IS dependant on IAT)
OR is "retard" simply short term retard, and does not represent the effect of CF?
is CF 1:1 with degrees, or is there another equation that translates CF into a retard amount (e.g. involving load or RPM?)
There appears to be a "super" long term retard (or advance?) that is stored in the ECU as an adaptation. It does not appear to be loggable. It appears to be an "advance" because the timing tables in ME7 seem to represent a "maximally safe" amount of timing; those values minus CF are always *lower* than the actual timing. The only way to clear this "super" long term adaptation seems to be to leave the ECU powered off for an extended period of time.
Finally, when people talk about the ECU's correction limitations, are we talking about short AND long term correction summed? or just short?