Add true cranking enrichment (As opposed to ASE)

This commit is contained in:
Josh Stewart 2015-02-07 08:29:51 +11:00
parent bd2fe2e660
commit 8523472e42
3 changed files with 24 additions and 11 deletions

View File

@ -22,6 +22,8 @@ byte correctionsTotal()
if (currentStatus.wueCorrection != 100) { sumCorrections = div((sumCorrections * currentStatus.wueCorrection), 100).quot; }
result = correctionASE();
if (result != 100) { sumCorrections = div((sumCorrections * result), 100).quot; }
result = correctionCranking();
if (result != 100) { sumCorrections = div((sumCorrections * result), 100).quot; }
currentStatus.TAEamount = correctionAccel();
if (currentStatus.TAEamount != 100) { sumCorrections = div((sumCorrections * currentStatus.TAEamount), 100).quot; }
result = correctionFloodClear();
@ -44,6 +46,16 @@ byte correctionWUE()
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
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()
{
if (currentStatus.runSecs < configPage1.aseCount)
//Two checks are requiredL:
//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.
return 100 + configPage1.asePct;
@ -60,8 +74,6 @@ byte correctionASE()
BIT_CLEAR(currentStatus.engine, BIT_ENGINE_ASE); //Mark ASE as inactive.
return 100;
}
/*

View File

@ -89,7 +89,10 @@ struct config1 {
byte asePct; //Afterstart enrichment (%)
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 taeBins[4]; //TPS based acceleration enrichment bin 1 of 4 (ms)
byte crankingPct; //Cranking enrichment
byte unused95;
byte unused96;
byte unused97;
byte taeColdA;
byte tpsThresh;
byte taeTime;

View File

@ -90,7 +90,7 @@ page = 1
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
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
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
@ -427,8 +427,7 @@ page = 3
field = "Pulsewidth at -40°C", crankCold
field = "Pulsewidth at 77°C", crankHot
field = ""
field = "Cranking Enrichment %", asePct
field = "Number of seconds to run", aseCount
field = "Cranking Enrichment %", crankingPct
#else
field = "Cranking RPM (Max)", crankRPM
field = "Flood Clear level", tpsflood
@ -437,8 +436,7 @@ page = 3
field = "Pulsewidth at -40°F", crankCold
field = "Pulsewidth at 170°F", crankHot
field = ""
field = "Cranking Enrichment %", asePct
field = "Number of seconds to run", aseCount
field = "Cranking Enrichment %", crankingPct
#endif
dialog = aseSettings, "Afterstart Enrichment"
@ -775,7 +773,7 @@ help = helpEnrichments, "Enrichments Help"
indicator = { mapaccaen }, "MAP Accel", "MAP Accel", 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 = { tps > tpsflood }, "FLOOD OFF", "FLOOD CLEAR", white, black, red, black
indicator = { (tps > tpsflood) && (rpm < crankRPM) }, "FLOOD OFF", "FLOOD CLEAR", white, black, red, black
;-------------------------------------------------------------------------------