Increase DFCO Hyster range to 0-500.

Fixes #1100
This commit is contained in:
Josh Stewart 2023-10-05 23:02:15 +11:00
parent 6c16f552a5
commit f0b6ba030d
4 changed files with 10 additions and 5 deletions

View File

@ -567,7 +567,7 @@ page = 4
iatRetRates = array, U08, 54, [ 6], "deg", 1.0, 0.0, 0.00, 30.0, 0
;Deceleration Fuel Cut Off (DFCO)
dfcoRPM = scalar, U08, 60, "RPM", 10.0, 0.0, 100, 2550, 0
dfcoHyster = scalar, U08, 61, "RPM", 1.0, 0.0, 100, 255.0, 0
dfcoHyster = scalar, U08, 61, "RPM", 2.0, 0.0, 100, 500.0, 0
dfcoTPSThresh= scalar, U08, 62, "%", 0.5, 0.0, 0, 100.0, 1
;Cranking ignition bypass
ignBypassEnable = bits, U08, 63, [0:0], "Off", "On"
@ -1656,10 +1656,10 @@ page = 15
defaultValue = battVCorMode, 1
defaultValue = idleAdvEnabled, 0 ;Idle advance control turned off
defaultValue = aseTaperTime, 0.0
defaultValue = dfcoDelay, 0.1
defaultValue = idleTaperTime, 1.0
defaultValue = dfcoDelay, 0.1
defaultValue = dfcoMinCLT, 25
defaultValue = dfcoRPM, 1500
defaultValue = dfcoHyster, 200
defaultValue = crankingEnrichTaper, 0.1
defaultValue = boostCutEnabled, 1
defaultValue = primingDelay, 0.5
@ -1675,9 +1675,11 @@ page = 15
#if CELSIUS
defaultValue = vvtMinClt, 70
defaultValue = fuelTempBins, 0 15 30 45 60 75
defaultValue = dfcoMinCLT, 70
#else
defaultValue = vvtMinClt, 160
defaultValue = fuelTempBins, 32 59 86 113 140 157
defaultValue = dfcoMinCLT, 158
#endif
defaultValue = vvtDelay, 60
defaultValue = fuelTempValues, 100 100 100 100 100 100

View File

@ -554,7 +554,7 @@ bool correctionDFCO(void)
}
else
{
if ( (currentStatus.TPS < configPage4.dfcoTPSThresh) && (currentStatus.coolant >= (int)(configPage2.dfcoMinCLT - CALIBRATION_TEMPERATURE_OFFSET)) && ( currentStatus.RPM > (unsigned int)( (configPage4.dfcoRPM * 10) + configPage4.dfcoHyster) ) )
if ( (currentStatus.TPS < configPage4.dfcoTPSThresh) && (currentStatus.coolant >= (int)(configPage2.dfcoMinCLT - CALIBRATION_TEMPERATURE_OFFSET)) && ( currentStatus.RPM > (unsigned int)( (configPage4.dfcoRPM * 10) + (configPage4.dfcoHyster * 2)) ) )
{
if( dfcoTaper < configPage2.dfcoDelay )
{

View File

@ -717,6 +717,9 @@ void doUpdates(void)
configPage15.rollingProtCutPercent[2] = 80;
configPage15.rollingProtCutPercent[3] = 95;
//DFCO Hyster was mlutipled by 2 to allow a range of 0-500. Existing values must be halved
configPage4.dfcoHyster = configPage4.dfcoHyster / 2;
writeAllConfig();
storeEEPROMVersion(22);
}

View File

@ -133,7 +133,7 @@ void setup_DFCO_on()
currentStatus.coolant = 80;
configPage4.dfcoRPM = 150; //DFCO enable RPM = 1500
configPage4.dfcoTPSThresh = 1;
configPage4.dfcoHyster = 50;
configPage4.dfcoHyster = 25;
configPage2.dfcoMinCLT = 40; //Actually 0 with offset
configPage2.dfcoDelay = 10;