I thought the corrections were for analog inputs. if he's all digital what is he correcting?
The timing needs to be accurate. It's not enough to create a lookup table with delay values.
Example: the current RPM is determined by timing between trigger pulses.
Based on that RPM, you go to a pre-programmed delay before a spark is fired.
But that delay is not the total delay - the circuitry itself will take some time to acquire all signals, process them, etc.
The total delay between trigger signal and spark needs to be determined throughout the RPM range -
And then that delay needs to be compensated for in the curve programs.
That's the only way to have an accurately programmed curve.