General motors 24X trigger system

We still have trigger errors but we have learnt how to recreate them easily now. My question is if the trigger error is still reported when it happens in the 'A' area allowed by the "LS1 forgiving" setting?

Please take a look at the settings I have used here, as the first test where the config was upgraded failed I loaded the config that was used for testing in Hungary and changed as little as possible.

We have found how to recreate the conditions that cause the trigger to be reported.

A plug was found on the intake. Removing the plug will increase the airflow enough to create a condition where the trigger error occur during the engine acceleration and then during the deceleration when the plug is put back in again. We could never repeat it reliably with the throttle. The steady state conditions are 900rpm and 1600rpm.

In the included vemslog we see the trigger errors and under which conditions they occur.

When taking the triggerlogs we recreated the same conditions. In one of the logs we got some missing teeth on the primary trigger. But only at around 1600rpm. Not when going down from 1600-900. Maybe this is just a triggerlog communication bandwidth problem or other hickup. This is seen in this log: v3.3_n002465-2011-05-04-20.08.57.triggerlog In the other longer log the conditions that caused a triggererror to occur in the vemslog was a recreated repeatedly and we don't get any trigger errors.

During the weekend we will scope the triggers carefully while recreating the conditions that cause the trigger error. With some luck this way of recreating will keep working.

Logs and config from 2011-05-04 testing:

Configuration: "LS1 forgiving bit" enabled

See [VT help] for more info on operation of "LS1 forgiving"

[1.1.91 benchtested config] with 48+1 trigger (type c048 in VT Tools/Play Trigger) and

Note that the "LS1 forgiving" = disabled is still the recommended default setting if the campulse can be placed sufficiently far from the primtrig chosen edge. Normally this can be achieved even with a 24+1 trigger, and often also with a 48+1 LS1 (other LS1 trigger engines operated that way earlier).


This trigger is used on the very popular LS1, LS6 engine and many other V8 engines in this engine family. All these engines are popular to retrofit in cars as it is very light and weigh less then many four cylinder engines. We should try to support it properly.

It is very hard to modify the secondary trigger angle on these engines to get it exactly between the primary trigger pulses.

Problem (without "LS1 forgiving")

It works fine on 48+1 trigger on most cars. The cam sync trigger is however a bit too close to the primary trigger pulses and it sometimes cause a race condition. This seem to have become worse on 1.1.88 compared to the results seen on 1.1.76.

The primary trigger has 24 pulses per revolution where the falling edge of the trigger signal is at 15 deg intervals and the pulse length of the logical '0' is 12 or 3 degrees. As the pulse density is high and the difference is fairly large I think that we can detect this reliably even when cranking. The sync is possible in 90 deg.

Trigger Pattern

The 24X trigger pattern look like this:



Scope captures around #1 TDC:


The capture above show the spark from #1 together with the cam sync. This was taken with the timing locked at 1deg. Ignore the noisy signals, I used a chassi ground for the scope. I only took this to verify the timing of the cam sync sensor


This how how the primary and secondary trigger signals look around #1 TDC. Bigger version of the same is found here:


Trigger log and a short normal log is found here, Primary=falling edge, Secondary=falling edge. Bad sec trig position shows up around 1 minute in the log:

The pattern can be broken down to this:

# x Low    High
5 x Short  Long
1 x Long   Short
3 x Short  Long
2 x Long   Short
2 x Short  Long
3 x Long   Short
1 x Short  Long
1 x Long   Short
1 x Short  Long
5 x Long   Short

If I only specify the length of the logical '0' we get:

0deg to 90deg:


90deg to 180deg:


180deg to 270deg:


270deg to 360deg:


The cam sync has a 360 crank degree duration and will change from 0 to 1 or 1 to 0 around 0 crank degrees. The spec sheet say that it should do it at 0 deg but in reality it occur a few degrees from the previous falling edge of the primary trigger. At least of the engines I have run a trigger log on.


Auditrigger (traditionally divby3, that would be tooth count=16 in this case) always allowed 1 tooth sloppiness in the sectrig.

Trigger-detection with sectring LS1 forgiving bit - implemented

From 1.1.91 secondary_trigger bit2=1 ("LS1 forgiving"=enabled)

It may be useful for 24+1 (c024) type triggers also. But the recommendation remains:

Yet another solution postponed for now:

This engine family also use a trigger type called 58X which is what other manufacturers call a 60-2 trigger wheel. For example the LS2 engine use this trigger.