41 lines
1.8 KiB
Plaintext
41 lines
1.8 KiB
Plaintext
|
|
struct_no_prefix idle_state_s
|
|
custom idle_state_e 4 bits, S32, @OFFSET@, [0:2], "not important"
|
|
idle_state_e idleState
|
|
|
|
custom percent_t 4 scalar, F32, @OFFSET@, "", 1, 0, 0, 100, 2
|
|
|
|
percent_t currentIdlePosition;"idle: current position\nthat's current position with CLT and IAT corrections"
|
|
percent_t baseIdlePosition;"idle: base value\ncurrent position without adjustments (iacByTpsTaper, afterCrankingIACtaperDuration)"
|
|
percent_t iacByTpsTaper;idle: iacByTpsTaper portion
|
|
int throttlePedalUpState;idle: throttlePedalUpState\ntrue in IDLE throttle pedal state, false if driver is touching the pedal\ntodo: better name for this field?
|
|
|
|
bit mightResetPid;idle: mightResetPid\nThe idea of 'mightResetPid' is to reset PID only once - each time when TPS > idlePidDeactivationTpsThreshold.\nThe throttle pedal can be pressed for a long time, making the PID data obsolete (thus the reset is required).\nWe set 'mightResetPid' to true only if PID was actually used (i.e. idlePid.getOutput() was called) to save some CPU resources.\nSee automaticIdleController().
|
|
|
|
bit shouldResetPid;idle: shouldResetPid
|
|
bit wasResetPid;idle: wasResetPid\nThis is needed to slowly turn on the PID back after it was reset.
|
|
bit mustResetPid;idle: mustResetPid\nThis is used when the PID configuration is changed, to guarantee the reset
|
|
bit isCranking;idle: cranking
|
|
bit isIacTableForCoasting
|
|
bit notIdling
|
|
bit needReset;idle: reset
|
|
bit isInDeadZone;idle: dead zone
|
|
bit isBlipping
|
|
bit useClosedLoop
|
|
bit badTps
|
|
bit looksLikeRunning
|
|
bit looksLikeCoasting
|
|
bit looksLikeCrankToIdle
|
|
bit isVerboseIAC
|
|
bit isIdleCoasting;idle: coasting
|
|
|
|
int targetRpmByClt;idle: target by CLT
|
|
int targetRpmAcBump;idle: A/C bump
|
|
|
|
percent_t iacByRpmTaper;idle: iacByRpmTaper portion
|
|
|
|
percent_t luaAdd;idle: Lua Adder
|
|
|
|
! end of idle_state_s structure definition
|
|
end_struct
|