Add true cranking enrichment (As opposed to ASE)
This commit is contained in:
parent
bd2fe2e660
commit
8523472e42
|
@ -22,6 +22,8 @@ byte correctionsTotal()
|
||||||
if (currentStatus.wueCorrection != 100) { sumCorrections = div((sumCorrections * currentStatus.wueCorrection), 100).quot; }
|
if (currentStatus.wueCorrection != 100) { sumCorrections = div((sumCorrections * currentStatus.wueCorrection), 100).quot; }
|
||||||
result = correctionASE();
|
result = correctionASE();
|
||||||
if (result != 100) { sumCorrections = div((sumCorrections * result), 100).quot; }
|
if (result != 100) { sumCorrections = div((sumCorrections * result), 100).quot; }
|
||||||
|
result = correctionCranking();
|
||||||
|
if (result != 100) { sumCorrections = div((sumCorrections * result), 100).quot; }
|
||||||
currentStatus.TAEamount = correctionAccel();
|
currentStatus.TAEamount = correctionAccel();
|
||||||
if (currentStatus.TAEamount != 100) { sumCorrections = div((sumCorrections * currentStatus.TAEamount), 100).quot; }
|
if (currentStatus.TAEamount != 100) { sumCorrections = div((sumCorrections * currentStatus.TAEamount), 100).quot; }
|
||||||
result = correctionFloodClear();
|
result = correctionFloodClear();
|
||||||
|
@ -44,6 +46,16 @@ byte correctionWUE()
|
||||||
return table2D_getValue(WUETable, currentStatus.coolant + CALIBRATION_TEMPERATURE_OFFSET);
|
return table2D_getValue(WUETable, currentStatus.coolant + CALIBRATION_TEMPERATURE_OFFSET);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
Cranking Enrichment
|
||||||
|
Additional fuel % to be added when the engine is cranking
|
||||||
|
*/
|
||||||
|
byte correctionCranking()
|
||||||
|
{
|
||||||
|
if ( BIT_CHECK(currentStatus.engine, BIT_ENGINE_CRANK) ) { return 100 + configPage1.crankingPct; }
|
||||||
|
else { return 100; }
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
After Start Enrichment
|
After Start Enrichment
|
||||||
This is a short period (Usually <20 seconds) immediately after the engine first fires (But not when cranking)
|
This is a short period (Usually <20 seconds) immediately after the engine first fires (But not when cranking)
|
||||||
|
@ -51,8 +63,10 @@ where an additional amount of fuel is added (Over and above the WUE amount)
|
||||||
*/
|
*/
|
||||||
byte correctionASE()
|
byte correctionASE()
|
||||||
{
|
{
|
||||||
|
//Two checks are requiredL:
|
||||||
if (currentStatus.runSecs < configPage1.aseCount)
|
//1) Is the negine run time less than the configured ase time
|
||||||
|
//2) Make sure we're not still cranking
|
||||||
|
if ( (currentStatus.runSecs < configPage1.aseCount) && !(BIT_CHECK(currentStatus.engine, BIT_ENGINE_CRANK)) )
|
||||||
{
|
{
|
||||||
BIT_SET(currentStatus.engine, BIT_ENGINE_ASE); //Mark ASE as active.
|
BIT_SET(currentStatus.engine, BIT_ENGINE_ASE); //Mark ASE as active.
|
||||||
return 100 + configPage1.asePct;
|
return 100 + configPage1.asePct;
|
||||||
|
@ -60,8 +74,6 @@ byte correctionASE()
|
||||||
|
|
||||||
BIT_CLEAR(currentStatus.engine, BIT_ENGINE_ASE); //Mark ASE as inactive.
|
BIT_CLEAR(currentStatus.engine, BIT_ENGINE_ASE); //Mark ASE as inactive.
|
||||||
return 100;
|
return 100;
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
|
@ -89,7 +89,10 @@ struct config1 {
|
||||||
byte asePct; //Afterstart enrichment (%)
|
byte asePct; //Afterstart enrichment (%)
|
||||||
byte aseCount; //Afterstart enrichment cycles. This is the number of ignition cycles that the afterstart enrichment % lasts for
|
byte aseCount; //Afterstart enrichment cycles. This is the number of ignition cycles that the afterstart enrichment % lasts for
|
||||||
byte wueValues[10]; //Warm up enrichment array (10 bytes)
|
byte wueValues[10]; //Warm up enrichment array (10 bytes)
|
||||||
byte taeBins[4]; //TPS based acceleration enrichment bin 1 of 4 (ms)
|
byte crankingPct; //Cranking enrichment
|
||||||
|
byte unused95;
|
||||||
|
byte unused96;
|
||||||
|
byte unused97;
|
||||||
byte taeColdA;
|
byte taeColdA;
|
||||||
byte tpsThresh;
|
byte tpsThresh;
|
||||||
byte taeTime;
|
byte taeTime;
|
||||||
|
|
|
@ -90,7 +90,7 @@ page = 1
|
||||||
asePct = scalar, U08, 82, "%", 1.0, 0.0, 0.0, 95.0, 0
|
asePct = scalar, U08, 82, "%", 1.0, 0.0, 0.0, 95.0, 0
|
||||||
aseCount = scalar, U08, 83, "s", 1.0, 0.0, 0.0, 255, 0
|
aseCount = scalar, U08, 83, "s", 1.0, 0.0, 0.0, 255, 0
|
||||||
wueBins = array, U08, 84, [ 10], "%", 1.0, 0.0, 0.0, 255, 0
|
wueBins = array, U08, 84, [ 10], "%", 1.0, 0.0, 0.0, 255, 0
|
||||||
unused94 = scalar, U08, 94, "ms", 0.1, 0.0, 0.0, 25.5, 1
|
crankingPct= scalar, U08, 94, "%", 1.0, 0.0, 0.0, 255, 0
|
||||||
unused95 = scalar, U08, 95, "ms", 0.1, 0.0, 0.0, 25.5, 1
|
unused95 = scalar, U08, 95, "ms", 0.1, 0.0, 0.0, 25.5, 1
|
||||||
unused96 = scalar, U08, 96, "ms", 0.1, 0.0, 0.0, 25.5, 1
|
unused96 = scalar, U08, 96, "ms", 0.1, 0.0, 0.0, 25.5, 1
|
||||||
unused97 = scalar, U08, 97, "ms", 0.1, 0.0, 0.0, 25.5, 1
|
unused97 = scalar, U08, 97, "ms", 0.1, 0.0, 0.0, 25.5, 1
|
||||||
|
@ -427,8 +427,7 @@ page = 3
|
||||||
field = "Pulsewidth at -40°C", crankCold
|
field = "Pulsewidth at -40°C", crankCold
|
||||||
field = "Pulsewidth at 77°C", crankHot
|
field = "Pulsewidth at 77°C", crankHot
|
||||||
field = ""
|
field = ""
|
||||||
field = "Cranking Enrichment %", asePct
|
field = "Cranking Enrichment %", crankingPct
|
||||||
field = "Number of seconds to run", aseCount
|
|
||||||
#else
|
#else
|
||||||
field = "Cranking RPM (Max)", crankRPM
|
field = "Cranking RPM (Max)", crankRPM
|
||||||
field = "Flood Clear level", tpsflood
|
field = "Flood Clear level", tpsflood
|
||||||
|
@ -437,8 +436,7 @@ page = 3
|
||||||
field = "Pulsewidth at -40°F", crankCold
|
field = "Pulsewidth at -40°F", crankCold
|
||||||
field = "Pulsewidth at 170°F", crankHot
|
field = "Pulsewidth at 170°F", crankHot
|
||||||
field = ""
|
field = ""
|
||||||
field = "Cranking Enrichment %", asePct
|
field = "Cranking Enrichment %", crankingPct
|
||||||
field = "Number of seconds to run", aseCount
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
dialog = aseSettings, "Afterstart Enrichment"
|
dialog = aseSettings, "Afterstart Enrichment"
|
||||||
|
@ -775,7 +773,7 @@ help = helpEnrichments, "Enrichments Help"
|
||||||
indicator = { mapaccaen }, "MAP Accel", "MAP Accel", white, black, green, black
|
indicator = { mapaccaen }, "MAP Accel", "MAP Accel", white, black, green, black
|
||||||
indicator = { tpsaccden }, "TPS Decel", "TPS Decel", white, black, green, black
|
indicator = { tpsaccden }, "TPS Decel", "TPS Decel", white, black, green, black
|
||||||
indicator = { mapaccden }, "MAP Decel", "MAP Decel", white, black, green, black
|
indicator = { mapaccden }, "MAP Decel", "MAP Decel", white, black, green, black
|
||||||
indicator = { tps > tpsflood }, "FLOOD OFF", "FLOOD CLEAR", white, black, red, black
|
indicator = { (tps > tpsflood) && (rpm < crankRPM) }, "FLOOD OFF", "FLOOD CLEAR", white, black, red, black
|
||||||
;-------------------------------------------------------------------------------
|
;-------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue