simplify/clarify cranking UI (#2778)

* simplify/clarify cranking

* dwell

* ign

* tweak idle
This commit is contained in:
Matthew Kennedy 2021-05-31 01:09:13 -07:00 committed by GitHub
parent e7984e3250
commit 562f82cacc
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 25 additions and 24 deletions

View File

@ -851,7 +851,7 @@ bit is_enabled_spi_2
bit vvtCamSensorUseRise;+Use rise or fall signal front\nget vvtCamSensorUseRise
bit measureMapOnlyInOneCylinder;+Useful for individual intakes
bit stepperForceParkingEveryRestart
bit isFasterEngineSpinUpEnabled;+Smarter cranking logic.\nSee also startOfCrankingPrimingPulse
bit isFasterEngineSpinUpEnabled;+If enabled, try to fire the engine before a full engine cycle has been completed using RPM estimated from the last 90 degrees of engine rotation. As soon as the trigger syncs plus 90 degrees rotation, fuel and ignition events will occur. If disabled, worst case may require up to 4 full crank rotations before any events are scheduled.
bit coastingFuelCutEnabled;+This setting disables fuel injection while the engine is in overrun, this is useful as a fuel saving measure and to prevent back firing.
bit useIacTableForCoasting;+This setting allows the ECU to open the IAC during overrun conditions to help reduce engine breaking, this can be helpful for large engines in light weight cars. Used in Auto-PID Idle mode.
bit useNoiselessTriggerDecoder
@ -1108,7 +1108,7 @@ custom idle_mode_e 4 bits, U32, @OFFSET@, [0:0], "Automatic", "Manual"
bit unused1476b3
bit unusedBit4_1476
bit isMapAveragingEnabled
bit overrideCrankingIacSetting;+This setting overrides the normal multiplication values that have been set for the idle air control valve during cranking. If this setting is enabled the "IAC multiplier" table in the Cranking settings tab needs to be adjusted appropriately or potentially no IAC opening will occur.
bit overrideCrankingIacSetting;+If enabled, use separate temperature multiplier table for cranking idle position.\nIf disabled, use normal running multiplier table applied to the cranking base position.
bit useSeparateAdvanceForIdle;+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 retard at low idle speeds will prevent stalling and extra advance at high idle speeds can help reduce engine power and slow the idle speed.
bit unused1476b8
bit isWaveAnalyzerEnabled
@ -1119,8 +1119,8 @@ custom idle_mode_e 4 bits, U32, @OFFSET@, [0:0], "Automatic", "Manual"
bit useOnlyRisingEdgeForTrigger;+VR sensors are only precise on rising front\nenable trigger_only_front
bit twoWireBatchIgnition;+This is needed if your coils are individually wired (COP) and you wish to use batch ignition (Wasted Spark).
bit useFixedBaroCorrFromMap
bit useSeparateAdvanceForCranking,"Table (untapered)","Tapered Constant";+This activates a separate advance table for cranking conditions, this allows cranking advance to be RPM dependant.
bit useAdvanceCorrectionsForCranking;+This enables the various ignition corrections during cranking (IAT, CLT, FSIO and PID idle).
bit useSeparateAdvanceForCranking,"Table","Fixed (auto taper)";+In Constant mode, timing is automatically tapered to running as RPM increases.\nIn Table mode, the "Cranking ignition advance" table is used directly.
bit useAdvanceCorrectionsForCranking;+This enables the various ignition corrections during cranking (IAT, CLT, FSIO and PID idle).\nYou probably don't need this.
bit unused1476b19
bit unused1476b20
bit useIacPidMultTable;+This flag allows to use a special 'PID Multiplier' table (0.0-1.0) to compensate for nonlinear nature of IAC-RPM controller

View File

@ -1444,6 +1444,8 @@ menuDialog = main
menu = "&Cranking"
subMenu = crankingDialog, "Cranking settings"
subMenu = postCrankingEnrichment, "After-start enrichment"
subMenu = primingFuelPulsePanel, "Priming pulse"
subMenu = std_separator
subMenu = crankingCltCurve, "Fuel CLT multiplier"
@ -1451,10 +1453,10 @@ menuDialog = main
subMenu = crankingTpsCurve, "Fuel TPS multiplier"
subMenu = std_separator
subMenu = crankingAdvanceCurve, "Ignition advance", 0, {useSeparateAdvanceForCranking == 1}
subMenu = crankingAdvanceCurve, "Cranking ignition advance", 0, {useSeparateAdvanceForCranking == 1}
subMenu = std_separator
subMenu = cltCrankingCurve, "IAC CLT multiplier", 0, {overrideCrankingIacSetting == 1}
subMenu = cltCrankingCurve, "Cranking IAC CLT multiplier", 0, {overrideCrankingIacSetting == 1}
menu = "&Idle"
subMenu = idleSettings, "Idle settings"
@ -3041,22 +3043,17 @@ cmd_set_engine_type_default = "@@TS_IO_TEST_COMMAND_char@@\x00\x31\x00\x00"
field = "Injection mode", crankingInjectionMode
field = "Fuel Source For Cranking", useRunningMathForCranking
field = "Base fuel mass", cranking_baseFuel, {useRunningMathForCranking == 0}
panel = primingFuelPulsePanel
panel = postCrankingEnrichment
dialog = crankingIAC, "IAC"
field = "Cranking IAC position", crankingIACposition
field = "After cranking IAC taper duration", afterCrankingIACtaperDuration
field = "Override IAC multiplier for cranking", overrideCrankingIacSetting
dialog = crankingIAC, "Idle air valve"
field = "Cranking base IAC position", crankingIACposition
field = "After cranking IAC taper duration",afterCrankingIACtaperDuration
field = "Override cranking IAC CLT multiplier", overrideCrankingIacSetting
dialog = crankingIgnition, "Ignition"
field = "Timing Advance mode", useSeparateAdvanceForCranking
field = "Advance", crankingTimingAngle, {useSeparateAdvanceForCranking == 0}
field = "Use Advance Corrections for cranking", useAdvanceCorrectionsForCranking
field = "Use fixed cranking dwell", useConstantDwellDuringCranking
field = "Fixed cranking advance", crankingTimingAngle, {useSeparateAdvanceForCranking == 0}
field = "Fixed Cranking Dwell", ignitionDwellForCrankingMs, {useConstantDwellDuringCranking == 1}
field = "Cranking Dwell Angle", crankingChargeAngle, {useConstantDwellDuringCranking == 0}
dialog = postCrankingEnrichment, "After start enrichment"
field = "Post-Cranking factor", postCrankingFactor
field = "Duration", postCrankingDurationSec
@ -3064,17 +3061,21 @@ cmd_set_engine_type_default = "@@TS_IO_TEST_COMMAND_char@@\x00\x31\x00\x00"
dialog = primingFuelPulsePanel, "Priming fuel pulse"
field = "Duration at -40C degrees", startOfCrankingPrimingPulse
field = "Falloff temperature", primeInjFalloffTemperature
dialog = crankingAdv, "Advanced"
field = "Enable flood clear", isCylinderCleanupEnabled
field = "Enable faster engine spin-up", isFasterEngineSpinUpEnabled
field = "Use Advance Corrections for cranking", useAdvanceCorrectionsForCranking
field = "Use fixed cranking dwell", useConstantDwellDuringCranking
field = "Cranking Dwell Angle", crankingChargeAngle, {useConstantDwellDuringCranking == 0}
; Cranking->Cranking Settings
dialog = crankingDialog, "Cranking Settings"
field = "Cranking RPM limit", cranking_rpm
field = "Enable flood clear", isCylinderCleanupEnabled
field = ""
field = "Enable faster engine spin-up", isFasterEngineSpinUpEnabled
panel = crankingFuel
panel = crankingIgnition
panel = crankingIAC
panel = crankingAdv
dialog = EngineLoadAccelPanel, "Engine Load (alpha version)"
field = "Length", engineLoadAccelLength