Jump to content

Config:Idle

From epicEFI Wiki
Revision as of 22:14, 6 June 2026 by Ogalic (talk | contribs)

Idle settings

Idle settings

Idle control mode

See also idleRpmPid

  • Open Loop + Closed Loop
  • Open Loop

TPS threshold

Below this throttle position, the engine is considered idling. If you have an electronic throttle, this checks accelerator pedal position instead of throttle position, and should be set to 1-2%.

Force idle below throttle threshold

Force idle STATE below DriveIntent threshold.

Force timing only below pedal threshold

Force idle ignition (delta target only) below DriverThreshold threshold, only for ignition timing

Idle force delayed by DFCO

Do not force idle ignition while DFCO is active for either of the above.

Delta target rpm smoothing factor

Smoothing factor for delta target rpm ignition adjustment

RPM upper limit

How far above idle speed do we consider idling, i.e. coasting detection threshold. For example, if target = 800, this param = 200, then anything below 1000 RPM is considered idle.

RPM deadzone

If the RPM closer to target than this value, disable closed loop idle correction to prevent oscillation

Max vehicle speed

Above this speed, disable closed loop idle control. Set to 0 to disable (allow closed loop idle at any speed).

Idle overrides

Separate idle ignition table

This activates a separate ignition timing table for idle conditions, this can help idle stability by using ignition retard and advance either side of the desired idle speed. Extra advance at low idle speeds will prevent stalling and extra retard at high idle speeds can help reduce engine power and slow the idle speed.

Use idle ignition table while coasting

Max RPM for idle advance while coasting

Maximum RPM for which idle advance while coasting is enabled

Separate idle VE table

This activates a separate fuel table for Idle, this allows fine tuning of the idle fuelling.

Override Idle VE table load axis

Allows you to change the default load axis used for the VE table, which is typically MAP (manifold absolute pressure).

  • None
  • MAP
  • TPS
  • PERCENT BARO

Ramp target RPM on return to idle

Ramp the idle target down from the entry threshold over N seconds when returning to idle. Helps prevent overshooting (below) the idle target while returning to idle from coasting.

  • no
  • yes

Ramp target duration

idle return target ramp duration

Separate idle tables for cranking taper

This uses separate ignition timing and VE tables not only for idle conditions, also during the postcranking-to-idle taper transition (See also afterCrankingIACtaperDuration).

Separate coasting idle table

Override the IAC position during overrun conditions to help reduce engine breaking, this can be helpful for large engines in light weight cars or engines that have trouble returning to idle.

Open Loop Idle

A/C adder

Additional idle % while A/C is active

A/C RPM target

Idle target speed when A/C is enabled. Some cars need the extra speed to keep the AC efficient while idling.

Transmission idle up adder

Additional idle % while transmission idle up is active

Transmission idle up RPM target

Idle target speed when transmission idle up is enabled. Some transmissions need extra idle speed when engaged.

Fan #1 adder

Additional idle % when fan #1 is active. In PWM mode this is scaled according to PWM %

Fan #1 RPM target

Idle RPM target adder when fan #1 is active. Raises the idle RPM target so the closed-loop PID does not fight the open-loop IAC adder.

Fan #2 adder

Additional idle % when fan #2 is active. In PWM mode this is scaled according to PWM %

Fan #2 RPM target

Idle RPM target adder when fan #2 is active. Raises the idle RPM target so the closed-loop PID does not fight the open-loop IAC adder.

CAN idle-up target RPM adder

can box idle up demand

CAN idle-up % adder

can box idle up demand %

Closed Loop Idle

P gain

Proportional value. See https://content.epicefi.com/wiki/index.php/Guides:PID_Control

I gain

Integral value

See https://content.epicefi.com/wiki/index.php/Guides:PID_Control.

D gain

Derivative value

See https://content.epicefi.com/wiki/index.php/Guides:PID_Control.

Min

PID controller output minimum duty value.

Max

PID controller output maximum duty value.

iTerm Min

iTerm min value

iTerm Max

iTerm max value

PID Extra for low RPM

Increases PID reaction for RPM<target by adding extra percent to PID-error

Use PID output gain table

This flag allows to use a special 'PID Multiplier' table (0.0-1.0) to compensate for nonlinear nature of IAC-RPM controller

ETB idle settings

ETB idle maximum angle

This sets the range of the idle control on the ETB. At 100% idle position, the value specified here sets the base ETB position.

Dashpot emulation

Dashpot coasting-to-idle Initial idle Adder

This value is an added for base idle value. Idle Value added when coasting and transitioning into idle.

Dashpot coasting-to-idle Hold time

How long initial idle adder is held before starting to decay.

Dashpot coasting-to-idle Decay time

How long it takes to remove initial IAC adder to return to normal idle.

Dashpot coasting-to-idle Initial idle Adder(AC ON)

This value is an added for base idle value(AC ON). Idle Value added when coasting and transitioning into idle.

Dashpot coasting-to-idle Hold time(AC ON)

How long initial idle adder is held before starting to decay(AC ON).

Dashpot coasting-to-idle Decay time(AC ON)

How long it takes to remove initial IAC adder to return to normal idle(AC ON).

Ignition idle settings

Open loop idle timing (RPM-error)

Use Idle Target Error Delta timing curve

Include corrections in idle timing

If enabled, adds the result from the RPM-error curve to the corrected idle advance. If disabled, it discards all corrections (IAT, CLT, PID etc.) and uses the curve value directly.

Closed loop ignition timing (PID)

Enable PID control

Gain is in degrees advance per rpm away from target, a good starting point is 0.1 = 10 deg per 100 rpm

P gain

Proportional value. See https://content.epicefi.com/wiki/index.php/Guides:PID_Control

I gain

Integral value

See https://content.epicefi.com/wiki/index.php/Guides:PID_Control.

D gain

Derivative value

See https://content.epicefi.com/wiki/index.php/Guides:PID_Control.

Min adjustment (retard)

PID controller output minimum duty value.

Max adjustment (advance)

PID controller output maximum duty value.

Soft entry time

When entering idle, and the PID settings are aggressive, it's good to make a soft entry upon entering closed loop

Idle hardware

Solenoid

Idle Solenoid Primary output

?highlight=class~outputs

  • $output_pin_e_list

Double Solenoid Mode

Subaru/BMW style where default valve position is somewhere in the middle. First solenoid opens it more while second can close it more than default position.

Idle Solenoid Secondary output

Some Subaru and some Mazda use double-solenoid idle air valve ?highlight=class~outputs

  • $output_pin_e_list

Idle Solenoid output(s) Mode

  • $pin_output_mode_e_enum

Idle Solenoid Frequency

Idle target RPM

Idle open loop position

Idle cranking position

ETB idle maximum angle

This sets the range of the idle control on the ETB. At 100% idle position, the value specified here sets the base ETB position.

Cranking Idle Valve Curve

2D curve — X: Coolant (-40 to 120), Y: Percent (0 to 100).

Idle after start (crank-to-run) taper

Idle valve Crank-to-Run Taper

2D curve — X: Coolant (-40 to 120), Y: cycles (0 to 500).

Idle PID output gain

Idle PID error gain

Coasting idle position override

Valve force close / stepper re-park

Force close: RPM threshold

Gradually close the idle valve and re-park the stepper when RPM is above this value AND TPS is above idleValveForceCloseTps. Prevents manifold pressure leakage through the valve at cruise, and resets accumulated stepper step-loss errors. Set to 0 to disable.

Force close: delay (s)

Seconds to wait after RPM and TPS conditions are both met before beginning to close the idle valve. Prevents closing on brief throttle blips.

Force close: TPS taper start (%)

TPS at which the idle valve starts closing toward zero (taper start). Used together with idleValveForceCloseRpm and idleValveForceCloseTpsEnd.

Force close: TPS taper end (%)

TPS at which the idle valve reaches fully closed and the stepper is re-parked (taper end). Position is linearly interpolated from current to zero between idleValveForceCloseTps and this value. Should be greater than idleValveForceCloseTps.

Force close: re-park overstep (steps)

Number of extra steps to overstep toward closed when re-parking after force-close. Compensates for stepper drift without needing the full startup homing sequence. 5 is a good starting point.

Open loop ignition idle timing (RPM-error)

Idle Target Error

2D curve — X: Delta (-500 to 500), Y: Deg (-30 to 30).

Idle fuel table

Idle ignition table

Rotational idle

Enable

Enable rotational idle.

Pin

Pin that activates the rotational idle. ?highlight=class~switch_inputs

  • $switch_input_pin_e_list

Pin Mode

  • $pin_input_mode_e_enum

Stop STFT for rotational idle (no fuel trim)

Zero STFT for rotational idle.

Rotational cut spark

Rotational cut spark.

Rotational cut fuel

Rotational cut fuel.

Enable automatic engagement for TPS

Enable automatic engagement of rotational idle.

Engage rotational idle below this Driver Intent(TPS/PPS)

Engage rotational idle under this Driver Intent.

Enable auto engage for CLT

Enable Rotational Idle Auto engage CLT.

Auto engage above this CLT

Rotational Idle Auto engage CLT.

Minimum CLT

Minimum CLT for the rotational idle.

Maximum TPS/PPS (0 to disable)

Disengage rotational idle above this Driver Intent.

Minimum RPM

Minimum RPM for the rotational idle.

Maximum RPM

Maximum RPM for the rotational idle.

Disable closed loop idle when rotational idle active

Disable closed loop idle control when rotational idle is active.

Add idle % idle output

Add air to the idle.

Add/Remove air percentage

Percentage of air to add/remove to the idle.

Override ETB Idle Authority (0 to disable override)

Override the ETB authority for the rotational idle.

Fuel Multiplier (1.5 = 150% , 0 to 2.5)

Rotational idle fuel multiplier

Rotational Absolute Timing (-30 = 30 ATDC, 0 = original timing, 10 - -100)

Rotational idle absolute ignition (-20 = atdc 20 degrees)

Old rotational idle logic (true = old, false = new) - see tooltip

Old rotational idle logic, New logic is based on global spark counter, the three layers of accumulators and adders run at the same time, offset shifts the pattern forward or backward with relation to each other, this should allow different sound patterns by combining different offsets;

Rotational Fuel Offset (should be 0, this shifts fuel cut in relation to ignition signal)

Rotational idle fuel offset (should be 0, this shifts fuel cut in relation to ignition signal). At 0, in sequential injection/ignition the fuel pulse is cut before the ignition pulse. so fuel is not wasted.

Accumulator Max 1

Max value for the rotational idle accumulator to skip

Accumulator Adder 1

Accumulator adder

Accumulator Offset 1

Rotational pattern shift #1

Accumulator Max 2

Max value for the rotational idle accumulator to skip

Accumulator Adder 2

Accumulator adder

Accumulator Offset 2

Rotational pattern shift #2

Accumulator Max 3

Max value for the rotational idle accumulator to skip

Accumulator Adder 3

Accumulator adder

Accumulator Offset 3

Rotational pattern shift #3

Transmission idle compensation

Transmission idle up switch

Transmission idle up switch input ?highlight=class~switch_inputs

  • $switch_input_pin_e_list

Transmission idle up switch mode

  • $pin_input_mode_e_enum

Transmission idle up adder

Additional idle % while transmission idle up is active

Transmission idle up RPM target

Idle target speed when transmission idle up is enabled. Some transmissions need extra idle speed when engaged.