Config:Idle: Difference between revisions
No edit summary |
No edit summary |
||
| Line 280: | Line 280: | ||
<!-- field:idle_solenoidPinMode --> | <!-- field:idle_solenoidPinMode --> | ||
==== Idle Solenoid output(s) Mode ==== | ==== Idle Solenoid output(s) Mode ==== | ||
* '''$pin_output_mode_e_enum''' | * '''$pin_output_mode_e_enum''' | ||
| Line 298: | Line 297: | ||
==== ETB idle maximum angle ==== | ==== 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. | This sets the range of the idle control on the ETB. At 100% idle position, the value specified here sets the base ETB position. | ||
<!-- curve:cltCrankingCurve --> | |||
== Cranking Idle Valve Curve == | |||
2D curve — X: Coolant (-40 to 120), Y: Percent (0 to 100). | |||
<!-- section:afterCrankingIACtaperDurationDialog --> | <!-- section:afterCrankingIACtaperDurationDialog --> | ||
= Idle after start (crank-to-run) taper = | = Idle after start (crank-to-run) taper = | ||
<!-- curve:afterCrankingIACtaperCurve --> | |||
== Idle valve Crank-to-Run Taper == | |||
2D curve — X: Coolant (-40 to 120), Y: cycles (0 to 500). | |||
<!-- section:iacPidMultTbl --> | <!-- section:iacPidMultTbl --> | ||
| Line 336: | Line 343: | ||
<!-- section:IdleTimingTargetErrorDialog --> | <!-- section:IdleTimingTargetErrorDialog --> | ||
= Open loop ignition idle timing (RPM-error) = | = Open loop ignition idle timing (RPM-error) = | ||
<!-- curve:idleTimingTargetErrorCRV --> | |||
== Idle Target Error == | |||
2D curve — X: Delta (-500 to 500), Y: Deg (-30 to 30). | |||
<!-- section:idleVeTableTbl --> | <!-- section:idleVeTableTbl --> | ||
| Line 359: | Line 370: | ||
<!-- field:rotationalIdlePinMode --> | <!-- field:rotationalIdlePinMode --> | ||
==== Pin Mode ==== | ==== Pin Mode ==== | ||
* '''$pin_input_mode_e_enum''' | * '''$pin_input_mode_e_enum''' | ||
| Line 486: | Line 496: | ||
<!-- field:transmissionIdleUpPinMode --> | <!-- field:transmissionIdleUpPinMode --> | ||
==== Transmission idle up switch mode ==== | ==== Transmission idle up switch mode ==== | ||
* '''$pin_input_mode_e_enum''' | * '''$pin_input_mode_e_enum''' | ||
Revision as of 22:14, 6 June 2026
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.