Jump to content

Config:Ignition: Difference between revisions

From epicEFI Wiki
Created page with "= Ignition = == Ignition advance == == CLT timing correction == ~~PLACEHOLDER~~ == IAT timing correction == ~~PLACEHOLDER~~ == Dwell Table == ~~PLACEHOLDER~~ == Ignition Hardware Angle Correction == == Ignition Hardware == '''Spark''' Ignition is enabled '''Mode''' Single coil = distributor Individual coils = one coil per cylinder (COP, coil-near-plug), requires sequential mode Wasted spark = Fires pairs of cylinders together, either one coil per pair of cyl..."
 
No edit summary
 
(3 intermediate revisions by the same user not shown)
Line 1: Line 1:
[[File:Ignition menu.jpg|thumb|Ignition menu]]
= Ignition =
= Ignition =
The Ignition menu is used to configure all aspects of ignition control, including [[Config:Ignition#Knock Control|Knock Control]].


== Ignition advance ==
= Ignition advance =
This is the main ignition table, in degrees BTDC before any corrections. This defines the baseline ignition angle.


== CLT timing correction ==
= CLT timing correction =
This table defines the coolant temperature ignition correction. Used to prevent knock on very hot engines.


~~PLACEHOLDER~~
= IAT timing correction =
This table defines the intake air temperature ignition correction. Use this table to prevent knock on bad intake setups or poor charge air cooling.


== IAT timing correction ==
= Dwell Table =
This table defines the dwell time for the ignition system, defined in miliseconds. This table is defined in the Y axis by the battery voltage, used to correct for poor spark during cranking by introducing more dwell time.


~~PLACEHOLDER~~
= Ignition Hardware Angle Correction =
Compensates for trigger delay due to belt stretch, or other electro-mechanical issues. Also used to compensate for the ignition system delay.
{{Warning|This is correction in degrees by RPM. Beware that raising this value is directly added to the advance and this advances ignition timing!}}


== Dwell Table ==
= Ignition Hardware =


~~PLACEHOLDER~~
==== Spark ====
If ignition is enabled.


== Ignition Hardware Angle Correction ==
==== Mode ====


== Ignition Hardware ==
* '''Single coil''' - Simple distributor


'''Spark'''
* '''Individual coils''' - One coil per cylinder (coil-on-plug or coil-near-plug). Requires sequential mode or [[Config:Setup#Guess sync RPM threshold(rpm)|phase guessing]].


Ignition is enabled
* '''Wasted spark''' - Fires pairs of cylinders together, either one coil per pair of cylinders or one coil per cylinder. Choose this if you have coil-on-plug or coil-near-plug but no camshaft sensor or you do not want to use [[Config:Setup#Guess sync RPM threshold(rpm)|phase guessing]]. Enable [[Config:Ignition#Individually wired Wasted Spark|Individually wired Wasted Spark]] for such a setup.


'''Mode'''
* '''Two distributors''' - A pair of distributors, found on some BMW, Porsche, Toyota and other engines.


Single coil = distributor
==== Dwell duty cycle limit ====
Individual coils = one coil per cylinder (COP, coil-near-plug), requires sequential mode
Clamp dwell duration to this % of time slot (100=do not clamp)
Wasted spark = Fires pairs of cylinders together, either one coil per pair of cylinders or one coil per cylinder
Two distributors = A pair of distributors, found on some BMW, Toyota and other engines
set ignition_mode X
 
'''Dwell duty cycle limit'''


Clamp dwell duration to this % of time slot (100=do not clamp)
Just like injectors, ignition coils have duty cycle, if duty cycle gets close to or exceeds 100%, ignition stops working
Just like injectors, ignition coils have duty cycle, if duty cycle gets close to or exceeds 100%, ignition stops working


'''Individually wired Wasted Spark'''
==== Individually wired Wasted Spark ====
 
This is needed if your coils are individually wired (COP) and you wish to use batch ignition (Wasted Spark).
This is needed if your coils are individually wired (COP) and you wish to use batch ignition (Wasted Spark).


'''Override ignition table load axis'''
==== Override ignition table load axis ====
 
Override the Y axis (load) value used for the ignition table.
Override the Y axis (load) value used for the ignition table.
Advanced users only: If you aren't sure you need this, you probably don't need this.
{{Warning Mild|Advanced users only: If you aren't sure you need this, you probably don't need this.}}


'''Timing Mode'''
==== Timing Mode ====


Dynamic uses the timing map to decide the ignition timing
* '''Dynamic''' - Ignition behaves normally using the ignition table and any corrections applied to it.
Static timing fixes the timing to the value set below (only use for checking static timing with a timing light).


'''Fixed Timing'''
* '''Static''' - Fixes the timing to the value set below.
{{Warning Mild|Only used fixed timing to verify trigger configuration with a timing light, never during normal driving conditions.}}


Fixed timing, useful for TDC testing
==== Fixed Timing ====
The fixed timing value when fixed timing is used.
{{Warning Mild|Only used fixed timing to verify trigger configuration with a timing light, never during normal driving conditions.}}


=== Ignition Outputs ===
=== Ignition Outputs ===


'''Ignition Output Mode'''
==== Ignition Output Mode ====
 
See [[Hardware:ECU output mode selection|ECU output mode selection]].
~~PLACEHOLDER~~
 
'''Ignition Output 1'''
 
ignitionPins 1
?highlight=class~outputs
 
'''Ignition Output 2'''
 
ignitionPins 2
?highlight=class~outputs
 
'''Ignition Output 3'''
 
ignitionPins 3
?highlight=class~outputs
 
'''Ignition Output 4'''
 
ignitionPins 4
?highlight=class~outputs


'''Ignition Output 5'''
==== Ignition Output x ====
This is the physical output pin for the ignition output.


ignitionPins 5
To find the actual value for your hardware, see [[Hardware]].
?highlight=class~outputs
 
'''Ignition Output 6'''
 
ignitionPins 6
?highlight=class~outputs
 
'''Ignition Output 7'''
 
ignitionPins 7
?highlight=class~outputs
 
'''Ignition Output 8'''
 
ignitionPins 8
?highlight=class~outputs


=== Enable/Disable ignition outputs ===
=== Enable/Disable ignition outputs ===


'''Ignition 1 disable'''
==== Ignition x disable ====
 
This disables the specified ignition output. Used for testing/debugging.
Disable ignition 1
 
'''Ignition 2  disable'''
 
Disable ignition 2
 
'''Ignition 3  disable'''
 
Disable ignition 3
 
'''Ignition 4  disable'''
 
Disable ignition 4
 
'''Ignition 5  disable'''
 
Disable ignition 5
 
'''Ignition 6  disable'''
 
Disable ignition 6
 
'''Ignition 7  disable'''
 
Disable ignition 7
 
'''Ignition 8  disable'''
 
Disable ignition 8
 
== Ignition Table Switch 1 Settings ==
 
'''Ignition Table Switch 1 Pin'''
 
Full table switch or blend pin
?highlight=class~switch_inputs


'''Ignition Table Switch 1 Pin Mode'''
= Ignition Table Switch =
This is used for ignition table switching.


table switch pin mode
== Ignition Table Switch x Settings ==


'''Ignition Table Switch 1 Parameter'''
==== Ignition Table Switch x Pin ====
This is the pin to toggle the table switch.


~~PLACEHOLDER~~
==== Ignition Table Switch x Pin Mode ====
See [[Hardware:ECU input mode selection|ECU input mode selection]].


'''Ignition Table Switch 1 Blend Mode'''
==== Ignition Table Switch x Parameter ====
This changes the ignition table switch X axis parameter


==== Ignition Table Switch x Blend Mode ====
Blend mode adds or multiplies the switch table with base, default is switch.
Blend mode adds or multiplies the switch table with base, default is switch.


'''Ignition Table Switch 1 Y axis override'''
==== Ignition Table Switch x Y axis override ====
 
This changes the ignition switch table Y axis.{{Warning Mild|Advanced users only: If you aren't sure you need this, you probably don't need this.}}
~~PLACEHOLDER~~
 
== Ignition Table Switch 1 ==
 
~~PLACEHOLDER~~
 
== Ignition Table Switch 2 Settings ==
 
'''Ignition Table Switch 2 Pin'''
 
Full table switch or blend pin
?highlight=class~switch_inputs
 
'''Ignition Table Switch 2 Pin Mode'''


table switch pin mode
== Ignition Table Switch x ==
This is the ignition switch OR blend table as defined by [[Config:Ignition#Ignition Table Switch x Blend Mode|Ignition Table Switch x Blend Mode]]


'''Ignition Table Switch 2 Parameter'''
= Cylinder Ignition Trim =
This is individual cylinder ignition trim.


~~PLACEHOLDER~~
== Ignition trim cyl x (deg) ==
 
This table trims the ignition by the specified number of degrees in relation to load.
'''Ignition Table Switch 2 Blend Mode'''
 
Blend mode adds or multiplies the switch table with base, default is switch.
 
'''Ignition Table Switch 2 Y axis override'''
 
~~PLACEHOLDER~~
 
== Ignition Table Switch 2 ==
 
~~PLACEHOLDER~~
 
== Ignition trim cyl 1 (deg) ==
 
~~PLACEHOLDER~~
 
== Ignition trim cyl 2 (deg) ==
 
~~PLACEHOLDER~~
 
== Ignition trim cyl 3 ==
 
~~PLACEHOLDER~~
 
== Ignition trim cyl 4 ==
 
~~PLACEHOLDER~~
 
== Ignition trim cyl 5 ==
 
~~PLACEHOLDER~~
 
== Ignition trim cyl 6 ==
 
~~PLACEHOLDER~~
 
== Ignition trim cyl 7 ==
 
~~PLACEHOLDER~~
 
== Ignition trim cyl 8 ==
 
~~PLACEHOLDER~~


== Switchable Ignition Adders ==
== Switchable Ignition Adders ==


'''Ignition adder 1 pin'''
==== Ignition adder x pin ====
 
This is the physical input pin that enables the ignition adder.
Random ignition adder 1 pin
?highlight=class~switch_inputs
 
'''Ignition adder 1 pin mode'''
 
~~PLACEHOLDER~~
 
'''Ignition adder 1 value'''
 
Random ignition adder 1 value (-60 to 60 degrees)
 
'''Ignition adder 2 pin'''
 
Random ignition adder 2 pin
?highlight=class~switch_inputs
 
'''Ignition adder 2 pin mode'''


~~PLACEHOLDER~~
==== Ignition adder x pin mode ====
See [[Hardware:ECU input mode selection|ECU input mode selection]].


'''Ignition adder 2 value'''
==== Ignition adder x value ====
Random ignition adder x value (-60 to 60 degrees)


Random ignition adder 2 value (-60 to 60 degrees)
= Knock Control =
This is the epicEFI software-defined knock control. The knock control on epicEFI is software-based, ie. the software does the raw sensor sampling, the digital filtering, [[wikipedia:Band-pass_filter|bandpassing]] and windowing (only listening to knock on specific crank angles).


'''Ignition adder 3 pin'''
Special thanks to [https://github.com/mck1117 Matthew Kennedy] for implementing this feature and testing it on his engines (of which he destroyed a few in the process).
{{Warning|The Knock retard functionality is a tool to detect engine knock, but with wrong settings it can cause engine damages. Use with caution!}}


Random ignition adder 3 pin
==== Software Knock Sense Enable ====
?highlight=class~switch_inputs
Enable or disable knock control.
 
'''Ignition adder 3 pin mode'''
 
~~PLACEHOLDER~~
 
'''Ignition adder 3 value'''
 
Random ignition adder 3 value (-60 to 60 degrees)
 
'''Ignition adder 4 pin'''
 
Random ignition adder 4 pin
?highlight=class~switch_inputs
 
'''Ignition adder 4 pin mode'''
 
~~PLACEHOLDER~~
 
'''Ignition adder 4 value'''
 
Random ignition adder 4 value (-60 to 60 degrees)
 
== Knock Control ==
 
=== Sense ===
 
'''Software Knock Sense Enable'''
 
~~PLACEHOLDER~~
 
'''Linear scale'''


==== Linear scale ====
Changes knock sensor values from logarithmic (dB) to a linear scale starting at 0.
Changes knock sensor values from logarithmic (dB) to a linear scale starting at 0.


'''Linear scale gain'''
==== Linear scale gain ====
 
This defines the linear scale gain.
~~PLACEHOLDER~~
 
'''Cylinder Bore'''


==== Cylinder Bore ====
Cylinder diameter in mm
Cylinder diameter in mm


'''Estimated Knock Frequency'''
==== Estimated Knock Frequency ====
 
If you want to define the knock frequency manually, use this input field. If this field is non-zero, the [[Config:Ignition#Cylinder Bore|Cylinder Bore]]-based knock frequency calculation is ignored.
Estimated knock frequency, ignore cylinderBore if this one > 0
 
'''Detection mode'''
 
Second harmonic (aka double) is usually quieter background noise


'''Detection Window Start'''
==== Detection mode ====


~~PLACEHOLDER~~
* '''First harmonic''' - The basic calculated or defined frequency


'''Sampling Duration'''
* '''Second harmonic''' - The first harmonic frequency, but doubled. This is possible because the pressure wave can fit two half-waves across the bore instead of one. It’s weaker than the first harmonic, but its much cleaner (less contaminated by valvetrain, piston slap, mechanical noise) and extremely useful at high RPM where the fundamental gets buried in engine noise.


~~PLACEHOLDER~~
==== Detection Window Start ====
The windowed knock control start window in degrees BTDC.


'''Enable Knock Spectrogram'''
==== Sampling Duration ====
The angular duration of the knock window. Defined in crankshaft angle.


==== Enable Knock Spectrogram ====
Available via TS Plugin see https://rusefi.com/s/knock
Available via TS Plugin see https://rusefi.com/s/knock


'''Enable Knock Spectrogram Filter'''
==== Enable Knock Spectrogram Filter ====
 
This defines a filter for the spectrogram.
~~PLACEHOLDER~~
 
'''Knock Spectrum Sensitivity'''


~~PLACEHOLDER~~
==== Knock Spectrum Sensitivity ====
This defines the relative sensitivity of the knock spectrogram.


=== Select the nearest sensor for each cylinder ===
=== Select the nearest sensor for each cylinder ===


'''Cylinder 1'''
==== Cylinder x ====
 
This defines what cylinder is closes the the physical knock sensor.
~~PLACEHOLDER~~
 
'''Cylinder 2'''
 
~~PLACEHOLDER~~
 
'''Cylinder 3'''
 
~~PLACEHOLDER~~
 
'''Cylinder 4'''
 
~~PLACEHOLDER~~
 
'''Cylinder 5'''
 
~~PLACEHOLDER~~
 
'''Cylinder 6'''
 
~~PLACEHOLDER~~
 
'''Cylinder 7'''
 
~~PLACEHOLDER~~
 
'''Cylinder 8'''
 
~~PLACEHOLDER~~


=== Response ===
=== Response ===


'''knockRetardAggression'''
==== knockRetardAggression ====
 
Ignition timing to remove when a knock event occurs. Advice: 5% (mild), 10% (turbo/high comp.), 15% (high knock, e.g. GDI), 20% (spicy lump),
Ignition timing to remove when a knock event occurs. Advice: 5% (mild), 10% (turbo/high comp.), 15% (high knock, e.g. GDI), 20% (spicy lump),


'''knockRetardReapplyRate'''
==== knockRetardReapplyRate ====
 
After a knock event, reapply timing at this rate.
After a knock event, reapply timing at this rate.


'''knockFuelTrimAggression'''
==== knockFuelTrimAggression ====
 
Fuel to odd when a knock event occurs. Advice: 5% (mild), 10% (turbo/high comp.), 15% (high knock, e.g. GDI), 20% (spicy lump),
Fuel to odd when a knock event occurs. Advice: 5% (mild), 10% (turbo/high comp.), 15% (high knock, e.g. GDI), 20% (spicy lump),


'''knockFuelTrimReapplyRate'''
==== knockFuelTrimReapplyRate ====
 
After a knock event, reapply fuel at this rate.
After a knock event, reapply fuel at this rate.


'''knockFuelTrim'''
==== knockFuelTrim ====
 
Fuel trim when knock, max 30%
Fuel trim when knock, max 30%


'''knockSuppressMinTps'''
==== knockSuppressMinTps ====
 
Below TPS value all knock suppression will be disabled.
Below TPS value all knock suppression will be disabled.


'''knockSuppressMinRpm'''
==== knockSuppressMinRpm ====
 
Below RPM value all knock suppression will be disabled
Below RPM value all knock suppression will be disabled


== Knock threshold ==
== Knock threshold ==


~~PLACEHOLDER~~
Knock sensor output knock detection threshold depending on current RPM. This is the threshold above which engine noise is considered as knock and [[Config:Ignition#Response|response]] starts to get applied.
 
== Max knock retard ==
 
~~PLACEHOLDER~~


== Per cylinder knock gains ==
= Max knock retard =
This table defines the maximum allowed knock retard.


~~PLACEHOLDER~~
= Per cylinder knock gains =
This table defines the per-cylinder knock gain (used when lots of cylinders share a single knock sensor).

Latest revision as of 23:19, 11 February 2026

Ignition menu

Ignition

The Ignition menu is used to configure all aspects of ignition control, including Knock Control.

Ignition advance

This is the main ignition table, in degrees BTDC before any corrections. This defines the baseline ignition angle.

CLT timing correction

This table defines the coolant temperature ignition correction. Used to prevent knock on very hot engines.

IAT timing correction

This table defines the intake air temperature ignition correction. Use this table to prevent knock on bad intake setups or poor charge air cooling.

Dwell Table

This table defines the dwell time for the ignition system, defined in miliseconds. This table is defined in the Y axis by the battery voltage, used to correct for poor spark during cranking by introducing more dwell time.

Ignition Hardware Angle Correction

Compensates for trigger delay due to belt stretch, or other electro-mechanical issues. Also used to compensate for the ignition system delay.

This is correction in degrees by RPM. Beware that raising this value is directly added to the advance and this advances ignition timing!

Ignition Hardware

Spark

If ignition is enabled.

Mode

  • Single coil - Simple distributor
  • Individual coils - One coil per cylinder (coil-on-plug or coil-near-plug). Requires sequential mode or phase guessing.
  • Wasted spark - Fires pairs of cylinders together, either one coil per pair of cylinders or one coil per cylinder. Choose this if you have coil-on-plug or coil-near-plug but no camshaft sensor or you do not want to use phase guessing. Enable Individually wired Wasted Spark for such a setup.
  • Two distributors - A pair of distributors, found on some BMW, Porsche, Toyota and other engines.

Dwell duty cycle limit

Clamp dwell duration to this % of time slot (100=do not clamp)

Just like injectors, ignition coils have duty cycle, if duty cycle gets close to or exceeds 100%, ignition stops working

Individually wired Wasted Spark

This is needed if your coils are individually wired (COP) and you wish to use batch ignition (Wasted Spark).

Override ignition table load axis

Override the Y axis (load) value used for the ignition table.

Advanced users only: If you aren't sure you need this, you probably don't need this.

Timing Mode

  • Dynamic - Ignition behaves normally using the ignition table and any corrections applied to it.
  • Static - Fixes the timing to the value set below.
Only used fixed timing to verify trigger configuration with a timing light, never during normal driving conditions.

Fixed Timing

The fixed timing value when fixed timing is used.

Only used fixed timing to verify trigger configuration with a timing light, never during normal driving conditions.

Ignition Outputs

Ignition Output Mode

See ECU output mode selection.

Ignition Output x

This is the physical output pin for the ignition output.

To find the actual value for your hardware, see Hardware.

Enable/Disable ignition outputs

Ignition x disable

This disables the specified ignition output. Used for testing/debugging.

Ignition Table Switch

This is used for ignition table switching.

Ignition Table Switch x Settings

Ignition Table Switch x Pin

This is the pin to toggle the table switch.

Ignition Table Switch x Pin Mode

See ECU input mode selection.

Ignition Table Switch x Parameter

This changes the ignition table switch X axis parameter

Ignition Table Switch x Blend Mode

Blend mode adds or multiplies the switch table with base, default is switch.

Ignition Table Switch x Y axis override

This changes the ignition switch table Y axis.

Advanced users only: If you aren't sure you need this, you probably don't need this.

Ignition Table Switch x

This is the ignition switch OR blend table as defined by Ignition Table Switch x Blend Mode

Cylinder Ignition Trim

This is individual cylinder ignition trim.

Ignition trim cyl x (deg)

This table trims the ignition by the specified number of degrees in relation to load.

Switchable Ignition Adders

Ignition adder x pin

This is the physical input pin that enables the ignition adder.

Ignition adder x pin mode

See ECU input mode selection.

Ignition adder x value

Random ignition adder x value (-60 to 60 degrees)

Knock Control

This is the epicEFI software-defined knock control. The knock control on epicEFI is software-based, ie. the software does the raw sensor sampling, the digital filtering, bandpassing and windowing (only listening to knock on specific crank angles).

Special thanks to Matthew Kennedy for implementing this feature and testing it on his engines (of which he destroyed a few in the process).

The Knock retard functionality is a tool to detect engine knock, but with wrong settings it can cause engine damages. Use with caution!

Software Knock Sense Enable

Enable or disable knock control.

Linear scale

Changes knock sensor values from logarithmic (dB) to a linear scale starting at 0.

Linear scale gain

This defines the linear scale gain.

Cylinder Bore

Cylinder diameter in mm

Estimated Knock Frequency

If you want to define the knock frequency manually, use this input field. If this field is non-zero, the Cylinder Bore-based knock frequency calculation is ignored.

Detection mode

  • First harmonic - The basic calculated or defined frequency
  • Second harmonic - The first harmonic frequency, but doubled. This is possible because the pressure wave can fit two half-waves across the bore instead of one. It’s weaker than the first harmonic, but its much cleaner (less contaminated by valvetrain, piston slap, mechanical noise) and extremely useful at high RPM where the fundamental gets buried in engine noise.

Detection Window Start

The windowed knock control start window in degrees BTDC.

Sampling Duration

The angular duration of the knock window. Defined in crankshaft angle.

Enable Knock Spectrogram

Available via TS Plugin see https://rusefi.com/s/knock

Enable Knock Spectrogram Filter

This defines a filter for the spectrogram.

Knock Spectrum Sensitivity

This defines the relative sensitivity of the knock spectrogram.

Select the nearest sensor for each cylinder

Cylinder x

This defines what cylinder is closes the the physical knock sensor.

Response

knockRetardAggression

Ignition timing to remove when a knock event occurs. Advice: 5% (mild), 10% (turbo/high comp.), 15% (high knock, e.g. GDI), 20% (spicy lump),

knockRetardReapplyRate

After a knock event, reapply timing at this rate.

knockFuelTrimAggression

Fuel to odd when a knock event occurs. Advice: 5% (mild), 10% (turbo/high comp.), 15% (high knock, e.g. GDI), 20% (spicy lump),

knockFuelTrimReapplyRate

After a knock event, reapply fuel at this rate.

knockFuelTrim

Fuel trim when knock, max 30%

knockSuppressMinTps

Below TPS value all knock suppression will be disabled.

knockSuppressMinRpm

Below RPM value all knock suppression will be disabled

Knock threshold

Knock sensor output knock detection threshold depending on current RPM. This is the threshold above which engine noise is considered as knock and response starts to get applied.

Max knock retard

This table defines the maximum allowed knock retard.

Per cylinder knock gains

This table defines the per-cylinder knock gain (used when lots of cylinders share a single knock sensor).