There are 2 base ignition maps and 7 corrections after this initial map lookup (one is the idle sensitivity correction). Note that the idle/cruise area of these two base maps are about the same. Only reduction is under accel/boost. There used to be a correction table during warm up to help the cats heat up quicker, but I’ve eliminated this table and used the open memory for the BIG timing maps. This is why it’s important you leave the cat warm up feature in periphery 0 switched off.
Right after the base value is looked up, there are 3 trims. One is based off Engine Coolant Temp, another is Baro pressure and the last is Air Temp. The IAT and baro trims are disabled by default. Not pictured is the Load comp for the AIT trim which is also disabled.
Next we have an initial brief timing reduction during acceleration and then there’s an overall reduction factor applied above 100 engine load which is actually a percentage reduction when > 4000rpm. All this is to compensate for the sudden lean condition caused by the mad rush of air into the motor when you suddenly punch the throttle to avoid knock.
We are all familiar with the timing reduction during knock safety feature of the ECU. Every count of knock reduces ignition timing by approx 1/3 of a degree. The max amount of ignition timing retard during knock is 10.4 degrees and can be edited if need be (although you should tune your motor well enough to never need this limit ).
Also in this section are the ignition coil dwell tables. Jeff L from Stealth316 has the best description of how the coils work.
Originally Posted by Jeff
Energization Time Control
The ECU controls the ignition coil primary current to achieve and then maintain a value of 6 amps. Using mapped values in memory, the ECU lengthens the energization time when the battery voltage is lower, and shortens the energization time when the battery voltage is higher. However, the ECU will not extend the energization time longer than 75% of the ignition interval. Each coil fires once every engine revolution and so the ignition interval is the time it takes for the engine to revolve once. Energization time is about 4 ms.
There are 3 dwell tables in the code. First is the latency table (which functions very similar to injector latency), then there’s correctoin factor based on an RPM switch (which is disabled) and finally that 75% dwell limit table.