diff --git a/reference/speeduino.ini b/reference/speeduino.ini index a43063cf..2dc406dd 100644 --- a/reference/speeduino.ini +++ b/reference/speeduino.ini @@ -49,6 +49,13 @@ mapwarn = scalar, U16, "kPa", 1, 0, 0, 30000, 0 mapdang = scalar, U16, "kPa", 1, 0, 0, 30000, 0 +#if LAMBDA + wueAFR = array, S16, [10], "Lambda", { 0.1 / stoich }, 0.000, -0.300, 0.300, 3 +#else + wueAFR = array, S16, [10], "AFR", 0.1, 0.0, -4.0, 4.0, 1 +#endif + wueRecommended = array, U08, [10], "%", 1.0, 0.0, 100, 255.0, 0 + idleUnits = bits, U08, [0:2], "None", "On/Off", "Duty Cycle", "Duty Cycle", "Steps", "Steps" @@ -1206,6 +1213,12 @@ page = 11 defaultValue = mapdang, 245 defaultValue = maphigh, 255 +#if LAMBDA + defaultValue = wueAFR, -0.136 -0.102 -0.082 -0.068 -0.054 -0.041 -0.027 -0.014 -0.007 0.000 +#else + defaultValue = wueAFR, -2.0 -1.5 -1.2 -1.0 -0.8 -0.6 -0.4 -0.2 -0.1 0.0 +#endif + [Menu] ;---------------------------------------------------------------------------- @@ -3035,14 +3048,6 @@ cmdtestspk450dc = "E\x03\x0C" gauge = cltGauge size = 50, 250 -; Warmup enrichment VEAL AFR adjustment curve (Not currently working) - ;curve = warmup_afr_curve, "AFR Target Temperature Adustment" - ; columnLabel = "Coolant Temp", "AFR Offset %" - ; xAxis = -40, 210, 9 - ; yAxis = 0, 240, 6 - ; xBins = wueAFRBins, coolant - ; yBins = wueAFRRates - ; Flex fuel correction curves curve = flex_fuel_curve, "Flex Fuel Adjustments" columnLabel = "Ethanol", "Fuel" @@ -3085,6 +3090,29 @@ cmdtestspk450dc = "E\x03\x0C" yBins = knock_window_dur size = 400, 200 +; Warmup enrichment VEAL AFR adjustment curves + curve = warmup_afr_curve, "Target Adjustment" + columnLabel = "Coolant", "Offset" + xAxis = -40, 210, 9 + #if LAMBDA + yAxis = -0.3, 0.1, 5 + #else + yAxis = -4, 1, 5 + #endif + xBins = wueBins, coolant + yBins = wueAFR + + curve = warmup_analyzer_curve, "Warmup Enrichment" + columnLabel = "Coolant", "Current WUE", "Coolant", "Recommended WUE" + xAxis = -40, 210, 9 + yAxis = 100, 255, 6 + xBins = wueBins, coolant + yBins = wueRates + yBins = wueRecommended + lineLabel = "Current WUE" + lineLabel = "Recommended WUE" + + [TableEditor] ; table_id, map3d_id, "title", page table = veTable1Tbl, veTable1Map, "VE Table", 2 @@ -3245,6 +3273,7 @@ cmdtestspk450dc = "E\x03\x0C" boostTargetGauge = boostTarget, "Target Boost", "kPa", 0, {maphigh}, 0, 20, {mapwarn}, {mapdang}, 0, 0 boostDutyGauge = boostDuty, "Boost Duty Cycle", "%", 0, 100, -1, -1, 101, 110, 1, 1 afrTargetGauge = afrTarget, "Target AFR", "", 7, 25, 12, 13, 15, 16, 2, 2 + lambdaTargetGauge = lambdaTarget, "Target Lambda", "", 0.5, 1.5, 0.82, 0.89, 1.02, 1.09, 3, 3 VVTdutyCycleGauge = vvtDuty, "VVT Duty Cycle", "%", 0, 100, -1, -1, 101, 110, 1, 1 IdleTargetGauge = CLIdleTarget, "Idle Target RPM", "RPM", 0, 2000, 300, 600, 1500, 1700, 0, 0 idleLoadGauge = idleLoad, "IAC Value", "%/Steps", 0, {maphigh}, 0, 20, {mapwarn}, {mapdang}, 0, 0 @@ -3485,6 +3514,7 @@ cmdtestspk450dc = "E\x03\x0C" boostCutOut = { boostCutFuel || boostCutSpark } lambda = { afr / stoich } + lambdaTarget = { afrTarget / stoich } MAPxRPM = { rpm * map } loopsPerRev = { loopsPerSecond / (rpm / 60) } req_fuel = { reqFuel } @@ -3553,6 +3583,7 @@ cmdtestspk450dc = "E\x03\x0C" entry = VE2, "VE2", int, "%d" entry = pulseWidth, "PW", float, "%.1f" entry = afrTarget, "AFR Target", float, "%.3f" + entry = lambdaTarget, "Lambda Target",float, "%.3f" entry = pulseWidth, "PW2", float, "%.1f" entry = dutyCycle, "DutyCycle1", float, "%.1f" entry = dutyCycle, "DutyCycle2", float, "%.1f" @@ -3649,8 +3680,12 @@ cmdtestspk450dc = "E\x03\x0C" [VeAnalyze] ; tableName, lambdaTargetTableName, lambdaChannel, egoCorrectionChannel, activeCondition +#if LAMBDA + veAnalyzeMap = veTable1Tbl, afrTable1Tbl, lambda, egoCorrection +#else veAnalyzeMap = veTable1Tbl, afrTable1Tbl, afr, egoCorrection - lambdaTargetTables = afrTable1Tbl, afrTSCustom, +#endif + lambdaTargetTables = afrTable1Tbl, afrTSCustom filter = std_xAxisMin ; Auto build with appropriate axis channels ;filter = minRPMFilter, "Minimum RPM", rpm, < , 500, , true filter = std_xAxisMax ; Auto build with appropriate axis channels @@ -3668,18 +3703,19 @@ cmdtestspk450dc = "E\x03\x0C" filter = overrunFilter, "Overrun" , pulseWidth, = , 0, , false filter = std_Custom ; Standard Custom Expression Filter. -;------------- WUE VEAL not currently working ---------------- -;[WueAnalyze] - ; tableName, lambdaTargetTableName, lambdaChannel, egoCorrectionChannel, activeCondition - ; wueAnalyzeMap = veTable1Tbl, afrTable1Tbl, afr, egoCorrection -; wueAnalyzeMap = afrTable1Tbl, warmup_afr_curve, warmup_curve, afr, coolant, warmupEnrich ;warmup_afr_curve, -; lambdaTargetTables = afrTable1Tbl, afrTSCustom, - ;filter = std_xAxisMin ; Auto build with appropriate axis channels - ;filter = minRPMFilter, "Minimum RPM", rpm, < , 500, , true - ;filter = std_xAxisMax ; Auto build with appropriate axis channels - ;filter = std_yAxisMin ; Auto build with appropriate axis channels - ;filter = std_yAxisMax ; Auto build with appropriate axis channels - ;filter = std_DeadLambda ; Auto build -; filter = maxTPSFilter, "High Throttle", tps, < , 15, , true -;------------- WUE VEAL not currently working ---------------- +[WueAnalyze] +; wueCurveName, afrTempCompensationCurve, lambdaTargetTableName, lambdaChannel, coolantTempChannel, wueChannel, egoCorrectionChannel, activeCondition +#if LAMBDA + wueAnalyzeMap = warmup_analyzer_curve, warmup_afr_curve, afrTable1Tbl, lambda, coolant, warmupEnrich, egoCorrection +#else + wueAnalyzeMap = warmup_analyzer_curve, warmup_afr_curve, afrTable1Tbl, afr, coolant, warmupEnrich, egoCorrection +#endif + lambdaTargetTables = afrTable1Tbl, afrTSCustom + filter = std_DeadLambda ; Auto build + filter = accelFilter, "Accel Flag", engine, &, 16, false + filter = aseFilter, "ASE Flag", engine, &, 4, false + filter = overrunFilter, "Overrun", pulseWidth, =, 0, false + filter = maxTPS, "Max TPS", throttle, >, 15, true + filter = minRPM, "Min RPM", rpm, <, 300, true + filter = std_Custom ; Standard Custom Expression Filter.