Fixed acceleration enrichment from performing lookup on wrong value. This enrichment is now confirmed working

This commit is contained in:
Josh Stewart 2014-05-07 22:55:15 +10:00
parent c07d0ebda7
commit 5b9ba4afd3
3 changed files with 49 additions and 45 deletions

View File

@ -39,10 +39,11 @@ Calculates the % change of the throttle over time (%/second) and performs a look
byte correctionAccel()
{
int rateOfChange = (1000000 / (currentLoopTime - previousLoopTime)) * (currentStatus.TPS - currentStatus.TPSlast); //This is the % per second that the TPS has moved
currentStatus.tpsDOT = rateOfChange / 10;
if (rateOfChange > configPage1.tpsThresh)
{
return 100 + table2D_getValue(taeTable, rateOfChange);
return 100 + table2D_getValue(taeTable, currentStatus.tpsDOT);
}
return 100;

View File

@ -38,6 +38,7 @@ struct statuses {
byte TPS; //The current TPS reading (0% - 100%)
byte TPSlast; //The previous TPS reading
byte tpsADC; //0-255 byte representation of the TPS
byte tpsDOT;
byte VE;
byte O2;
byte advance;

View File

@ -184,6 +184,8 @@
IdleDelayTime = scalar, U08, 90, "sec", 1, 0, 0, 5, 0
StgCycles = scalar, U08, 91, "cycles", 1, 0, 0, 255, 0
; name = array, type, offset, shape, units, scale, translate, lo, hi, digits
; name = scalar, type, offset, units, scale, translate, lo, hi, digits
;Dwell control
;running dwell variable railed to 8 - who needs more than 8ms?
dwellcont = bits, U08, 92, [1:1], "Fixed duty*^", "Dwell control"
@ -192,18 +194,18 @@
numteeth = scalar, U08, 95, "teeth", 1.0, 0.0, 0.0, 255, 0
onetwo = scalar, U08, 96, "teeth", 1.0, 0.0, 0.0, 255, 0
crankRPM = scalar, U08, 97, "rpm", 100.0, 0.0, 100, 1000, 0
crankRPM = scalar, U08, 97, "rpm", 100, 0.0, 100, 1000, 0
tpsflood = scalar, U08, 98, "raw", 1.0, 0.0, 0.0, 255.0, 0
;Rev Limits
SoftRevLim = scalar, U08, 99, "rpm", 100.0, 0.0, 100, 25500, 0
SoftRevLim = scalar, U08, 99, "rpm", 100, 0.0, 100, 25500, 0
SoftLimRetard = scalar, U08, 100, "deg", 0.352, -28.4, -10, 80, 0
SoftLimMax = scalar, U08, 101, "s", 0.1, 0.0, 0.0, 25.5, 1
HardRevLim = scalar, U08, 102, "rpm", 100, 0.0, 100, 25500, 0
;TPS based acceleration enrichment
taeBins = array, U08, 103, [ 4], "%", 1, 0.00000, 0.00, 255, 0
taeRates = array, U08, 107, [ 4], "%/s", 1. 0000, 0.00000, 0.00, 255.0, 1 ; 4 bytes
taeBins = array, U08, 103, [ 4], "%/s", 10.0, 0.00000, 0.00, 2550.0, 0
taeRates = array, U08, 107, [ 4], "%", 1.0, 0.00000, 0.00, 255.0, 0 ; 4 bytes
wueRates = array, U08, 111, [10], "C", 1.0, 0.0, 100.0, 255.0, 0
unused121 = scalar, U08, 121, "none", 0, 0, 0, 0, 0
unused122 = scalar, U08, 122, "none", 0, 0, 0, 0, 0
@ -377,8 +379,8 @@
columnLabel = "TPSdot", "Added"
xAxis = 0, 1200, 6
yAxis = 0, 48, 4
xBins = taeRates, TPSdot
yBins = taeBins
xBins = taeBins, TPSdot
yBins = taeRates
;gauge = cltGauge
; curve = warmup_curve, "Warmup Enrichment Curve"
@ -745,7 +747,7 @@ help = helpEnrichments, "Enrichments Help"
veCurr = scalar, U08, 18, "%", 1.000, 0.000
blank1 = scalar, U08, 19 ; Raw inputs, as they come from MS.
blank2 = scalar, U08, 20
TPSdot = scalar, U08, 21, "%/s", 1.000, 0.000
TPSdot = scalar, U08, 21, "%/s", 0.100, 0.000
advance = scalar, U08, 22, "deg", 1.000, 0.000
tps = scalar, U08, 23, "%", 1.000, 0.000
loopsPerSecond = scalar, S16, 24, "loops", 1.000, 0.000