See also Trigger
To change your trigger settings, open TunerStudio, Engine->Trigger Configuration.
Cam always goes before crank. For shapes with two wheels, left wheel is top in tuner studio. Also order of channels on engine sniffer should match order of channels on the bottom part of corresponding image.
Universal 36/1 ToDo: add picture
If you also have a CAM sensor somewhere see VVT
Similar but different from "Custom 12/0":
- "Custom 12/0" synchronizes on any tooth relying on a distributor
- "12crank/24cam" is a special popular trigger which depends on cam sensor for engine phase detection.
Honda K Exhaust Camshaft
Also used on some Mitsubishi like 4g18 4g93
See 36-2-2-2
Also Miata NC etc
TODO maybe make it a bit more straight, maybe it's good enough
GM/Daewoo Distributor F8CV
Might also be used on some Daihatsu, Nissan and Mazda RX8/MZR/Miata NC
Chrysler NGC 4 cylinder
Chrysler NGC 6 cylinder
Sovek, Saruman ignition blind type
A bit of a 60/2/2
A basic wheel - assumes equally spaced teeth with a number of missing teeth. Tuner studio allows up to 500 teeth with 500 missing - functional limits are not tested.
3 cylinder
4 cylinder
Crank
Cam
For example 4B11 4G15 4G69
Same as 4G15
Use this cam trigger with special 3+0 symmetrical crank trigger.
360 slot trigger not ready yet, no test vehicles :(
For historical reasons we support wrongfully wired 60-2
See also Universal True 60/2
2JZ would use global trigger offset 65
Use this with "Single Tooth First Half" VVT mode for cam input
Use skipped wheel for crank and "Toyota 3 Tooth" previously known as "VVT: 2JZ" for cam.
TODO: implement a feature so that trigger could be defined via TunerStudio
If your have an unknown or an unsupported trigger shape, once you've confirmed that trigger events are getting into the software (see "troubleshooting" sections) you need to crank your engine while rusEFI console is connected with Engine Sniffer tab active.
With long enough cranking you should get a visual log of your trigger signal, that would give you some idea of what kind of trigger shape you have. Save an image and post it on a forum. It's recommended to remove spark plugs while investigating trigger shape to make your cranking more even.
Once preliminary shape of a new trigger is added into rusEFI firmware based on the Engine Sniffer image, second step is getting a more precise recording of the shape with exact angles. This is done with spark plugs removed and Sensor Sniffer mode set to TRIGGER. With long enough cranking a chart of trigger shape would appear on the Sensor Sniffer tab and the console log file (see out/ folder next to rusefi console binaries) would contain the angles. Please post this log file on the forum for the developers to encode the new trigger shape into the software.
Trigger decoding cycle starts at 'synchronization point' - that's the trigger fall or rise event which satisfies the 'synchronization gap' condition. Since trigger synchronization point usually has nothing to do with top dead center #1 (TDC), we have have 'globalTriggerAngleOffset' parameter - that's the offset between synchronization point and TDC.
For example, 'set global_trigger_offset_angle 0', TDC is set to synchronization point, the green vertical line is TDC mark:
Now the real TDC, 'set global_trigger_offset_angle 175' command:
Note the different location of the green TDC line. Also note how all Injector #1 pulse has moved (Injector #3 is the lowest signal on these pictures) - that's because ignition and injection are scheduled based on TDC point.
While running ignition is controlled by ignition timing map, you can also offset the whole ignition timing map using 'set ignition_offset' command. Ignition dwell is controlled by dwell time curve.
Injection could be offset using 'set injection_offset X' command.
While cranking, you can set angle-based ignition instead of timing map & dwell based ignition. In angle-based mode, dwell is defined in crankshaft angle duration and timing is constant. set cranking_charge_angle and set_cranking_timing_angle.
See 'trigger decoding' in Doxygen
Dev note: unit_tests executable produces triggers.txt file - gen_trigger_images.bat reads triggers.txt and produces these .png files. TODO: automate this further?