From 48387cf14cb071dcddfa5d2690437d6d6cf0ccc7 Mon Sep 17 00:00:00 2001 From: Josh Stewart Date: Tue, 17 Mar 2020 10:39:35 +1100 Subject: [PATCH] Change ini to move individual injector timing to an RPM based curve --- reference/speeduino.ini | 43 ++++++++++++++++++++++------------------- 1 file changed, 23 insertions(+), 20 deletions(-) diff --git a/reference/speeduino.ini b/reference/speeduino.ini index 7c3e4bf3..016f7c92 100644 --- a/reference/speeduino.ini +++ b/reference/speeduino.ini @@ -254,10 +254,7 @@ page = 1 ignAlgorithm = bits, U08, 26, [4:6], $loadSourceNames indInjAng = bits, U08, 26, [7:7], "Disabled", "Enabled" injOpen = scalar, U08, 27, "ms", 0.1, 0.0, 0.1, 25.5, 1 - inj1Ang = scalar, U16, 28, "deg", 1.0, 0.0, 0.0, 360, 0 - inj2Ang = scalar, U16, 30, "deg", 1.0, 0.0, 0.0, 360, 0 - inj3Ang = scalar, U16, 32, "deg", 1.0, 0.0, 0.0, 360, 0 - inj4Ang = scalar, U16, 34, "deg", 1.0, 0.0, 0.0, 360, 0 + injAng = array, U16, 28, [4], "deg", 1.0, 0.0, 0.0, 720, 0 ; Config1 mapSample = bits, U08, 36, [0:1], "Instantaneous", "Cycle Average", "Cycle Minimum", "Event Average" @@ -336,7 +333,8 @@ page = 1 idleAdvRPM = scalar, U08, 93, "rpm", 100, 0.0, 100, 25500, 0 idleAdvTPS = scalar, U08, 94, "%", 1, 0, 0, 120, 0 - unused2-95 = array, U08, 95, [33], "%", 1.0, 0.0, 0.0, 255, 0 + injAngRPM = array, U08, 95, [4], "RPM" 100, 0.0, 1000, 10000, 0 + unused2-95 = array, U08, 99, [29], "%", 1.0, 0.0, 0.0, 255, 0 ;Page 2 is the fuel map and axis bins only page = 2 @@ -1095,11 +1093,8 @@ page = 11 defaultValue = useResync, 1 defaultValue = trigPatternSec, 0 defaultValue = sparkMode, 0 - defaultValue = indInjAng, 0 - defaultValue = inj1Ang, 355 - defaultValue = inj2Ang, 355 - defaultValue = inj3Ang, 355 - defaultValue = inj4Ang, 355 + defaultValue = injAng, 355 355 355 355 + defaultValue = injAngRPM, 500 2000 4500 6500 defaultValue = nInjectors, 4 defaultValue = dutyLim, 80 defaultValue = mapMin, 10 @@ -1788,18 +1783,18 @@ menuDialog = main panel = fuelTable2Dialog_north, North panel = fuelTable2Dialog_south, South, { fuel2Mode } - dialog = injChars, "Injector Characteristics" + dialog = injAngleDialog, "Injector close angles" + panel = injector_timing_curve + + dialog = injOpenTimeDialog, "Injector opening time" field = "Injector Open Time", injOpen - field = "Injector close angle" - field = "", inj1Ang, { indInjAng == 0 } - field = "Individual channel setting", indInjAng - field = "Channel 1", inj1Ang, { indInjAng } - field = "Channel 2", inj2Ang, { nCylinders > 1 && indInjAng } - field = "Channel 3", inj3Ang, { indInjAng && (nCylinders > 4 || nCylinders == 3 || ((nCylinders == 4) && (injLayout == 3))) } - field = "Channel 4", inj4Ang, { indInjAng && (nCylinders > 6 || ((nCylinders == 4) && (injLayout == 3))) } - field = "Injector Duty Limit", dutyLim - panel = injector_voltage_curve field = "Battery Voltage Correction Mode", battVCorMode + panel = injector_voltage_curve + + dialog = injChars, "Injector Characteristics" + field = "Injector Duty Limit", dutyLim + panel = injOpenTimeDialog + panel = injAngleDialog dialog = egoControl, "" topicHelp = "http://speeduino.com/wiki/index.php/AFR/O2" @@ -2922,6 +2917,14 @@ cmdtestspk450dc = "E\x03\x0C" xBins = brvBins, batteryVoltage yBins = injBatRates +; Curve for injector timign vs RPM + curve = injector_timing_curve, "Injector timing" + columnLabel = "RPM", "Injector" + xAxis = 0, 7000, 6 + yAxis = 0, 720, 5 + xBins = injAngRPM, rpm + yBins = injAng + ; Correction curve for Air Density vs temperature curve = airdensity_curve, "IAT density correction" columnLabel = "Air Temperature", "Fuel Amount"