Auto-generated Default Tune

This commit is contained in:
GitHub git update Action 2024-03-17 15:46:51 +00:00
parent 1a1fcc9127
commit e82e6a66b0
44 changed files with 73671 additions and 0 deletions

View File

@ -0,0 +1,140 @@
# COUPE-BK1-comparing-against-current-COUPE-BK1-default
// canned tune https://rusefi.com/online/view.php?msq=1508
```
// default "true"
engineConfiguration->isForcedInduction = false;
// default -154.0
engineConfiguration->vvtOffsets[0] = -155;
// default 335.0
engineConfiguration->vvtOffsets[1] = 337;
// default 354.19
engineConfiguration->injector.flow = 440;
// default 0.0
engineConfiguration->cylinderBankSelect[0] = 1;
// default 0.0
engineConfiguration->cylinderBankSelect[1] = 1;
// default 0.0
engineConfiguration->cylinderBankSelect[2] = 1;
// default 0.0
engineConfiguration->cylinderBankSelect[3] = 1;
// default 0.0
engineConfiguration->cylinderBankSelect[4] = 1;
// default 0.0
engineConfiguration->cylinderBankSelect[5] = 1;
// default 0.0
engineConfiguration->cylinderBankSelect[6] = 1;
// default 0.0
engineConfiguration->cylinderBankSelect[7] = 1;
// default 0.0
engineConfiguration->cylinderBankSelect[8] = 1;
// default 0.0
engineConfiguration->cylinderBankSelect[9] = 1;
// default 0.0
engineConfiguration->cylinderBankSelect[10] = 1;
// default 0.0
engineConfiguration->cylinderBankSelect[11] = 1;
// default 98.0
engineConfiguration->tpsMin = 111;
// default 926.0
engineConfiguration->tpsMax = 923;
// default 891.0
engineConfiguration->tps1SecondaryMin = 874;
// default 69.0
engineConfiguration->tps1SecondaryMax = 63;
// default 300.0
engineConfiguration->idle.solenoidFrequency = 200;
// default "false"
engineConfiguration->stepperDcInvertedPins = true;
// default 15.0
engineConfiguration->etbIdleThrottleRange = 5;
// default 15.0
engineConfiguration->acIdleExtraOffset = 10;
// default 2.0
engineConfiguration->fan1ExtraIdle = 0;
// default 2.0
engineConfiguration->iacByTpsTaper = 0;
// default 2.0
engineConfiguration->iacByTpsHoldTime = 0;
// default 3.0
engineConfiguration->iacByTpsDecayTime = 0;
// default 0.0
engineConfiguration->idleTimingPid.dFactor = 5.0E-4;
// default 80.0
engineConfiguration->fanOnTemperature = 86;
// default 75.0
engineConfiguration->fanOffTemperature = 80;
// default "false"
engineConfiguration->enableFan1WithAc = true;
// default 87.0
engineConfiguration->fan2OnTemperature = 93;
// default 82.0
engineConfiguration->fan2OffTemperature = 87;
// default "false"
engineConfiguration->enableFan2WithAc = true;
// default 0.5
engineConfiguration->acDelay = 0;
// default 20.0
engineConfiguration->knockRetardAggression = 0;
// default 3.0
engineConfiguration->knockRetardReapplyRate = 0;
// default 6000.0
engineConfiguration->vvtActivationDelayMs = 3000;
// default 0.1
engineConfiguration->auxPid[0].dFactor = 0.2;
// default "None"
engineConfiguration->canNbcType = CAN_BUS_GENESIS_COUPE;
// default "MAP"
engineConfiguration->debugMode = DBG_22;
// default 200.0
engineConfiguration->rpmSoftLimitWindowSize = 0;
// default 4.0
engineConfiguration->rpmSoftLimitTimingRetard = 0;
// default 250.0
engineConfiguration->etbRevLimitRange = 0;
// default 70.0
engineConfiguration->crankingIACposition = 50;
// default 100.0
engineConfiguration->afterCrankingIACtaperDuration = 200;
// default "true"
engineConfiguration->overrideCrankingIacSetting = false;
// default 0.5
engineConfiguration->primingDelay = 0;
// default 0.3
engineConfiguration->tpsAccelLookback = 0;
// default 12.0
engineConfiguration->tpsAccelEnrichmentThreshold = 40;
// default 7.0
engineConfiguration->tpsDecelEnleanmentThreshold = 0;
// default 3.0
engineConfiguration->tpsAccelFractionPeriod = 0;
// default 3.0
engineConfiguration->tpsAccelFractionDivisor = 0;
// default "false"
engineConfiguration->isBoostControlEnabled = true;
// default 2000.0
engineConfiguration->boostControlMinRpm = 0;
// default 30.0
engineConfiguration->boostControlMinTps = 0;
// default 110.0
engineConfiguration->boostControlMinMap = 0;
// default "Throttle 2"
engineConfiguration->etbFunctions[1] = DC_Wastegate;
// default 8.8944
engineConfiguration->etb.pFactor = 7.213493;
// default 70.2307
engineConfiguration->etb.iFactor = 94.99006;
// default 0.1855
engineConfiguration->etb.dFactor = 0.0892407;
coupleBK1cannedboostTableOpenLoop();
coupleBK1cannedvvtTable1();
coupleBK1cannedvvtTable2();
coupleBK1cannedscriptTable4();
coupleBK1cannedignitionTable();
coupleBK1cannedlambdaTable();
coupleBK1cannedtcuSolenoidTable();
coupleBK1cannedpostCrankingFactor();
```

View File

@ -0,0 +1,126 @@
```
static void coupleBK1cannedboostTableOpenLoop() {
static const float hardCodedboostTableOpenLoop[8][8] = {
{25.000, 25.000, 25.000, 25.000, 25.000, 25.000, 25.000, 25.000, },
{25.000, 25.000, 25.000, 25.000, 25.000, 25.000, 25.000, 25.000, },
{25.000, 25.000, 25.000, 25.000, 25.000, 25.000, 25.000, 25.000, },
{25.000, 25.000, 25.000, 25.000, 25.000, 25.000, 25.000, 25.000, },
{25.000, 25.000, 25.000, 25.000, 25.000, 25.000, 25.000, 25.000, },
{25.000, 25.000, 25.000, 25.000, 25.000, 25.000, 25.000, 25.000, },
{25.000, 25.000, 25.000, 25.000, 25.000, 25.000, 25.000, 25.000, },
{25.000, 25.000, 25.000, 25.000, 25.000, 25.000, 25.000, 25.000, },
};
copyTable(config->boostTableOpenLoop, hardCodedboostTableOpenLoop);
}
static void coupleBK1cannedvvtTable1() {
static const float hardCodedvvtTable1[8][8] = {
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 5.000, 10.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 10.000, 15.000, 15.000, 15.000, 10.000, 10.000, 10.000, },
{0.000, 10.000, 15.000, 15.000, 15.000, 10.000, 10.000, 10.000, },
{0.000, 10.000, 15.000, 15.000, 15.000, 10.000, 10.000, 10.000, },
{0.000, 10.000, 15.000, 15.000, 15.000, 10.000, 10.000, 10.000, },
{0.000, 30.000, 30.000, 30.000, 19.000, 9.000, 5.000, 5.000, },
{0.000, 30.000, 30.000, 30.000, 19.000, 9.000, 5.000, 5.000, },
};
copyTable(config->vvtTable1, hardCodedvvtTable1);
}
static void coupleBK1cannedvvtTable2() {
static const float hardCodedvvtTable2[8][8] = {
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, -25.000, -25.000, -25.000, -25.000, -25.000, -25.000, -25.000, },
{0.000, -25.000, -25.000, -25.000, -25.000, -25.000, -25.000, -25.000, },
{0.000, -25.000, -25.000, -25.000, -25.000, -25.000, -25.000, -25.000, },
{0.000, -25.000, -25.000, -25.000, -25.000, -25.000, -25.000, -25.000, },
};
copyTable(config->vvtTable2, hardCodedvvtTable2);
}
static void coupleBK1cannedscriptTable4() {
static const float hardCodedscriptTable4[8][10] = {
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
};
copyTable(config->scriptTable4, hardCodedscriptTable4);
}
static void coupleBK1cannedignitionTable() {
static const float hardCodedignitionTable[16][16] = {
{12.100, 14.000, 17.800, 22.900, 29.300, 33.600, -20.000, -20.000, -20.000, -20.000, -20.000, -20.000, 42.000, 42.000, 42.000, 42.000, },
{11.800, 13.700, 10.000, 14.900, 23.600, 30.800, -20.000, -20.000, -20.000, -20.000, -20.000, -20.000, 41.000, 41.000, 41.000, 41.000, },
{11.600, 13.400, 12.300, 17.100, 23.000, 29.900, 39.200, 40.000, 40.000, 40.000, 40.000, 40.000, 40.000, 40.000, 40.000, 40.000, },
{11.400, 13.200, 16.700, 21.400, 22.300, 29.100, 38.200, 39.000, 39.000, 39.000, 39.000, 39.000, 39.000, 39.000, 39.000, 39.000, },
{11.200, 12.900, 16.300, 20.800, 21.600, 28.300, 37.200, 38.000, 38.000, 38.000, 38.000, 38.000, 38.000, 38.000, 38.000, 38.000, },
{10.900, 12.600, 16.600, 20.200, 23.400, 26.700, 27.000, 28.500, 30.000, 30.400, 30.800, 31.100, 31.500, 31.900, 32.300, 33.000, },
{10.800, 12.400, 16.800, 19.600, 20.900, 24.200, 24.500, 26.000, 27.500, 27.900, 28.300, 28.600, 29.000, 29.400, 29.800, 30.500, },
{14.300, 14.900, 16.500, 18.800, 20.700, 21.700, 22.000, 23.500, 25.000, 25.400, 25.800, 26.100, 26.500, 26.900, 27.300, 28.000, },
{14.000, 14.600, 15.600, 17.100, 18.500, 19.200, 19.500, 21.000, 22.500, 22.900, 23.300, 23.600, 24.000, 24.400, 24.800, 25.500, },
{12.900, 13.300, 14.000, 15.100, 16.100, 16.700, 17.000, 18.500, 20.000, 20.400, 20.800, 21.100, 21.500, 21.900, 22.300, 23.000, },
{11.700, 12.000, 12.400, 13.100, 13.700, 14.200, 14.500, 16.000, 17.500, 17.900, 18.300, 18.600, 19.000, 19.400, 19.800, 20.500, },
{10.400, 10.500, 10.800, 11.100, 11.500, 11.900, 12.000, 13.500, 15.000, 15.400, 15.800, 16.100, 16.500, 16.900, 17.300, 18.000, },
{8.800, 9.000, 9.100, 9.400, 9.700, 10.000, 10.300, 11.800, 13.300, 13.700, 14.100, 14.400, 14.800, 15.200, 15.600, 16.300, },
{6.700, 6.800, 7.500, 7.700, 8.000, 8.400, 8.700, 10.200, 11.700, 12.100, 12.500, 12.800, 13.200, 13.600, 14.000, 14.700, },
{1.800, 5.600, 6.200, 6.500, 6.800, 7.100, 7.000, 8.500, 10.000, 10.400, 10.800, 11.100, 11.500, 11.900, 12.300, 13.000, },
{-1.200, 2.600, 3.200, 3.600, 4.100, 5.000, 7.100, 7.800, 8.400, 9.000, 9.400, 9.500, 9.700, 9.800, 10.000, 10.000, },
};
copyTable(config->ignitionTable, hardCodedignitionTable);
}
static void coupleBK1cannedlambdaTable() {
static const float hardCodedlambdaTable[16][16] = {
{14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, },
{14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, },
{14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, },
{14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, },
{14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, },
{14.000, 14.000, 14.000, 14.000, 14.000, 14.000, 14.000, 14.000, 14.000, 14.000, 14.000, 14.000, 14.000, 14.000, 14.000, 14.000, },
{13.500, 13.500, 13.500, 13.500, 13.500, 13.500, 13.500, 13.500, 13.500, 13.500, 13.500, 13.500, 13.500, 13.500, 13.500, 13.500, },
{13.200, 13.200, 13.200, 13.200, 13.200, 13.200, 13.200, 13.200, 13.200, 13.200, 13.200, 13.200, 13.200, 13.200, 13.200, 13.200, },
{13.100, 13.100, 13.100, 13.100, 13.100, 13.100, 13.100, 13.100, 13.100, 13.100, 13.100, 13.100, 13.100, 13.100, 13.100, 13.100, },
{12.900, 12.900, 12.900, 12.900, 12.900, 12.900, 12.900, 12.900, 12.900, 12.900, 12.900, 12.900, 12.900, 12.900, 12.900, 12.900, },
{12.600, 12.600, 12.600, 12.600, 12.600, 12.600, 12.600, 12.600, 12.600, 12.600, 12.600, 12.600, 12.600, 12.600, 12.600, 12.600, },
{12.300, 12.300, 12.300, 12.300, 12.300, 12.300, 12.300, 12.300, 12.300, 12.300, 12.300, 12.300, 12.300, 12.300, 12.300, 12.300, },
{11.800, 11.800, 11.800, 11.800, 11.800, 11.800, 11.800, 11.800, 11.800, 11.800, 11.800, 11.800, 11.800, 11.800, 11.800, 11.800, },
{11.300, 11.300, 11.300, 11.300, 11.300, 11.300, 11.300, 11.300, 11.300, 11.300, 11.300, 11.300, 11.300, 11.300, 11.300, 11.300, },
{11.000, 11.000, 11.000, 11.000, 11.000, 11.000, 11.000, 11.000, 11.000, 11.000, 11.000, 11.000, 11.000, 11.000, 11.000, 11.000, },
{10.700, 10.700, 10.700, 10.700, 10.700, 10.700, 10.700, 10.700, 10.700, 10.700, 10.700, 10.700, 10.700, 10.700, 10.700, 10.700, },
};
copyTable(config->lambdaTable, hardCodedlambdaTable);
}
static void coupleBK1cannedtcuSolenoidTable() {
static const float hardCodedtcuSolenoidTable[6][10] = {
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
};
copyTable(config->tcuSolenoidTable, hardCodedtcuSolenoidTable);
}
static void coupleBK1cannedpostCrankingFactor() {
static const float hardCodedpostCrankingFactor[6][6] = {
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
};
copyTable(engineConfiguration->postCrankingFactor, hardCodedpostCrankingFactor);
}
```

View File

@ -0,0 +1,165 @@
# COUPE-BK1-comparing-against-global-defaults
// canned tune https://rusefi.com/online/view.php?msq=1508
```
// default "Single Coil"
engineConfiguration->ignitionMode = IM_INDIVIDUAL_COILS;
// default 2.0
engineConfiguration->displacement = 1.998;
// default 0.0
engineConfiguration->globalTriggerAngleOffset = 475;
// default 450.0
engineConfiguration->vvtOffsets[0] = -155;
// default 0.0
engineConfiguration->vvtOffsets[1] = 337;
// default 200.0
engineConfiguration->injector.flow = 440;
// default "None"
engineConfiguration->injectorCompensationMode = ICM_FixedRailPressure;
// default 300.0
engineConfiguration->fuelReferencePressure = 379.2116;
// default 0.0
engineConfiguration->cylinderBankSelect[0] = 1;
// default 0.0
engineConfiguration->cylinderBankSelect[1] = 1;
// default 0.0
engineConfiguration->cylinderBankSelect[2] = 1;
// default 0.0
engineConfiguration->cylinderBankSelect[3] = 1;
// default 0.0
engineConfiguration->cylinderBankSelect[4] = 1;
// default 0.0
engineConfiguration->cylinderBankSelect[5] = 1;
// default 0.0
engineConfiguration->cylinderBankSelect[6] = 1;
// default 0.0
engineConfiguration->cylinderBankSelect[7] = 1;
// default 0.0
engineConfiguration->cylinderBankSelect[8] = 1;
// default 0.0
engineConfiguration->cylinderBankSelect[9] = 1;
// default 0.0
engineConfiguration->cylinderBankSelect[10] = 1;
// default 0.0
engineConfiguration->cylinderBankSelect[11] = 1;
// default 0.0
engineConfiguration->tpsMin = 111;
// default 1000.0
engineConfiguration->tpsMax = 923;
// default 1000.0
engineConfiguration->tps1SecondaryMin = 874;
// default 0.0
engineConfiguration->tps1SecondaryMax = 63;
// default 0.0
engineConfiguration->throttlePedalUpVoltage = 0.73;
// default 5.0
engineConfiguration->throttlePedalWOTVoltage = 4;
// default 5.0
engineConfiguration->throttlePedalSecondaryUpVoltage = 0.34;
// default 0.0
engineConfiguration->throttlePedalSecondaryWOTVoltage = 1.86;
// default 300.0
engineConfiguration->idle.solenoidFrequency = 200;
// default "false"
engineConfiguration->stepperDcInvertedPins = true;
// default 15.0
engineConfiguration->etbIdleThrottleRange = 5;
// default 15.0
engineConfiguration->acIdleExtraOffset = 10;
// default 2.0
engineConfiguration->fan1ExtraIdle = 0;
// default 2.0
engineConfiguration->iacByTpsTaper = 0;
// default "false"
engineConfiguration->useSeparateAdvanceForIdle = true;
// default "false"
engineConfiguration->useIdleTimingPidControl = true;
// default 0.0
engineConfiguration->idleTimingPid.dFactor = 5.0E-4;
// default 95.0
engineConfiguration->fanOnTemperature = 86;
// default 91.0
engineConfiguration->fanOffTemperature = 80;
// default "false"
engineConfiguration->enableFan1WithAc = true;
// default "false"
engineConfiguration->disableFan1WhenStopped = true;
// default 95.0
engineConfiguration->fan2OnTemperature = 93;
// default 91.0
engineConfiguration->fan2OffTemperature = 87;
// default "false"
engineConfiguration->enableFan2WithAc = true;
// default "false"
engineConfiguration->disableFan2WhenStopped = true;
// default 0.5
engineConfiguration->acDelay = 0;
// default "false"
engineConfiguration->enableSoftwareKnock = true;
// default 20.0
engineConfiguration->knockRetardAggression = 0;
// default 3.0
engineConfiguration->knockRetardReapplyRate = 0;
// default 6000.0
engineConfiguration->vvtActivationDelayMs = 3000;
// default 550.0
engineConfiguration->vvtControlMinRpm = 1500;
// default "advance"
engineConfiguration->invertVvtControlExhaust = retard;
// default 33.0
engineConfiguration->auxPid[0].offset = 38;
// default 0.005
engineConfiguration->auxPid[0].iFactor = 25.4;
// default 0.0
engineConfiguration->auxPid[0].dFactor = 0.2;
// default 0.0
engineConfiguration->auxPid[1].offset = 38;
// default 0.0
engineConfiguration->auxPid[1].pFactor = 2;
// default 0.0
engineConfiguration->auxPid[1].iFactor = 25.4;
// default 0.0
engineConfiguration->auxPid[1].dFactor = 0.2;
// default "None"
engineConfiguration->canNbcType = CAN_BUS_GENESIS_COUPE;
// default "MAP"
engineConfiguration->debugMode = DBG_22;
// default 200.0
engineConfiguration->rpmSoftLimitWindowSize = 0;
// default 4.0
engineConfiguration->rpmSoftLimitTimingRetard = 0;
// default 250.0
engineConfiguration->etbRevLimitRange = 0;
// default 0.5
engineConfiguration->primingDelay = 0;
// default 1.0
engineConfiguration->tpsAccelFractionDivisor = 0;
// default "false"
engineConfiguration->isBoostControlEnabled = true;
// default 2000.0
engineConfiguration->boostControlMinRpm = 0;
// default 30.0
engineConfiguration->boostControlMinTps = 0;
// default 110.0
engineConfiguration->boostControlMinMap = 0;
// default "Throttle 2"
engineConfiguration->etbFunctions[1] = DC_Wastegate;
// default 1.0
engineConfiguration->etb.pFactor = 7.213493;
// default 10.0
engineConfiguration->etb.iFactor = 94.99006;
// default 0.05
engineConfiguration->etb.dFactor = 0.0892407;
coupleBK1cannedboostTableOpenLoop();
coupleBK1cannedvvtTable1();
coupleBK1cannedvvtTable2();
coupleBK1cannedscriptTable4();
coupleBK1cannedignitionTable();
coupleBK1cannedveTable();
coupleBK1cannedlambdaTable();
coupleBK1cannedtcuSolenoidTable();
coupleBK1cannedpostCrankingFactor();
```

View File

@ -0,0 +1,148 @@
```
static void coupleBK1cannedboostTableOpenLoop() {
static const float hardCodedboostTableOpenLoop[8][8] = {
{25.000, 25.000, 25.000, 25.000, 25.000, 25.000, 25.000, 25.000, },
{25.000, 25.000, 25.000, 25.000, 25.000, 25.000, 25.000, 25.000, },
{25.000, 25.000, 25.000, 25.000, 25.000, 25.000, 25.000, 25.000, },
{25.000, 25.000, 25.000, 25.000, 25.000, 25.000, 25.000, 25.000, },
{25.000, 25.000, 25.000, 25.000, 25.000, 25.000, 25.000, 25.000, },
{25.000, 25.000, 25.000, 25.000, 25.000, 25.000, 25.000, 25.000, },
{25.000, 25.000, 25.000, 25.000, 25.000, 25.000, 25.000, 25.000, },
{25.000, 25.000, 25.000, 25.000, 25.000, 25.000, 25.000, 25.000, },
};
copyTable(config->boostTableOpenLoop, hardCodedboostTableOpenLoop);
}
static void coupleBK1cannedvvtTable1() {
static const float hardCodedvvtTable1[8][8] = {
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 5.000, 10.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 10.000, 15.000, 15.000, 15.000, 10.000, 10.000, 10.000, },
{0.000, 10.000, 15.000, 15.000, 15.000, 10.000, 10.000, 10.000, },
{0.000, 10.000, 15.000, 15.000, 15.000, 10.000, 10.000, 10.000, },
{0.000, 10.000, 15.000, 15.000, 15.000, 10.000, 10.000, 10.000, },
{0.000, 30.000, 30.000, 30.000, 19.000, 9.000, 5.000, 5.000, },
{0.000, 30.000, 30.000, 30.000, 19.000, 9.000, 5.000, 5.000, },
};
copyTable(config->vvtTable1, hardCodedvvtTable1);
}
static void coupleBK1cannedvvtTable2() {
static const float hardCodedvvtTable2[8][8] = {
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, -25.000, -25.000, -25.000, -25.000, -25.000, -25.000, -25.000, },
{0.000, -25.000, -25.000, -25.000, -25.000, -25.000, -25.000, -25.000, },
{0.000, -25.000, -25.000, -25.000, -25.000, -25.000, -25.000, -25.000, },
{0.000, -25.000, -25.000, -25.000, -25.000, -25.000, -25.000, -25.000, },
};
copyTable(config->vvtTable2, hardCodedvvtTable2);
}
static void coupleBK1cannedscriptTable4() {
static const float hardCodedscriptTable4[8][10] = {
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
};
copyTable(config->scriptTable4, hardCodedscriptTable4);
}
static void coupleBK1cannedignitionTable() {
static const float hardCodedignitionTable[16][16] = {
{12.100, 14.000, 17.800, 22.900, 29.300, 33.600, -20.000, -20.000, -20.000, -20.000, -20.000, -20.000, 42.000, 42.000, 42.000, 42.000, },
{11.800, 13.700, 10.000, 14.900, 23.600, 30.800, -20.000, -20.000, -20.000, -20.000, -20.000, -20.000, 41.000, 41.000, 41.000, 41.000, },
{11.600, 13.400, 12.300, 17.100, 23.000, 29.900, 39.200, 40.000, 40.000, 40.000, 40.000, 40.000, 40.000, 40.000, 40.000, 40.000, },
{11.400, 13.200, 16.700, 21.400, 22.300, 29.100, 38.200, 39.000, 39.000, 39.000, 39.000, 39.000, 39.000, 39.000, 39.000, 39.000, },
{11.200, 12.900, 16.300, 20.800, 21.600, 28.300, 37.200, 38.000, 38.000, 38.000, 38.000, 38.000, 38.000, 38.000, 38.000, 38.000, },
{10.900, 12.600, 16.600, 20.200, 23.400, 26.700, 27.000, 28.500, 30.000, 30.400, 30.800, 31.100, 31.500, 31.900, 32.300, 33.000, },
{10.800, 12.400, 16.800, 19.600, 20.900, 24.200, 24.500, 26.000, 27.500, 27.900, 28.300, 28.600, 29.000, 29.400, 29.800, 30.500, },
{14.300, 14.900, 16.500, 18.800, 20.700, 21.700, 22.000, 23.500, 25.000, 25.400, 25.800, 26.100, 26.500, 26.900, 27.300, 28.000, },
{14.000, 14.600, 15.600, 17.100, 18.500, 19.200, 19.500, 21.000, 22.500, 22.900, 23.300, 23.600, 24.000, 24.400, 24.800, 25.500, },
{12.900, 13.300, 14.000, 15.100, 16.100, 16.700, 17.000, 18.500, 20.000, 20.400, 20.800, 21.100, 21.500, 21.900, 22.300, 23.000, },
{11.700, 12.000, 12.400, 13.100, 13.700, 14.200, 14.500, 16.000, 17.500, 17.900, 18.300, 18.600, 19.000, 19.400, 19.800, 20.500, },
{10.400, 10.500, 10.800, 11.100, 11.500, 11.900, 12.000, 13.500, 15.000, 15.400, 15.800, 16.100, 16.500, 16.900, 17.300, 18.000, },
{8.800, 9.000, 9.100, 9.400, 9.700, 10.000, 10.300, 11.800, 13.300, 13.700, 14.100, 14.400, 14.800, 15.200, 15.600, 16.300, },
{6.700, 6.800, 7.500, 7.700, 8.000, 8.400, 8.700, 10.200, 11.700, 12.100, 12.500, 12.800, 13.200, 13.600, 14.000, 14.700, },
{1.800, 5.600, 6.200, 6.500, 6.800, 7.100, 7.000, 8.500, 10.000, 10.400, 10.800, 11.100, 11.500, 11.900, 12.300, 13.000, },
{-1.200, 2.600, 3.200, 3.600, 4.100, 5.000, 7.100, 7.800, 8.400, 9.000, 9.400, 9.500, 9.700, 9.800, 10.000, 10.000, },
};
copyTable(config->ignitionTable, hardCodedignitionTable);
}
static void coupleBK1cannedveTable() {
static const float hardCodedveTable[16][16] = {
{52.000, 54.000, 54.000, 56.000, 61.000, 55.000, 55.000, 65.000, 65.000, 60.000, 60.000, 60.000, 60.000, 60.000, 60.000, 60.000, },
{51.500, 54.500, 54.400, 56.000, 61.000, 68.100, 66.800, 67.600, 68.200, 63.400, 63.400, 63.400, 63.400, 63.400, 63.400, 63.400, },
{52.500, 55.400, 57.700, 62.200, 62.800, 65.800, 69.600, 71.100, 72.200, 67.600, 67.600, 67.600, 67.600, 67.600, 67.600, 67.600, },
{54.200, 56.300, 59.000, 64.300, 65.700, 68.400, 71.400, 72.900, 73.900, 70.500, 70.400, 70.400, 70.300, 70.200, 70.200, 70.200, },
{54.400, 56.700, 59.500, 65.200, 71.800, 75.400, 75.300, 73.800, 74.700, 72.600, 72.500, 72.300, 72.200, 72.100, 72.000, 72.000, },
{55.100, 58.100, 61.400, 67.900, 75.400, 77.300, 75.000, 76.300, 77.200, 77.500, 77.000, 76.500, 76.000, 75.600, 75.400, 75.400, },
{55.800, 59.400, 63.000, 70.100, 73.200, 75.400, 77.800, 78.900, 79.800, 79.100, 78.400, 77.700, 77.000, 76.400, 76.100, 76.100, },
{56.000, 66.200, 70.600, 74.200, 74.100, 76.000, 79.900, 84.100, 82.200, 79.600, 78.900, 78.200, 77.500, 76.900, 76.600, 76.600, },
{58.500, 67.400, 69.200, 75.500, 78.300, 79.900, 81.700, 83.700, 84.700, 82.100, 81.400, 80.700, 80.000, 79.400, 79.100, 79.100, },
{52.900, 70.000, 71.900, 75.900, 79.800, 81.900, 83.700, 85.600, 86.100, 83.600, 83.000, 82.200, 81.600, 81.000, 80.700, 83.700, },
{50.700, 71.000, 73.000, 77.300, 81.600, 83.900, 85.700, 87.600, 87.900, 85.400, 84.800, 84.000, 83.400, 82.800, 82.500, 85.500, },
{53.700, 74.000, 76.000, 80.300, 84.600, 86.900, 88.700, 90.600, 90.900, 88.400, 87.800, 87.000, 86.400, 85.800, 85.500, 88.500, },
{56.700, 77.000, 79.000, 83.300, 87.600, 89.900, 91.700, 93.600, 93.900, 91.400, 90.800, 90.000, 89.400, 88.800, 88.500, 91.500, },
{59.700, 80.000, 82.000, 86.300, 90.600, 92.900, 94.700, 96.600, 96.900, 94.400, 93.800, 93.000, 92.400, 91.800, 91.500, 94.500, },
{62.700, 83.000, 85.000, 89.300, 93.600, 95.900, 97.700, 99.600, 99.900, 97.400, 96.800, 96.000, 95.400, 94.800, 94.500, 97.500, },
{65.700, 86.000, 88.000, 92.300, 96.600, 98.900, 100.700, 102.600, 102.900, 100.400, 99.800, 99.000, 98.400, 97.800, 97.500, 100.500, },
};
copyTable(config->veTable, hardCodedveTable);
}
static void coupleBK1cannedlambdaTable() {
static const float hardCodedlambdaTable[16][16] = {
{14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, },
{14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, },
{14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, },
{14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, },
{14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, },
{14.000, 14.000, 14.000, 14.000, 14.000, 14.000, 14.000, 14.000, 14.000, 14.000, 14.000, 14.000, 14.000, 14.000, 14.000, 14.000, },
{13.500, 13.500, 13.500, 13.500, 13.500, 13.500, 13.500, 13.500, 13.500, 13.500, 13.500, 13.500, 13.500, 13.500, 13.500, 13.500, },
{13.200, 13.200, 13.200, 13.200, 13.200, 13.200, 13.200, 13.200, 13.200, 13.200, 13.200, 13.200, 13.200, 13.200, 13.200, 13.200, },
{13.100, 13.100, 13.100, 13.100, 13.100, 13.100, 13.100, 13.100, 13.100, 13.100, 13.100, 13.100, 13.100, 13.100, 13.100, 13.100, },
{12.900, 12.900, 12.900, 12.900, 12.900, 12.900, 12.900, 12.900, 12.900, 12.900, 12.900, 12.900, 12.900, 12.900, 12.900, 12.900, },
{12.600, 12.600, 12.600, 12.600, 12.600, 12.600, 12.600, 12.600, 12.600, 12.600, 12.600, 12.600, 12.600, 12.600, 12.600, 12.600, },
{12.300, 12.300, 12.300, 12.300, 12.300, 12.300, 12.300, 12.300, 12.300, 12.300, 12.300, 12.300, 12.300, 12.300, 12.300, 12.300, },
{11.800, 11.800, 11.800, 11.800, 11.800, 11.800, 11.800, 11.800, 11.800, 11.800, 11.800, 11.800, 11.800, 11.800, 11.800, 11.800, },
{11.300, 11.300, 11.300, 11.300, 11.300, 11.300, 11.300, 11.300, 11.300, 11.300, 11.300, 11.300, 11.300, 11.300, 11.300, 11.300, },
{11.000, 11.000, 11.000, 11.000, 11.000, 11.000, 11.000, 11.000, 11.000, 11.000, 11.000, 11.000, 11.000, 11.000, 11.000, 11.000, },
{10.700, 10.700, 10.700, 10.700, 10.700, 10.700, 10.700, 10.700, 10.700, 10.700, 10.700, 10.700, 10.700, 10.700, 10.700, 10.700, },
};
copyTable(config->lambdaTable, hardCodedlambdaTable);
}
static void coupleBK1cannedtcuSolenoidTable() {
static const float hardCodedtcuSolenoidTable[6][10] = {
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
};
copyTable(config->tcuSolenoidTable, hardCodedtcuSolenoidTable);
}
static void coupleBK1cannedpostCrankingFactor() {
static const float hardCodedpostCrankingFactor[6][6] = {
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
};
copyTable(engineConfiguration->postCrankingFactor, hardCodedpostCrankingFactor);
}
```

View File

@ -0,0 +1,63 @@
# COUPE-BK2-comparing-against-current-COUPE-BK2-default
// canned tune https://rusefi.com/online/view.php?msq=1507
```
// default 0.0
engineConfiguration->cylinderBankSelect[0] = 1;
// default 0.0
engineConfiguration->cylinderBankSelect[1] = 1;
// default 0.0
engineConfiguration->cylinderBankSelect[2] = 1;
// default 0.0
engineConfiguration->cylinderBankSelect[3] = 1;
// default 0.0
engineConfiguration->cylinderBankSelect[4] = 1;
// default 0.0
engineConfiguration->cylinderBankSelect[5] = 1;
// default 0.0
engineConfiguration->cylinderBankSelect[6] = 1;
// default 0.0
engineConfiguration->cylinderBankSelect[7] = 1;
// default 0.0
engineConfiguration->cylinderBankSelect[8] = 1;
// default 0.0
engineConfiguration->cylinderBankSelect[9] = 1;
// default 0.0
engineConfiguration->cylinderBankSelect[10] = 1;
// default 0.0
engineConfiguration->cylinderBankSelect[11] = 1;
// default 300.0
engineConfiguration->idle.solenoidFrequency = 200;
// default "false"
engineConfiguration->stepperDcInvertedPins = true;
// default 0.0
engineConfiguration->idleTimingPid.dFactor = 5.0E-5;
// default 20.0
engineConfiguration->knockRetardAggression = 0;
// default 3.0
engineConfiguration->knockRetardReapplyRate = 0;
// default "MAP"
engineConfiguration->debugMode = DBG_22;
// default 200.0
engineConfiguration->rpmSoftLimitWindowSize = 0;
// default 4.0
engineConfiguration->rpmSoftLimitTimingRetard = 0;
// default 250.0
engineConfiguration->etbRevLimitRange = 0;
// default 2000.0
engineConfiguration->boostControlMinRpm = 0;
// default 30.0
engineConfiguration->boostControlMinTps = 0;
// default 110.0
engineConfiguration->boostControlMinMap = 0;
coupleBK2cannedtpsTpsAccelTable();
coupleBK2cannedboostTableOpenLoop();
coupleBK2cannedscriptTable4();
coupleBK2cannedpedalToTpsTable();
coupleBK2cannedlambdaTable();
coupleBK2cannedtcuSolenoidTable();
coupleBK2cannedpostCrankingFactor();
```

View File

@ -0,0 +1,104 @@
```
static void coupleBK2cannedtpsTpsAccelTable() {
static const float hardCodedtpsTpsAccelTable[8][8] = {
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{5.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{8.500, 5.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{11.500, 8.500, 5.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{14.000, 11.500, 8.500, 5.000, 0.000, 0.000, 0.000, 0.000, },
{16.000, 14.000, 11.500, 8.500, 5.000, 0.000, 0.000, 0.000, },
{17.500, 16.000, 14.000, 11.500, 8.500, 5.000, 0.000, 0.000, },
{18.500, 17.500, 16.000, 14.000, 11.500, 8.500, 5.000, 0.000, },
};
copyTable(config->tpsTpsAccelTable, hardCodedtpsTpsAccelTable);
}
static void coupleBK2cannedboostTableOpenLoop() {
static const float hardCodedboostTableOpenLoop[8][8] = {
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{14.000, 14.000, 14.000, 14.000, 14.000, 14.000, 14.000, 14.000, },
{29.000, 29.000, 29.000, 29.000, 29.000, 29.000, 29.000, 29.000, },
{43.000, 43.000, 43.000, 43.000, 43.000, 43.000, 43.000, 43.000, },
{57.000, 57.000, 57.000, 57.000, 57.000, 57.000, 57.000, 57.000, },
{71.000, 71.000, 71.000, 71.000, 71.000, 71.000, 71.000, 71.000, },
{86.000, 86.000, 86.000, 86.000, 86.000, 86.000, 86.000, 86.000, },
{100.000, 100.000, 100.000, 100.000, 100.000, 100.000, 100.000, 100.000, },
};
copyTable(config->boostTableOpenLoop, hardCodedboostTableOpenLoop);
}
static void coupleBK2cannedscriptTable4() {
static const float hardCodedscriptTable4[8][10] = {
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
};
copyTable(config->scriptTable4, hardCodedscriptTable4);
}
static void coupleBK2cannedpedalToTpsTable() {
static const float hardCodedpedalToTpsTable[8][8] = {
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{8.000, 8.000, 8.000, 8.000, 8.000, 8.000, 8.000, 8.000, },
{17.000, 17.000, 17.000, 17.000, 17.000, 17.000, 17.000, 17.000, },
{26.000, 26.000, 26.000, 26.000, 26.000, 26.000, 26.000, 26.000, },
{34.000, 34.000, 34.000, 34.000, 34.000, 34.000, 34.000, 34.000, },
{43.000, 43.000, 43.000, 43.000, 43.000, 43.000, 43.000, 43.000, },
{86.000, 86.000, 86.000, 86.000, 86.000, 86.000, 86.000, 86.000, },
{100.000, 100.000, 100.000, 100.000, 100.000, 100.000, 100.000, 100.000, },
};
copyTable(config->pedalToTpsTable, hardCodedpedalToTpsTable);
}
static void coupleBK2cannedlambdaTable() {
static const float hardCodedlambdaTable[16][16] = {
{14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, },
{14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, },
{14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, },
{14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, },
{14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, },
{14.000, 14.000, 14.000, 14.000, 14.000, 14.000, 14.000, 14.000, 14.000, 14.000, 14.000, 14.000, 14.000, 14.000, 14.000, 14.000, },
{13.500, 13.500, 13.500, 13.500, 13.500, 13.500, 13.500, 13.500, 13.500, 13.500, 13.500, 13.500, 13.500, 13.500, 13.500, 13.500, },
{13.200, 13.200, 13.200, 13.200, 13.200, 13.200, 13.200, 13.200, 13.200, 13.200, 13.200, 13.200, 13.200, 13.200, 13.200, 13.200, },
{13.100, 13.100, 13.100, 13.100, 13.100, 13.100, 13.100, 13.100, 13.100, 13.100, 13.100, 13.100, 13.100, 13.100, 13.100, 13.100, },
{12.900, 12.900, 12.900, 12.900, 12.900, 12.900, 12.900, 12.900, 12.900, 12.900, 12.900, 12.900, 12.900, 12.900, 12.900, 12.900, },
{12.600, 12.600, 12.600, 12.600, 12.600, 12.600, 12.600, 12.600, 12.600, 12.600, 12.600, 12.600, 12.600, 12.600, 12.600, 12.600, },
{12.300, 12.300, 12.300, 12.300, 12.300, 12.300, 12.300, 12.300, 12.300, 12.300, 12.300, 12.300, 12.300, 12.300, 12.300, 12.300, },
{11.800, 11.800, 11.800, 11.800, 11.800, 11.800, 11.800, 11.800, 11.800, 11.800, 11.800, 11.800, 11.800, 11.800, 11.800, 11.800, },
{11.300, 11.300, 11.300, 11.300, 11.300, 11.300, 11.300, 11.300, 11.300, 11.300, 11.300, 11.300, 11.300, 11.300, 11.300, 11.300, },
{11.000, 11.000, 11.000, 11.000, 11.000, 11.000, 11.000, 11.000, 11.000, 11.000, 11.000, 11.000, 11.000, 11.000, 11.000, 11.000, },
{10.700, 10.700, 10.700, 10.700, 10.700, 10.700, 10.700, 10.700, 10.700, 10.700, 10.700, 10.700, 10.700, 10.700, 10.700, 10.700, },
};
copyTable(config->lambdaTable, hardCodedlambdaTable);
}
static void coupleBK2cannedtcuSolenoidTable() {
static const float hardCodedtcuSolenoidTable[6][10] = {
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
};
copyTable(config->tcuSolenoidTable, hardCodedtcuSolenoidTable);
}
static void coupleBK2cannedpostCrankingFactor() {
static const float hardCodedpostCrankingFactor[6][6] = {
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
};
copyTable(engineConfiguration->postCrankingFactor, hardCodedpostCrankingFactor);
}
```

View File

@ -0,0 +1,163 @@
# COUPE-BK2-comparing-against-global-defaults
// canned tune https://rusefi.com/online/view.php?msq=1507
```
// default "Single Coil"
engineConfiguration->ignitionMode = IM_INDIVIDUAL_COILS;
// default 2.0
engineConfiguration->displacement = 1.998;
// default "false"
engineConfiguration->isForcedInduction = true;
// default 0.0
engineConfiguration->globalTriggerAngleOffset = 475;
// default 450.0
engineConfiguration->vvtOffsets[0] = -154;
// default 0.0
engineConfiguration->vvtOffsets[1] = 335;
// default 200.0
engineConfiguration->injector.flow = 629.03;
// default "None"
engineConfiguration->injectorCompensationMode = ICM_FixedRailPressure;
// default 300.0
engineConfiguration->fuelReferencePressure = 586.0544;
// default 0.0
engineConfiguration->cylinderBankSelect[0] = 1;
// default 0.0
engineConfiguration->cylinderBankSelect[1] = 1;
// default 0.0
engineConfiguration->cylinderBankSelect[2] = 1;
// default 0.0
engineConfiguration->cylinderBankSelect[3] = 1;
// default 0.0
engineConfiguration->cylinderBankSelect[4] = 1;
// default 0.0
engineConfiguration->cylinderBankSelect[5] = 1;
// default 0.0
engineConfiguration->cylinderBankSelect[6] = 1;
// default 0.0
engineConfiguration->cylinderBankSelect[7] = 1;
// default 0.0
engineConfiguration->cylinderBankSelect[8] = 1;
// default 0.0
engineConfiguration->cylinderBankSelect[9] = 1;
// default 0.0
engineConfiguration->cylinderBankSelect[10] = 1;
// default 0.0
engineConfiguration->cylinderBankSelect[11] = 1;
// default 0.0
engineConfiguration->tpsMin = 98;
// default 1000.0
engineConfiguration->tpsMax = 926;
// default 1000.0
engineConfiguration->tps1SecondaryMin = 891;
// default 0.0
engineConfiguration->tps1SecondaryMax = 69;
// default 0.0
engineConfiguration->throttlePedalUpVoltage = 0.73;
// default 5.0
engineConfiguration->throttlePedalWOTVoltage = 4;
// default 5.0
engineConfiguration->throttlePedalSecondaryUpVoltage = 0.34;
// default 0.0
engineConfiguration->throttlePedalSecondaryWOTVoltage = 1.86;
// default 300.0
engineConfiguration->idle.solenoidFrequency = 200;
// default "false"
engineConfiguration->stepperDcInvertedPins = true;
// default "false"
engineConfiguration->useSeparateAdvanceForIdle = true;
// default 0.0
engineConfiguration->iacByTpsHoldTime = 2;
// default 0.0
engineConfiguration->iacByTpsDecayTime = 3;
// default "false"
engineConfiguration->useIdleTimingPidControl = true;
// default 0.0
engineConfiguration->idleTimingPid.dFactor = 5.0E-5;
// default 95.0
engineConfiguration->fanOnTemperature = 80;
// default 91.0
engineConfiguration->fanOffTemperature = 75;
// default "false"
engineConfiguration->disableFan1WhenStopped = true;
// default 95.0
engineConfiguration->fan2OnTemperature = 87;
// default 91.0
engineConfiguration->fan2OffTemperature = 82;
// default "false"
engineConfiguration->disableFan2WhenStopped = true;
// default "false"
engineConfiguration->enableSoftwareKnock = true;
// default 20.0
engineConfiguration->knockRetardAggression = 0;
// default 3.0
engineConfiguration->knockRetardReapplyRate = 0;
// default 550.0
engineConfiguration->vvtControlMinRpm = 1500;
// default "advance"
engineConfiguration->invertVvtControlExhaust = retard;
// default 33.0
engineConfiguration->auxPid[0].offset = 38;
// default 0.005
engineConfiguration->auxPid[0].iFactor = 25.4;
// default 0.0
engineConfiguration->auxPid[0].dFactor = 0.1;
// default 0.0
engineConfiguration->auxPid[1].offset = 38;
// default 0.0
engineConfiguration->auxPid[1].pFactor = 2;
// default 0.0
engineConfiguration->auxPid[1].iFactor = 25.4;
// default 0.0
engineConfiguration->auxPid[1].dFactor = 0.2;
// default "MAP"
engineConfiguration->debugMode = DBG_22;
// default 200.0
engineConfiguration->rpmSoftLimitWindowSize = 0;
// default 4.0
engineConfiguration->rpmSoftLimitTimingRetard = 0;
// default 250.0
engineConfiguration->etbRevLimitRange = 0;
// default 50.0
engineConfiguration->crankingIACposition = 70;
// default 200.0
engineConfiguration->afterCrankingIACtaperDuration = 100;
// default "false"
engineConfiguration->overrideCrankingIacSetting = true;
// default 0.0
engineConfiguration->tpsAccelLookback = 0.3;
// default 40.0
engineConfiguration->tpsAccelEnrichmentThreshold = 12;
// default 0.0
engineConfiguration->tpsDecelEnleanmentThreshold = 7;
// default 0.0
engineConfiguration->tpsAccelFractionPeriod = 3;
// default 1.0
engineConfiguration->tpsAccelFractionDivisor = 3;
// default 2000.0
engineConfiguration->boostControlMinRpm = 0;
// default 30.0
engineConfiguration->boostControlMinTps = 0;
// default 110.0
engineConfiguration->boostControlMinMap = 0;
// default "Throttle 2"
engineConfiguration->etbFunctions[1] = DC_Wastegate;
// default 1.0
engineConfiguration->etb.pFactor = 8.8944;
// default 10.0
engineConfiguration->etb.iFactor = 70.2307;
// default 0.05
engineConfiguration->etb.dFactor = 0.1855;
coupleBK2cannedtpsTpsAccelTable();
coupleBK2cannedboostTableOpenLoop();
coupleBK2cannedscriptTable4();
coupleBK2cannedignitionTable();
coupleBK2cannedveTable();
coupleBK2cannedpedalToTpsTable();
coupleBK2cannedlambdaTable();
coupleBK2cannedtcuSolenoidTable();
coupleBK2cannedpostCrankingFactor();
```

View File

@ -0,0 +1,148 @@
```
static void coupleBK2cannedtpsTpsAccelTable() {
static const float hardCodedtpsTpsAccelTable[8][8] = {
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{5.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{8.500, 5.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{11.500, 8.500, 5.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{14.000, 11.500, 8.500, 5.000, 0.000, 0.000, 0.000, 0.000, },
{16.000, 14.000, 11.500, 8.500, 5.000, 0.000, 0.000, 0.000, },
{17.500, 16.000, 14.000, 11.500, 8.500, 5.000, 0.000, 0.000, },
{18.500, 17.500, 16.000, 14.000, 11.500, 8.500, 5.000, 0.000, },
};
copyTable(config->tpsTpsAccelTable, hardCodedtpsTpsAccelTable);
}
static void coupleBK2cannedboostTableOpenLoop() {
static const float hardCodedboostTableOpenLoop[8][8] = {
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{14.000, 14.000, 14.000, 14.000, 14.000, 14.000, 14.000, 14.000, },
{29.000, 29.000, 29.000, 29.000, 29.000, 29.000, 29.000, 29.000, },
{43.000, 43.000, 43.000, 43.000, 43.000, 43.000, 43.000, 43.000, },
{57.000, 57.000, 57.000, 57.000, 57.000, 57.000, 57.000, 57.000, },
{71.000, 71.000, 71.000, 71.000, 71.000, 71.000, 71.000, 71.000, },
{86.000, 86.000, 86.000, 86.000, 86.000, 86.000, 86.000, 86.000, },
{100.000, 100.000, 100.000, 100.000, 100.000, 100.000, 100.000, 100.000, },
};
copyTable(config->boostTableOpenLoop, hardCodedboostTableOpenLoop);
}
static void coupleBK2cannedscriptTable4() {
static const float hardCodedscriptTable4[8][10] = {
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
};
copyTable(config->scriptTable4, hardCodedscriptTable4);
}
static void coupleBK2cannedignitionTable() {
static const float hardCodedignitionTable[16][16] = {
{12.100, 14.000, 17.800, 22.900, 29.300, 35.600, -20.000, -20.000, -20.000, -20.000, -20.000, -20.000, 42.000, 42.000, 42.000, 42.000, },
{11.800, 13.700, 10.000, 14.900, 28.600, 34.800, -20.000, -20.000, -20.000, -20.000, -20.000, -20.000, 41.000, 41.000, 41.000, 41.000, },
{11.600, 13.400, 12.300, 17.100, 28.000, 33.900, 39.200, 40.000, 40.000, 40.000, 40.000, 40.000, 40.000, 40.000, 40.000, 40.000, },
{11.400, 13.200, 16.700, 21.400, 27.300, 33.100, 38.200, 39.000, 39.000, 39.000, 39.000, 39.000, 39.000, 39.000, 39.000, 39.000, },
{11.200, 12.900, 16.300, 20.800, 26.600, 32.300, 37.200, 38.000, 38.000, 38.000, 38.000, 38.000, 38.000, 38.000, 38.000, 38.000, },
{10.900, 12.600, 16.600, 20.200, 26.400, 26.700, 27.000, 28.500, 30.000, 30.400, 30.800, 31.100, 31.500, 31.900, 32.300, 33.000, },
{10.800, 12.400, 16.800, 19.600, 23.900, 24.200, 24.500, 26.000, 27.500, 27.900, 28.300, 28.600, 29.000, 29.400, 29.800, 30.500, },
{14.300, 14.900, 16.500, 18.800, 20.700, 21.700, 22.000, 23.500, 25.000, 25.400, 25.800, 26.100, 26.500, 26.900, 27.300, 28.000, },
{14.000, 14.600, 15.600, 17.100, 18.500, 19.200, 19.500, 21.000, 22.500, 22.900, 23.300, 23.600, 24.000, 24.400, 24.800, 25.500, },
{12.900, 13.300, 14.000, 15.100, 16.100, 16.700, 17.000, 18.500, 20.000, 20.400, 20.800, 21.100, 21.500, 21.900, 22.300, 23.000, },
{11.700, 12.000, 12.400, 13.100, 13.700, 14.200, 14.500, 16.000, 17.500, 17.900, 18.300, 18.600, 19.000, 19.400, 19.800, 20.500, },
{10.400, 10.500, 10.800, 11.100, 11.500, 11.900, 12.000, 13.500, 15.000, 15.400, 15.800, 16.100, 16.500, 16.900, 17.300, 18.000, },
{8.800, 9.000, 9.100, 9.400, 9.700, 10.000, 10.300, 11.800, 13.300, 13.700, 14.100, 14.400, 14.800, 15.200, 15.600, 16.300, },
{6.700, 6.800, 7.500, 7.700, 8.000, 8.400, 8.700, 10.200, 11.700, 12.100, 12.500, 12.800, 13.200, 13.600, 14.000, 14.700, },
{1.800, 5.600, 6.200, 6.500, 6.800, 7.100, 7.000, 8.500, 10.000, 10.400, 10.800, 11.100, 11.500, 11.900, 12.300, 13.000, },
{-1.200, 2.600, 3.200, 3.600, 4.100, 5.000, 7.100, 7.800, 8.400, 9.000, 9.400, 9.500, 9.700, 9.800, 10.000, 10.000, },
};
copyTable(config->ignitionTable, hardCodedignitionTable);
}
static void coupleBK2cannedveTable() {
static const float hardCodedveTable[16][16] = {
{52.000, 54.000, 54.000, 56.000, 61.000, 55.000, 55.000, 65.000, 65.000, 60.000, 60.000, 60.000, 60.000, 60.000, 60.000, 60.000, },
{51.500, 54.500, 54.400, 56.000, 61.000, 68.100, 66.800, 67.600, 68.200, 63.400, 63.400, 63.400, 63.400, 63.400, 63.400, 63.400, },
{52.500, 55.400, 57.700, 62.200, 62.800, 65.800, 69.600, 71.100, 72.200, 67.600, 67.600, 67.600, 67.600, 67.600, 67.600, 67.600, },
{54.200, 56.300, 59.000, 64.300, 65.700, 68.400, 71.400, 72.900, 73.900, 70.500, 70.400, 70.400, 70.300, 70.200, 70.200, 70.200, },
{54.400, 56.700, 59.500, 65.200, 71.800, 75.400, 75.300, 73.800, 74.700, 72.600, 72.500, 72.300, 72.200, 72.100, 72.000, 72.000, },
{55.100, 58.100, 61.400, 67.900, 75.400, 77.300, 75.000, 76.300, 77.200, 77.500, 77.000, 76.500, 76.000, 75.600, 75.400, 75.400, },
{55.800, 59.400, 63.000, 70.100, 73.200, 75.400, 77.800, 78.900, 79.800, 79.100, 78.400, 77.700, 77.000, 76.400, 76.100, 76.100, },
{56.000, 66.200, 70.600, 74.200, 74.100, 76.000, 79.900, 84.100, 82.200, 79.600, 78.900, 78.200, 77.500, 76.900, 76.600, 76.600, },
{58.500, 67.400, 69.200, 75.500, 78.300, 79.900, 81.700, 83.700, 84.700, 82.100, 81.400, 80.700, 80.000, 79.400, 79.100, 79.100, },
{52.900, 70.000, 71.900, 75.900, 79.800, 81.900, 83.700, 85.600, 86.100, 83.600, 83.000, 82.200, 81.600, 81.000, 80.700, 83.700, },
{50.700, 71.000, 73.000, 77.300, 81.600, 83.900, 85.700, 87.600, 87.900, 85.400, 84.800, 84.000, 83.400, 82.800, 82.500, 85.500, },
{53.700, 74.000, 76.000, 80.300, 84.600, 86.900, 88.700, 90.600, 90.900, 88.400, 87.800, 87.000, 86.400, 85.800, 85.500, 88.500, },
{56.700, 77.000, 79.000, 83.300, 87.600, 89.900, 91.700, 93.600, 93.900, 91.400, 90.800, 90.000, 89.400, 88.800, 88.500, 91.500, },
{59.700, 80.000, 82.000, 86.300, 90.600, 92.900, 94.700, 96.600, 96.900, 94.400, 93.800, 93.000, 92.400, 91.800, 91.500, 94.500, },
{62.700, 83.000, 85.000, 89.300, 93.600, 95.900, 97.700, 99.600, 99.900, 97.400, 96.800, 96.000, 95.400, 94.800, 94.500, 97.500, },
{65.700, 86.000, 88.000, 92.300, 96.600, 98.900, 100.700, 102.600, 102.900, 100.400, 99.800, 99.000, 98.400, 97.800, 97.500, 100.500, },
};
copyTable(config->veTable, hardCodedveTable);
}
static void coupleBK2cannedpedalToTpsTable() {
static const float hardCodedpedalToTpsTable[8][8] = {
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{8.000, 8.000, 8.000, 8.000, 8.000, 8.000, 8.000, 8.000, },
{17.000, 17.000, 17.000, 17.000, 17.000, 17.000, 17.000, 17.000, },
{26.000, 26.000, 26.000, 26.000, 26.000, 26.000, 26.000, 26.000, },
{34.000, 34.000, 34.000, 34.000, 34.000, 34.000, 34.000, 34.000, },
{43.000, 43.000, 43.000, 43.000, 43.000, 43.000, 43.000, 43.000, },
{86.000, 86.000, 86.000, 86.000, 86.000, 86.000, 86.000, 86.000, },
{100.000, 100.000, 100.000, 100.000, 100.000, 100.000, 100.000, 100.000, },
};
copyTable(config->pedalToTpsTable, hardCodedpedalToTpsTable);
}
static void coupleBK2cannedlambdaTable() {
static const float hardCodedlambdaTable[16][16] = {
{14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, },
{14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, },
{14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, },
{14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, },
{14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, },
{14.000, 14.000, 14.000, 14.000, 14.000, 14.000, 14.000, 14.000, 14.000, 14.000, 14.000, 14.000, 14.000, 14.000, 14.000, 14.000, },
{13.500, 13.500, 13.500, 13.500, 13.500, 13.500, 13.500, 13.500, 13.500, 13.500, 13.500, 13.500, 13.500, 13.500, 13.500, 13.500, },
{13.200, 13.200, 13.200, 13.200, 13.200, 13.200, 13.200, 13.200, 13.200, 13.200, 13.200, 13.200, 13.200, 13.200, 13.200, 13.200, },
{13.100, 13.100, 13.100, 13.100, 13.100, 13.100, 13.100, 13.100, 13.100, 13.100, 13.100, 13.100, 13.100, 13.100, 13.100, 13.100, },
{12.900, 12.900, 12.900, 12.900, 12.900, 12.900, 12.900, 12.900, 12.900, 12.900, 12.900, 12.900, 12.900, 12.900, 12.900, 12.900, },
{12.600, 12.600, 12.600, 12.600, 12.600, 12.600, 12.600, 12.600, 12.600, 12.600, 12.600, 12.600, 12.600, 12.600, 12.600, 12.600, },
{12.300, 12.300, 12.300, 12.300, 12.300, 12.300, 12.300, 12.300, 12.300, 12.300, 12.300, 12.300, 12.300, 12.300, 12.300, 12.300, },
{11.800, 11.800, 11.800, 11.800, 11.800, 11.800, 11.800, 11.800, 11.800, 11.800, 11.800, 11.800, 11.800, 11.800, 11.800, 11.800, },
{11.300, 11.300, 11.300, 11.300, 11.300, 11.300, 11.300, 11.300, 11.300, 11.300, 11.300, 11.300, 11.300, 11.300, 11.300, 11.300, },
{11.000, 11.000, 11.000, 11.000, 11.000, 11.000, 11.000, 11.000, 11.000, 11.000, 11.000, 11.000, 11.000, 11.000, 11.000, 11.000, },
{10.700, 10.700, 10.700, 10.700, 10.700, 10.700, 10.700, 10.700, 10.700, 10.700, 10.700, 10.700, 10.700, 10.700, 10.700, 10.700, },
};
copyTable(config->lambdaTable, hardCodedlambdaTable);
}
static void coupleBK2cannedtcuSolenoidTable() {
static const float hardCodedtcuSolenoidTable[6][10] = {
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
};
copyTable(config->tcuSolenoidTable, hardCodedtcuSolenoidTable);
}
static void coupleBK2cannedpostCrankingFactor() {
static const float hardCodedpostCrankingFactor[6][6] = {
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
};
copyTable(engineConfiguration->postCrankingFactor, hardCodedpostCrankingFactor);
}
```

View File

@ -0,0 +1,70 @@
# Honda-OBD1-comparing-against-current-Honda-OBD1-default
// canned tune https://rusefi.com/online/view.php?msq=1621
```
// default 1.645
engineConfiguration->displacement = 1.493;
// default "12crank/24cam"
engineConfiguration->trigger.type = TT_TOOTHED_WHEEL;
// default 0.0
engineConfiguration->trigger.customTotalToothCount = 24;
// default "On crankshaft"
engineConfiguration->skippedWheelOnCam = On camshaft;
// default 450.0
engineConfiguration->vvtOffsets[0] = 0;
// default 248.0
engineConfiguration->injector.flow = 240;
// default 0.0
engineConfiguration->cylinderBankSelect[0] = 1;
// default 0.0
engineConfiguration->cylinderBankSelect[1] = 1;
// default 0.0
engineConfiguration->cylinderBankSelect[2] = 1;
// default 0.0
engineConfiguration->cylinderBankSelect[3] = 1;
// default 0.0
engineConfiguration->cylinderBankSelect[4] = 1;
// default 0.0
engineConfiguration->cylinderBankSelect[5] = 1;
// default 0.0
engineConfiguration->cylinderBankSelect[6] = 1;
// default 0.0
engineConfiguration->cylinderBankSelect[7] = 1;
// default 0.0
engineConfiguration->cylinderBankSelect[8] = 1;
// default 0.0
engineConfiguration->cylinderBankSelect[9] = 1;
// default 0.0
engineConfiguration->cylinderBankSelect[10] = 1;
// default 0.0
engineConfiguration->cylinderBankSelect[11] = 1;
// default 0.0
engineConfiguration->mapLowValueVoltage = 2.91;
// default "false"
engineConfiguration->enableAemXSeries = true;
// default "false"
engineConfiguration->enableSoftwareKnock = true;
// default 500.0
engineConfiguration->vvtControlMinRpm = 550;
// default "false"
engineConfiguration->enableVerboseCanTx = true;
// default 200.0
engineConfiguration->rpmSoftLimitWindowSize = 0;
// default 4.0
engineConfiguration->rpmSoftLimitTimingRetard = 0;
// default 1.0
engineConfiguration->tpsAccelFractionDivisor = 0;
// default 60.0
engineConfiguration->gppwm[0].onAboveDuty = 80;
// default 50.0
engineConfiguration->gppwm[0].offBelowDuty = 10;
cannedboostTableOpenLoop();
cannedscriptTable4();
cannedignitionTable();
cannedveTable();
cannedlambdaTable();
cannedtcuSolenoidTable();
```

View File

@ -0,0 +1,108 @@
```
static void cannedboostTableOpenLoop() {
static const float hardCodedboostTableOpenLoop[8][8] = {
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{14.000, 14.000, 14.000, 14.000, 14.000, 14.000, 14.000, 14.000, },
{29.000, 29.000, 29.000, 29.000, 29.000, 29.000, 29.000, 29.000, },
{43.000, 43.000, 43.000, 43.000, 43.000, 43.000, 43.000, 43.000, },
{57.000, 57.000, 57.000, 57.000, 57.000, 57.000, 57.000, 57.000, },
{71.000, 71.000, 71.000, 71.000, 71.000, 71.000, 71.000, 71.000, },
{86.000, 86.000, 86.000, 86.000, 86.000, 86.000, 86.000, 86.000, },
{100.000, 100.000, 100.000, 100.000, 100.000, 100.000, 100.000, 100.000, },
};
copyTable(config->boostTableOpenLoop, hardCodedboostTableOpenLoop);
}
static void cannedscriptTable4() {
static const float hardCodedscriptTable4[8][10] = {
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
};
copyTable(config->scriptTable4, hardCodedscriptTable4);
}
static void cannedignitionTable() {
static const float hardCodedignitionTable[16][16] = {
{15.400, 15.800, 16.600, 17.600, 24.900, 28.900, 32.800, 36.700, 37.700, 39.000, 39.000, 39.000, 39.000, 39.000, 39.000, 39.000, },
{15.300, 15.600, 16.400, 17.300, 24.600, 28.500, 32.300, 36.200, 37.100, 38.400, 38.400, 38.400, 38.400, 38.400, 38.400, 38.400, },
{17.000, 18.900, 16.700, 20.500, 24.300, 28.100, 31.800, 35.600, 36.500, 37.800, 37.800, 37.800, 37.800, 37.800, 37.800, 37.800, },
{16.800, 18.700, 16.400, 20.200, 23.900, 27.700, 31.400, 35.100, 36.000, 37.200, 37.200, 37.200, 37.200, 37.200, 37.200, 37.200, },
{16.600, 18.500, 16.100, 19.800, 23.400, 27.100, 30.700, 34.300, 35.100, 36.300, 36.300, 36.300, 36.300, 36.300, 36.300, 36.300, },
{16.500, 18.300, 15.900, 19.500, 23.100, 26.700, 30.200, 33.800, 34.500, 35.700, 35.700, 35.700, 35.700, 35.700, 35.700, 35.700, },
{16.400, 18.200, 15.700, 19.200, 22.700, 26.300, 29.800, 33.300, 33.900, 35.100, 35.100, 35.100, 35.100, 35.100, 35.100, 35.100, },
{11.100, 12.800, 10.300, 13.700, 22.400, 25.900, 29.300, 32.800, 33.300, 34.500, 34.500, 34.500, 34.500, 34.500, 34.500, 34.500, },
{9.000, 10.700, 8.100, 11.500, 22.000, 25.500, 28.900, 32.300, 34.500, 35.600, 35.600, 35.600, 33.200, 33.200, 33.200, 33.200, },
{8.500, 10.200, 7.500, 10.800, 21.500, 24.900, 28.200, 31.500, 33.600, 34.700, 34.700, 34.700, 32.300, 32.300, 32.300, 32.300, },
{5.800, 7.400, 4.700, 7.900, 21.200, 24.500, 27.700, 31.000, 33.000, 34.100, 34.100, 34.100, 31.700, 31.700, 31.700, 31.700, },
{-2.300, -0.700, -3.500, -0.300, 20.900, 24.100, 27.200, 30.400, 32.400, 33.500, 33.500, 33.500, 31.100, 31.100, 31.100, 31.100, },
{-2.500, -0.900, -3.800, -0.600, 20.500, 23.700, 26.800, 29.900, 31.900, 32.900, 32.900, 32.900, 30.500, 30.500, 30.500, 30.500, },
{-2.500, -0.900, -3.800, -0.700, 20.500, 23.600, 26.700, 29.800, 31.800, 32.800, 32.800, 32.800, 30.400, 30.400, 30.400, 30.400, },
{-2.500, -0.900, -3.800, -0.700, 20.500, 23.600, 26.700, 29.800, 31.800, 32.800, 32.800, 32.800, 30.400, 30.400, 30.400, 30.400, },
{-2.500, -0.900, -3.800, -0.700, 20.500, 23.600, 26.700, 29.800, 31.800, 32.800, 32.800, 32.800, 30.400, 30.400, 30.400, 30.400, },
};
copyTable(config->ignitionTable, hardCodedignitionTable);
}
static void cannedveTable() {
static const float hardCodedveTable[16][16] = {
{80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, },
{80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, },
{80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, },
{80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, },
{80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, },
{80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, },
{80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, },
{80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, },
{80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, },
{80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, },
{80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, },
{80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, },
{80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, },
{80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, },
{80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, },
{80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, },
};
copyTable(config->veTable, hardCodedveTable);
}
static void cannedlambdaTable() {
static const float hardCodedlambdaTable[16][16] = {
{14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, },
{14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, },
{14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, },
{14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, },
{14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, },
{14.000, 14.000, 14.000, 14.000, 14.000, 14.000, 14.000, 14.000, 14.000, 14.000, 14.000, 14.000, 14.000, 14.000, 14.000, 14.000, },
{13.500, 13.500, 13.500, 13.500, 13.500, 13.500, 13.500, 13.500, 13.500, 13.500, 13.500, 13.500, 13.500, 13.500, 13.500, 13.500, },
{13.200, 13.200, 13.200, 13.200, 13.200, 13.200, 13.200, 13.200, 13.200, 13.200, 13.200, 13.200, 13.200, 13.200, 13.200, 13.200, },
{13.100, 13.100, 13.100, 13.100, 13.100, 13.100, 13.100, 13.100, 13.100, 13.100, 13.100, 13.100, 13.100, 13.100, 13.100, 13.100, },
{12.900, 12.900, 12.900, 12.900, 12.900, 12.900, 12.900, 12.900, 12.900, 12.900, 12.900, 12.900, 12.900, 12.900, 12.900, 12.900, },
{12.600, 12.600, 12.600, 12.600, 12.600, 12.600, 12.600, 12.600, 12.600, 12.600, 12.600, 12.600, 12.600, 12.600, 12.600, 12.600, },
{12.300, 12.300, 12.300, 12.300, 12.300, 12.300, 12.300, 12.300, 12.300, 12.300, 12.300, 12.300, 12.300, 12.300, 12.300, 12.300, },
{11.800, 11.800, 11.800, 11.800, 11.800, 11.800, 11.800, 11.800, 11.800, 11.800, 11.800, 11.800, 11.800, 11.800, 11.800, 11.800, },
{11.300, 11.300, 11.300, 11.300, 11.300, 11.300, 11.300, 11.300, 11.300, 11.300, 11.300, 11.300, 11.300, 11.300, 11.300, 11.300, },
{11.000, 11.000, 11.000, 11.000, 11.000, 11.000, 11.000, 11.000, 11.000, 11.000, 11.000, 11.000, 11.000, 11.000, 11.000, 11.000, },
{10.700, 10.700, 10.700, 10.700, 10.700, 10.700, 10.700, 10.700, 10.700, 10.700, 10.700, 10.700, 10.700, 10.700, 10.700, 10.700, },
};
copyTable(config->lambdaTable, hardCodedlambdaTable);
}
static void cannedtcuSolenoidTable() {
static const float hardCodedtcuSolenoidTable[6][10] = {
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
};
copyTable(config->tcuSolenoidTable, hardCodedtcuSolenoidTable);
}
```

View File

@ -0,0 +1,90 @@
# Honda-OBD1-comparing-against-global-defaults
// canned tune https://rusefi.com/online/view.php?msq=1621
```
// default 2.0
engineConfiguration->displacement = 1.493;
// default "60/2"
engineConfiguration->trigger.type = TT_TOOTHED_WHEEL;
// default 0.0
engineConfiguration->trigger.customTotalToothCount = 24;
// default "On crankshaft"
engineConfiguration->skippedWheelOnCam = On camshaft;
// default 0.0
engineConfiguration->globalTriggerAngleOffset = 80;
// default 450.0
engineConfiguration->vvtOffsets[0] = 0;
// default 200.0
engineConfiguration->injector.flow = 240;
// default "None"
engineConfiguration->injectorCompensationMode = ICM_FixedRailPressure;
// default 300.0
engineConfiguration->fuelReferencePressure = 294;
// default 0.0
engineConfiguration->cylinderBankSelect[0] = 1;
// default 0.0
engineConfiguration->cylinderBankSelect[1] = 1;
// default 0.0
engineConfiguration->cylinderBankSelect[2] = 1;
// default 0.0
engineConfiguration->cylinderBankSelect[3] = 1;
// default 0.0
engineConfiguration->cylinderBankSelect[4] = 1;
// default 0.0
engineConfiguration->cylinderBankSelect[5] = 1;
// default 0.0
engineConfiguration->cylinderBankSelect[6] = 1;
// default 0.0
engineConfiguration->cylinderBankSelect[7] = 1;
// default 0.0
engineConfiguration->cylinderBankSelect[8] = 1;
// default 0.0
engineConfiguration->cylinderBankSelect[9] = 1;
// default 0.0
engineConfiguration->cylinderBankSelect[10] = 1;
// default 0.0
engineConfiguration->cylinderBankSelect[11] = 1;
// default 0.0
engineConfiguration->tpsMin = 124;
// default 1000.0
engineConfiguration->tpsMax = 919;
// default 0.0
engineConfiguration->mapLowValueVoltage = 2.91;
// default 410.0
engineConfiguration->mapErrorDetectionTooHigh = 250;
// default "false"
engineConfiguration->enableAemXSeries = true;
// default 2.0
engineConfiguration->fan1ExtraIdle = 10;
// default "false"
engineConfiguration->enableSoftwareKnock = true;
// default "false"
engineConfiguration->enableVerboseCanTx = true;
// default 200.0
engineConfiguration->rpmSoftLimitWindowSize = 0;
// default 4.0
engineConfiguration->rpmSoftLimitTimingRetard = 0;
// default 1.0
engineConfiguration->tpsAccelFractionDivisor = 0;
// default "Throttle 1"
engineConfiguration->etbFunctions[0] = DC_None;
// default "Throttle 2"
engineConfiguration->etbFunctions[1] = DC_None;
// default 250.0
engineConfiguration->gppwm[0].pwmFrequency = 0;
// default 60.0
engineConfiguration->gppwm[0].onAboveDuty = 80;
// default 50.0
engineConfiguration->gppwm[0].offBelowDuty = 10;
// default "Zero"
engineConfiguration->gppwm[0].loadAxis = GPPWM_Map;
cannedboostTableOpenLoop();
cannedscriptTable4();
cannedignitionTable();
cannedveTable();
cannedlambdaTable();
cannedtcuSolenoidTable();
```

View File

@ -0,0 +1,108 @@
```
static void cannedboostTableOpenLoop() {
static const float hardCodedboostTableOpenLoop[8][8] = {
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{14.000, 14.000, 14.000, 14.000, 14.000, 14.000, 14.000, 14.000, },
{29.000, 29.000, 29.000, 29.000, 29.000, 29.000, 29.000, 29.000, },
{43.000, 43.000, 43.000, 43.000, 43.000, 43.000, 43.000, 43.000, },
{57.000, 57.000, 57.000, 57.000, 57.000, 57.000, 57.000, 57.000, },
{71.000, 71.000, 71.000, 71.000, 71.000, 71.000, 71.000, 71.000, },
{86.000, 86.000, 86.000, 86.000, 86.000, 86.000, 86.000, 86.000, },
{100.000, 100.000, 100.000, 100.000, 100.000, 100.000, 100.000, 100.000, },
};
copyTable(config->boostTableOpenLoop, hardCodedboostTableOpenLoop);
}
static void cannedscriptTable4() {
static const float hardCodedscriptTable4[8][10] = {
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
};
copyTable(config->scriptTable4, hardCodedscriptTable4);
}
static void cannedignitionTable() {
static const float hardCodedignitionTable[16][16] = {
{15.400, 15.800, 16.600, 17.600, 24.900, 28.900, 32.800, 36.700, 37.700, 39.000, 39.000, 39.000, 39.000, 39.000, 39.000, 39.000, },
{15.300, 15.600, 16.400, 17.300, 24.600, 28.500, 32.300, 36.200, 37.100, 38.400, 38.400, 38.400, 38.400, 38.400, 38.400, 38.400, },
{17.000, 18.900, 16.700, 20.500, 24.300, 28.100, 31.800, 35.600, 36.500, 37.800, 37.800, 37.800, 37.800, 37.800, 37.800, 37.800, },
{16.800, 18.700, 16.400, 20.200, 23.900, 27.700, 31.400, 35.100, 36.000, 37.200, 37.200, 37.200, 37.200, 37.200, 37.200, 37.200, },
{16.600, 18.500, 16.100, 19.800, 23.400, 27.100, 30.700, 34.300, 35.100, 36.300, 36.300, 36.300, 36.300, 36.300, 36.300, 36.300, },
{16.500, 18.300, 15.900, 19.500, 23.100, 26.700, 30.200, 33.800, 34.500, 35.700, 35.700, 35.700, 35.700, 35.700, 35.700, 35.700, },
{16.400, 18.200, 15.700, 19.200, 22.700, 26.300, 29.800, 33.300, 33.900, 35.100, 35.100, 35.100, 35.100, 35.100, 35.100, 35.100, },
{11.100, 12.800, 10.300, 13.700, 22.400, 25.900, 29.300, 32.800, 33.300, 34.500, 34.500, 34.500, 34.500, 34.500, 34.500, 34.500, },
{9.000, 10.700, 8.100, 11.500, 22.000, 25.500, 28.900, 32.300, 34.500, 35.600, 35.600, 35.600, 33.200, 33.200, 33.200, 33.200, },
{8.500, 10.200, 7.500, 10.800, 21.500, 24.900, 28.200, 31.500, 33.600, 34.700, 34.700, 34.700, 32.300, 32.300, 32.300, 32.300, },
{5.800, 7.400, 4.700, 7.900, 21.200, 24.500, 27.700, 31.000, 33.000, 34.100, 34.100, 34.100, 31.700, 31.700, 31.700, 31.700, },
{-2.300, -0.700, -3.500, -0.300, 20.900, 24.100, 27.200, 30.400, 32.400, 33.500, 33.500, 33.500, 31.100, 31.100, 31.100, 31.100, },
{-2.500, -0.900, -3.800, -0.600, 20.500, 23.700, 26.800, 29.900, 31.900, 32.900, 32.900, 32.900, 30.500, 30.500, 30.500, 30.500, },
{-2.500, -0.900, -3.800, -0.700, 20.500, 23.600, 26.700, 29.800, 31.800, 32.800, 32.800, 32.800, 30.400, 30.400, 30.400, 30.400, },
{-2.500, -0.900, -3.800, -0.700, 20.500, 23.600, 26.700, 29.800, 31.800, 32.800, 32.800, 32.800, 30.400, 30.400, 30.400, 30.400, },
{-2.500, -0.900, -3.800, -0.700, 20.500, 23.600, 26.700, 29.800, 31.800, 32.800, 32.800, 32.800, 30.400, 30.400, 30.400, 30.400, },
};
copyTable(config->ignitionTable, hardCodedignitionTable);
}
static void cannedveTable() {
static const float hardCodedveTable[16][16] = {
{80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, },
{80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, },
{80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, },
{80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, },
{80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, },
{80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, },
{80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, },
{80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, },
{80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, },
{80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, },
{80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, },
{80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, },
{80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, },
{80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, },
{80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, },
{80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, 80.000, },
};
copyTable(config->veTable, hardCodedveTable);
}
static void cannedlambdaTable() {
static const float hardCodedlambdaTable[16][16] = {
{14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, },
{14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, },
{14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, },
{14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, },
{14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, },
{14.000, 14.000, 14.000, 14.000, 14.000, 14.000, 14.000, 14.000, 14.000, 14.000, 14.000, 14.000, 14.000, 14.000, 14.000, 14.000, },
{13.500, 13.500, 13.500, 13.500, 13.500, 13.500, 13.500, 13.500, 13.500, 13.500, 13.500, 13.500, 13.500, 13.500, 13.500, 13.500, },
{13.200, 13.200, 13.200, 13.200, 13.200, 13.200, 13.200, 13.200, 13.200, 13.200, 13.200, 13.200, 13.200, 13.200, 13.200, 13.200, },
{13.100, 13.100, 13.100, 13.100, 13.100, 13.100, 13.100, 13.100, 13.100, 13.100, 13.100, 13.100, 13.100, 13.100, 13.100, 13.100, },
{12.900, 12.900, 12.900, 12.900, 12.900, 12.900, 12.900, 12.900, 12.900, 12.900, 12.900, 12.900, 12.900, 12.900, 12.900, 12.900, },
{12.600, 12.600, 12.600, 12.600, 12.600, 12.600, 12.600, 12.600, 12.600, 12.600, 12.600, 12.600, 12.600, 12.600, 12.600, 12.600, },
{12.300, 12.300, 12.300, 12.300, 12.300, 12.300, 12.300, 12.300, 12.300, 12.300, 12.300, 12.300, 12.300, 12.300, 12.300, 12.300, },
{11.800, 11.800, 11.800, 11.800, 11.800, 11.800, 11.800, 11.800, 11.800, 11.800, 11.800, 11.800, 11.800, 11.800, 11.800, 11.800, },
{11.300, 11.300, 11.300, 11.300, 11.300, 11.300, 11.300, 11.300, 11.300, 11.300, 11.300, 11.300, 11.300, 11.300, 11.300, 11.300, },
{11.000, 11.000, 11.000, 11.000, 11.000, 11.000, 11.000, 11.000, 11.000, 11.000, 11.000, 11.000, 11.000, 11.000, 11.000, 11.000, },
{10.700, 10.700, 10.700, 10.700, 10.700, 10.700, 10.700, 10.700, 10.700, 10.700, 10.700, 10.700, 10.700, 10.700, 10.700, 10.700, },
};
copyTable(config->lambdaTable, hardCodedlambdaTable);
}
static void cannedtcuSolenoidTable() {
static const float hardCodedtcuSolenoidTable[6][10] = {
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
};
copyTable(config->tcuSolenoidTable, hardCodedtcuSolenoidTable);
}
```

View File

@ -0,0 +1,201 @@
# M52-comparing-against-current-M52-default
// canned tune https://rusefi.com/online/view.php?msq=1591
```
// default 0.0
engineConfiguration->trigger.customTotalToothCount = 3;
// default 0.0
engineConfiguration->globalTriggerAngleOffset = 320;
// default "Single Tooth"
engineConfiguration->vvtMode[0] = VVT_INACTIVE;
// default 40.0
engineConfiguration->camDecoder2jzPrecision = 25;
// default 450.0
engineConfiguration->vvtOffsets[0] = 10;
// default "false"
engineConfiguration->overrideVvtTriggerGaps = true;
// default 0.0
engineConfiguration->gapVvtTrackingLengthOverride = 2;
// default 0.0
engineConfiguration->triggerVVTGapOverrideFrom[0] = 0.3;
// default 0.0
engineConfiguration->triggerVVTGapOverrideTo[0] = 0.6;
// default 0.0
engineConfiguration->triggerVVTGapOverrideFrom[1] = 2.1;
// default 0.0
engineConfiguration->triggerVVTGapOverrideTo[1] = 2.5;
// default "false"
engineConfiguration->verboseVVTDecoding = true;
// default "false"
engineConfiguration->verboseTriggerSynchDetails = true;
// default 200.0
engineConfiguration->injector.flow = 350;
// default 300.0
engineConfiguration->fuelReferencePressure = 100;
// default 0.0
engineConfiguration->cylinderBankSelect[0] = 1;
// default 0.0
engineConfiguration->cylinderBankSelect[1] = 1;
// default 0.0
engineConfiguration->cylinderBankSelect[2] = 1;
// default 0.0
engineConfiguration->cylinderBankSelect[3] = 1;
// default 0.0
engineConfiguration->cylinderBankSelect[4] = 1;
// default 0.0
engineConfiguration->cylinderBankSelect[5] = 1;
// default 0.0
engineConfiguration->cylinderBankSelect[6] = 1;
// default 0.0
engineConfiguration->cylinderBankSelect[7] = 1;
// default 0.0
engineConfiguration->cylinderBankSelect[8] = 1;
// default 0.0
engineConfiguration->cylinderBankSelect[9] = 1;
// default 0.0
engineConfiguration->cylinderBankSelect[10] = 1;
// default 0.0
engineConfiguration->cylinderBankSelect[11] = 1;
// default 4.0
engineConfiguration->benchTestOnTime = 5;
// default 0.0
engineConfiguration->tpsMin = 120;
// default 1000.0
engineConfiguration->tpsMax = 791;
// default 300.0
engineConfiguration->idle.solenoidFrequency = 200;
// default 3.0
engineConfiguration->idleStepperReactionTime = 10;
// default 200.0
engineConfiguration->idleStepperTotalSteps = 150;
// default 15.0
engineConfiguration->etbIdleThrottleRange = 5;
// default -20.0
engineConfiguration->idleRpmPid.minValue = 0;
// default 20.0
engineConfiguration->idleRpmPid.maxValue = 99;
// default 15.0
engineConfiguration->acIdleExtraOffset = 0;
// default 2.0
engineConfiguration->fan1ExtraIdle = 0;
// default 2.0
engineConfiguration->fan2ExtraIdle = 0;
// default 2.0
engineConfiguration->iacByTpsTaper = 15;
// default 5.0
engineConfiguration->idlePidDeactivationTpsThreshold = 1;
// default "false"
engineConfiguration->useSeparateAdvanceForIdle = true;
// default 0.0
engineConfiguration->iacByTpsHoldTime = 1.5;
// default 0.0
engineConfiguration->iacByTpsDecayTime = 3.5;
// default "false"
engineConfiguration->useIdleTimingPidControl = true;
// default 0.1
engineConfiguration->idleTimingPid.pFactor = 0.09;
// default 0.0
engineConfiguration->idleTimingPid.dFactor = 5.0E-4;
// default -10.0
engineConfiguration->idleTimingPid.minValue = -5;
// default 10.0
engineConfiguration->idleTimingPid.maxValue = 5;
// default "false"
engineConfiguration->disableFan1WhenStopped = true;
// default 0.5
engineConfiguration->acDelay = 0;
// default 4.0
engineConfiguration->startUpFuelPumpDuration = 2;
// default 20.0
engineConfiguration->knockRetardAggression = 0;
// default 3.0
engineConfiguration->knockRetardReapplyRate = 0;
// default 500.0
engineConfiguration->vvtControlMinRpm = 800;
// default "Speed Density"
engineConfiguration->fuelAlgorithm = LM_ALPHA_N;
// default "MAP"
engineConfiguration->debugMode = DBG_22;
// default "yes"
engineConfiguration->cutFuelOnHardLimit = no;
// default 7000.0
engineConfiguration->rpmHardLimit = 10000;
// default 300.0
engineConfiguration->boostCutPressure = 0;
// default 4.0
engineConfiguration->rpmSoftLimitTimingRetard = 10;
// default 250.0
engineConfiguration->etbRevLimitRange = 0;
// default "Simultaneous"
engineConfiguration->crankingInjectionMode = IM_BATCH;
// default "false"
engineConfiguration->overrideCrankingIacSetting = true;
// default 6.0
engineConfiguration->crankingTimingAngle = 0;
// default 0.5
engineConfiguration->primingDelay = 0.7;
// default "true"
engineConfiguration->isCylinderCleanupEnabled = false;
// default 550.0
engineConfiguration->cranking.rpm = 400;
// default 40.0
engineConfiguration->tpsAccelEnrichmentThreshold = 200;
// default 0.0
engineConfiguration->tpsDecelEnleanmentThreshold = 7;
// default 0.0
engineConfiguration->tpsAccelFractionPeriod = 3;
// default 1.0
engineConfiguration->tpsAccelFractionDivisor = 0.3;
// default 2000.0
engineConfiguration->boostControlMinRpm = 0;
// default 30.0
engineConfiguration->boostControlMinTps = 0;
// default 110.0
engineConfiguration->boostControlMinMap = 0;
// default "false"
engineConfiguration->coastingFuelCutEnabled = true;
// default 60.0
engineConfiguration->coastingFuelCutClt = -10;
// default 1500.0
engineConfiguration->coastingFuelCutRpmHigh = 2600;
// default 1300.0
engineConfiguration->coastingFuelCutRpmLow = 2500;
// default 30.0
engineConfiguration->coastingFuelCutMap = 60;
// default 0.0
engineConfiguration->dfcoDelay = 2.5;
// default 5.0
engineConfiguration->acrRevolutions = 0;
// default "true"
engineConfiguration->watchOutForLinearTime = false;
// default 250.0
engineConfiguration->gppwm[3].pwmFrequency = 100;
// default 3.0
engineConfiguration->hpfpCamLobes = 0;
// default 10.0
engineConfiguration->hpfpPeakPos = 0;
// default 0.29
engineConfiguration->hpfpPumpVolume = 0;
// default 10.0
engineConfiguration->hpfpMinAngle = 0;
// default 30.0
engineConfiguration->hpfpActivationAngle = 0;
// default 2000.0
engineConfiguration->hpfpTargetDecay = 0;
// default 0.01
engineConfiguration->hpfpPidP = 0;
// default 3.0E-4
engineConfiguration->hpfpPidI = 0;
cannedtpsTpsAccelTable();
cannedboostTableOpenLoop();
cannedscriptTable4();
cannedignitionTable();
cannedveTable();
cannedmapEstimateTable();
cannedlambdaTable();
cannedtcuSolenoidTable();
cannedpostCrankingFactor();
```

View File

@ -0,0 +1,156 @@
```
static void cannedtpsTpsAccelTable() {
static const float hardCodedtpsTpsAccelTable[8][8] = {
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{4.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{6.800, 4.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{9.200, 6.800, 4.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{11.200, 9.200, 6.800, 4.000, 0.000, 0.000, 0.000, 0.000, },
{12.800, 11.200, 9.200, 6.800, 4.000, 0.000, 0.000, 0.000, },
{14.000, 12.800, 11.200, 9.200, 6.800, 4.000, 0.000, 0.000, },
{14.800, 14.000, 12.800, 11.200, 9.200, 6.800, 4.000, 0.000, },
};
copyTable(config->tpsTpsAccelTable, hardCodedtpsTpsAccelTable);
}
static void cannedboostTableOpenLoop() {
static const float hardCodedboostTableOpenLoop[8][8] = {
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{14.000, 14.000, 14.000, 14.000, 14.000, 14.000, 14.000, 14.000, },
{29.000, 29.000, 29.000, 29.000, 29.000, 29.000, 29.000, 29.000, },
{43.000, 43.000, 43.000, 43.000, 43.000, 43.000, 43.000, 43.000, },
{57.000, 57.000, 57.000, 57.000, 57.000, 57.000, 57.000, 57.000, },
{71.000, 71.000, 71.000, 71.000, 71.000, 71.000, 71.000, 71.000, },
{86.000, 86.000, 86.000, 86.000, 86.000, 86.000, 86.000, 86.000, },
{100.000, 100.000, 100.000, 100.000, 100.000, 100.000, 100.000, 100.000, },
};
copyTable(config->boostTableOpenLoop, hardCodedboostTableOpenLoop);
}
static void cannedscriptTable4() {
static const float hardCodedscriptTable4[8][10] = {
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
};
copyTable(config->scriptTable4, hardCodedscriptTable4);
}
static void cannedignitionTable() {
static const float hardCodedignitionTable[16][16] = {
{10.000, 5.000, -5.000, 0.000, 2.100, 2.900, -20.000, -20.000, -20.000, -20.000, -20.000, -20.000, 0.200, 20.600, 41.000, 41.000, },
{10.000, 5.000, -5.000, 0.000, 2.100, 2.900, -20.000, -20.000, -20.000, -20.000, -20.000, -20.000, 0.200, 20.600, 41.000, 41.000, },
{8.000, 14.000, 22.100, 36.200, 37.000, 37.000, 37.000, 37.000, 37.000, 37.000, 37.000, 37.000, 37.000, 37.000, 37.000, 37.000, },
{8.000, 14.000, 22.100, 36.200, 37.000, 37.000, 37.000, 37.000, 37.000, 37.000, 37.000, 37.000, 37.000, 37.000, 40.000, 40.000, },
{8.000, 14.000, 22.100, 36.200, 37.000, 37.000, 37.000, 37.000, 37.000, 37.000, 37.000, 37.000, 37.000, 37.000, 40.000, 40.000, },
{8.000, 13.900, 22.000, 36.200, 37.000, 37.000, 37.000, 37.000, 37.000, 37.000, 37.000, 37.000, 37.000, 37.000, 40.000, 40.000, },
{8.000, 13.800, 21.900, 36.200, 37.000, 37.000, 37.000, 37.000, 37.000, 37.000, 37.000, 37.000, 37.000, 37.000, 40.000, 40.000, },
{8.000, 13.800, 21.900, 36.200, 37.000, 37.000, 37.000, 37.000, 37.000, 37.000, 37.000, 37.000, 37.000, 37.000, 40.000, 40.000, },
{8.000, 13.700, 21.900, 36.200, 37.000, 37.000, 37.000, 37.000, 37.000, 37.000, 37.000, 37.000, 37.000, 37.000, 40.000, 40.000, },
{8.000, 13.600, 21.800, 36.200, 37.000, 37.000, 37.000, 37.000, 37.000, 37.000, 37.000, 37.000, 37.000, 37.000, 40.000, 40.000, },
{10.700, 13.500, 21.700, 36.200, 37.000, 37.000, 37.000, 37.000, 37.000, 37.000, 37.000, 37.000, 37.000, 37.000, 39.000, 39.000, },
{15.900, 13.400, 21.700, 27.200, 28.000, 28.000, 28.000, 28.000, 28.000, 28.000, 28.000, 28.000, 28.000, 28.000, 29.000, 29.000, },
{15.400, 12.800, 21.300, 27.200, 28.000, 28.000, 28.000, 28.000, 28.000, 28.000, 28.000, 28.000, 28.000, 28.000, 28.000, 28.000, },
{15.000, 12.300, 20.300, 25.300, 26.000, 26.000, 26.000, 26.000, 26.000, 26.000, 26.400, 26.800, 27.000, 27.000, 27.000, 27.000, },
{14.700, 11.900, 20.000, 25.300, 26.000, 26.000, 26.000, 26.000, 26.000, 26.000, 26.400, 26.800, 27.000, 27.000, 27.000, 27.000, },
{14.300, 11.400, 19.700, 25.300, 26.000, 26.000, 26.000, 26.000, 26.000, 26.000, 26.400, 26.800, 27.000, 27.000, 27.000, 27.000, },
};
copyTable(config->ignitionTable, hardCodedignitionTable);
}
static void cannedveTable() {
static const float hardCodedveTable[16][16] = {
{20.000, 20.000, 20.000, 20.000, 25.000, 25.000, 10.000, 10.000, 10.000, 10.000, 10.000, 10.000, 10.000, 15.000, 15.000, 15.000, },
{20.000, 20.000, 20.000, 20.000, 25.000, 25.000, 10.000, 10.000, 10.000, 10.000, 10.000, 10.000, 10.000, 15.000, 15.000, 15.000, },
{20.000, 20.000, 20.000, 20.000, 20.000, 20.000, 15.000, 15.000, 15.000, 15.000, 15.000, 15.000, 15.000, 15.000, 15.000, 15.000, },
{20.000, 20.000, 20.000, 20.000, 20.000, 20.000, 15.000, 15.000, 15.000, 15.000, 15.000, 15.000, 15.000, 15.000, 15.000, 15.000, },
{20.000, 20.000, 20.000, 20.000, 20.900, 21.000, 16.100, 16.100, 16.100, 16.100, 16.100, 16.100, 16.100, 16.100, 16.100, 16.100, },
{20.000, 20.000, 20.000, 20.000, 21.900, 21.900, 17.100, 17.100, 17.100, 17.100, 17.100, 17.100, 17.100, 17.100, 17.100, 17.100, },
{19.500, 19.500, 19.500, 19.500, 22.500, 22.500, 22.500, 22.500, 22.500, 22.500, 22.500, 22.500, 22.500, 22.500, 22.500, 22.500, },
{22.100, 22.100, 22.100, 22.100, 23.800, 23.800, 23.800, 23.800, 23.800, 23.800, 23.800, 23.800, 23.800, 23.800, 23.800, 23.800, },
{44.700, 44.700, 44.700, 44.700, 25.000, 25.000, 25.000, 25.000, 25.000, 25.000, 25.000, 25.000, 25.000, 25.000, 25.000, 25.000, },
{50.000, 50.000, 50.000, 50.000, 17.500, 27.500, 27.500, 27.500, 27.500, 27.500, 27.500, 27.500, 27.500, 27.500, 27.500, 27.500, },
{50.000, 50.000, 50.000, 50.000, 20.000, 30.000, 30.000, 30.000, 30.000, 30.000, 30.000, 30.000, 30.000, 30.000, 30.000, 30.000, },
{50.000, 50.000, 50.000, 50.000, 22.500, 32.500, 32.500, 32.500, 32.500, 32.500, 32.500, 32.500, 32.500, 32.500, 32.500, 32.500, },
{50.000, 50.000, 50.000, 50.000, 25.000, 35.000, 35.000, 35.000, 35.000, 35.000, 35.000, 35.000, 35.000, 35.000, 35.000, 35.000, },
{50.000, 50.000, 50.000, 50.000, 44.000, 44.000, 44.000, 44.000, 44.000, 44.000, 44.000, 44.000, 44.000, 44.000, 44.000, 44.000, },
{65.000, 65.000, 65.000, 65.000, 44.000, 44.000, 44.000, 44.000, 44.000, 44.000, 44.000, 44.000, 44.000, 44.000, 44.000, 44.000, },
{65.000, 65.000, 65.000, 65.000, 44.000, 44.000, 44.000, 44.000, 44.000, 44.000, 44.000, 44.000, 44.000, 44.000, 44.000, 44.000, },
};
copyTable(config->veTable, hardCodedveTable);
}
static void cannedmapEstimateTable() {
static const float hardCodedmapEstimateTable[16][16] = {
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
};
copyTable(config->mapEstimateTable, hardCodedmapEstimateTable);
}
static void cannedlambdaTable() {
static const float hardCodedlambdaTable[16][16] = {
{14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, },
{14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, },
{14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, },
{14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, },
{14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, },
{14.000, 14.000, 14.000, 14.000, 14.000, 14.000, 14.000, 14.000, 14.000, 14.000, 14.000, 14.000, 14.000, 14.000, 14.000, 14.000, },
{13.500, 13.500, 13.500, 13.500, 13.500, 13.500, 13.500, 13.500, 13.500, 13.500, 13.500, 13.500, 13.500, 13.500, 13.500, 13.500, },
{13.200, 13.200, 13.200, 13.200, 13.200, 13.200, 13.200, 13.200, 13.200, 13.200, 13.200, 13.200, 13.200, 13.200, 13.200, 13.200, },
{13.100, 13.100, 13.100, 13.100, 13.100, 13.100, 13.100, 13.100, 13.100, 13.100, 13.100, 13.100, 13.100, 13.100, 13.100, 13.100, },
{12.900, 12.900, 12.900, 12.900, 12.900, 12.900, 12.900, 12.900, 12.900, 12.900, 12.900, 12.900, 12.900, 12.900, 12.900, 12.900, },
{12.600, 12.600, 12.600, 12.600, 12.600, 12.600, 12.600, 12.600, 12.600, 12.600, 12.600, 12.600, 12.600, 12.600, 12.600, 12.600, },
{12.300, 12.300, 12.300, 12.300, 12.300, 12.300, 12.300, 12.300, 12.300, 12.300, 12.300, 12.300, 12.300, 12.300, 12.300, 12.300, },
{11.800, 11.800, 11.800, 11.800, 11.800, 11.800, 11.800, 11.800, 11.800, 11.800, 11.800, 11.800, 11.800, 11.800, 11.800, 11.800, },
{11.300, 11.300, 11.300, 11.300, 11.300, 11.300, 11.300, 11.300, 11.300, 11.300, 11.300, 11.300, 11.300, 11.300, 11.300, 11.300, },
{11.000, 11.000, 11.000, 11.000, 11.000, 11.000, 11.000, 11.000, 11.000, 11.000, 11.000, 11.000, 11.000, 11.000, 11.000, 11.000, },
{10.700, 10.700, 10.700, 10.700, 10.700, 10.700, 10.700, 10.700, 10.700, 10.700, 10.700, 10.700, 10.700, 10.700, 10.700, 10.700, },
};
copyTable(config->lambdaTable, hardCodedlambdaTable);
}
static void cannedtcuSolenoidTable() {
static const float hardCodedtcuSolenoidTable[6][10] = {
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
};
copyTable(config->tcuSolenoidTable, hardCodedtcuSolenoidTable);
}
static void cannedpostCrankingFactor() {
static const float hardCodedpostCrankingFactor[6][6] = {
{1.200, 1.000, 1.000, 1.000, 1.000, 1.000, },
{1.200, 1.000, 1.000, 1.000, 1.000, 1.000, },
{1.200, 1.000, 1.000, 1.000, 1.000, 1.000, },
{1.200, 1.000, 1.000, 1.000, 1.000, 1.000, },
{1.200, 1.000, 1.000, 1.000, 1.000, 1.000, },
{1.200, 1.000, 1.000, 1.000, 1.000, 1.000, },
};
copyTable(engineConfiguration->postCrankingFactor, hardCodedpostCrankingFactor);
}
```

View File

@ -0,0 +1,207 @@
# M52-comparing-against-global-defaults
// canned tune https://rusefi.com/online/view.php?msq=1591
```
// default "Single Coil"
engineConfiguration->ignitionMode = IM_WASTED_SPARK;
// default 4.0
engineConfiguration->cylindersCount = 6;
// default 2.0
engineConfiguration->displacement = 3;
// default 0.0
engineConfiguration->trigger.customTotalToothCount = 3;
// default 0.0
engineConfiguration->globalTriggerAngleOffset = 320;
// default "Single Tooth"
engineConfiguration->vvtMode[0] = VVT_INACTIVE;
// default 40.0
engineConfiguration->camDecoder2jzPrecision = 25;
// default 450.0
engineConfiguration->vvtOffsets[0] = 10;
// default "false"
engineConfiguration->overrideVvtTriggerGaps = true;
// default 0.0
engineConfiguration->gapVvtTrackingLengthOverride = 2;
// default 0.0
engineConfiguration->triggerVVTGapOverrideFrom[0] = 0.3;
// default 0.0
engineConfiguration->triggerVVTGapOverrideTo[0] = 0.6;
// default 0.0
engineConfiguration->triggerVVTGapOverrideFrom[1] = 2.1;
// default 0.0
engineConfiguration->triggerVVTGapOverrideTo[1] = 2.5;
// default "false"
engineConfiguration->verboseVVTDecoding = true;
// default "false"
engineConfiguration->verboseTriggerSynchDetails = true;
// default 200.0
engineConfiguration->injector.flow = 350;
// default 300.0
engineConfiguration->fuelReferencePressure = 100;
// default 0.0
engineConfiguration->cylinderBankSelect[0] = 1;
// default 0.0
engineConfiguration->cylinderBankSelect[1] = 1;
// default 0.0
engineConfiguration->cylinderBankSelect[2] = 1;
// default 0.0
engineConfiguration->cylinderBankSelect[3] = 1;
// default 0.0
engineConfiguration->cylinderBankSelect[4] = 1;
// default 0.0
engineConfiguration->cylinderBankSelect[5] = 1;
// default 0.0
engineConfiguration->cylinderBankSelect[6] = 1;
// default 0.0
engineConfiguration->cylinderBankSelect[7] = 1;
// default 0.0
engineConfiguration->cylinderBankSelect[8] = 1;
// default 0.0
engineConfiguration->cylinderBankSelect[9] = 1;
// default 0.0
engineConfiguration->cylinderBankSelect[10] = 1;
// default 0.0
engineConfiguration->cylinderBankSelect[11] = 1;
// default 4.0
engineConfiguration->benchTestOnTime = 5;
// default 0.0
engineConfiguration->tpsMin = 120;
// default 1000.0
engineConfiguration->tpsMax = 791;
// default 300.0
engineConfiguration->idle.solenoidFrequency = 200;
// default 3.0
engineConfiguration->idleStepperReactionTime = 10;
// default 200.0
engineConfiguration->idleStepperTotalSteps = 150;
// default 15.0
engineConfiguration->etbIdleThrottleRange = 5;
// default -20.0
engineConfiguration->idleRpmPid.minValue = 0;
// default 20.0
engineConfiguration->idleRpmPid.maxValue = 99;
// default 15.0
engineConfiguration->acIdleExtraOffset = 0;
// default 2.0
engineConfiguration->fan1ExtraIdle = 0;
// default 2.0
engineConfiguration->fan2ExtraIdle = 0;
// default 2.0
engineConfiguration->iacByTpsTaper = 15;
// default 5.0
engineConfiguration->idlePidDeactivationTpsThreshold = 1;
// default "false"
engineConfiguration->useSeparateAdvanceForIdle = true;
// default 0.0
engineConfiguration->iacByTpsHoldTime = 1.5;
// default 0.0
engineConfiguration->iacByTpsDecayTime = 3.5;
// default "false"
engineConfiguration->useIdleTimingPidControl = true;
// default 0.1
engineConfiguration->idleTimingPid.pFactor = 0.09;
// default 0.0
engineConfiguration->idleTimingPid.dFactor = 5.0E-4;
// default -10.0
engineConfiguration->idleTimingPid.minValue = -5;
// default 10.0
engineConfiguration->idleTimingPid.maxValue = 5;
// default "false"
engineConfiguration->disableFan1WhenStopped = true;
// default 0.5
engineConfiguration->acDelay = 0;
// default 4.0
engineConfiguration->startUpFuelPumpDuration = 2;
// default 20.0
engineConfiguration->knockRetardAggression = 0;
// default 3.0
engineConfiguration->knockRetardReapplyRate = 0;
// default 550.0
engineConfiguration->vvtControlMinRpm = 800;
// default "Speed Density"
engineConfiguration->fuelAlgorithm = LM_ALPHA_N;
// default "MAP"
engineConfiguration->debugMode = DBG_22;
// default "yes"
engineConfiguration->cutFuelOnHardLimit = no;
// default 7000.0
engineConfiguration->rpmHardLimit = 10000;
// default 300.0
engineConfiguration->boostCutPressure = 0;
// default 4.0
engineConfiguration->rpmSoftLimitTimingRetard = 10;
// default 250.0
engineConfiguration->etbRevLimitRange = 0;
// default "Simultaneous"
engineConfiguration->crankingInjectionMode = IM_BATCH;
// default "false"
engineConfiguration->overrideCrankingIacSetting = true;
// default 6.0
engineConfiguration->crankingTimingAngle = 0;
// default 0.5
engineConfiguration->primingDelay = 0.7;
// default "true"
engineConfiguration->isCylinderCleanupEnabled = false;
// default 550.0
engineConfiguration->cranking.rpm = 400;
// default 40.0
engineConfiguration->tpsAccelEnrichmentThreshold = 200;
// default 0.0
engineConfiguration->tpsDecelEnleanmentThreshold = 7;
// default 0.0
engineConfiguration->tpsAccelFractionPeriod = 3;
// default 1.0
engineConfiguration->tpsAccelFractionDivisor = 0.3;
// default 2000.0
engineConfiguration->boostControlMinRpm = 0;
// default 30.0
engineConfiguration->boostControlMinTps = 0;
// default 110.0
engineConfiguration->boostControlMinMap = 0;
// default "false"
engineConfiguration->coastingFuelCutEnabled = true;
// default 60.0
engineConfiguration->coastingFuelCutClt = -10;
// default 1500.0
engineConfiguration->coastingFuelCutRpmHigh = 2600;
// default 1300.0
engineConfiguration->coastingFuelCutRpmLow = 2500;
// default 30.0
engineConfiguration->coastingFuelCutMap = 60;
// default 0.0
engineConfiguration->dfcoDelay = 2.5;
// default 5.0
engineConfiguration->acrRevolutions = 0;
// default "true"
engineConfiguration->watchOutForLinearTime = false;
// default 250.0
engineConfiguration->gppwm[3].pwmFrequency = 100;
// default 3.0
engineConfiguration->hpfpCamLobes = 0;
// default 10.0
engineConfiguration->hpfpPeakPos = 0;
// default 0.29
engineConfiguration->hpfpPumpVolume = 0;
// default 10.0
engineConfiguration->hpfpMinAngle = 0;
// default 30.0
engineConfiguration->hpfpActivationAngle = 0;
// default 2000.0
engineConfiguration->hpfpTargetDecay = 0;
// default 0.01
engineConfiguration->hpfpPidP = 0;
// default 3.0E-4
engineConfiguration->hpfpPidI = 0;
cannedtpsTpsAccelTable();
cannedboostTableOpenLoop();
cannedscriptTable4();
cannedignitionTable();
cannedveTable();
cannedmapEstimateTable();
cannedlambdaTable();
cannedtcuSolenoidTable();
cannedpostCrankingFactor();
```

View File

@ -0,0 +1,156 @@
```
static void cannedtpsTpsAccelTable() {
static const float hardCodedtpsTpsAccelTable[8][8] = {
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{4.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{6.800, 4.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{9.200, 6.800, 4.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{11.200, 9.200, 6.800, 4.000, 0.000, 0.000, 0.000, 0.000, },
{12.800, 11.200, 9.200, 6.800, 4.000, 0.000, 0.000, 0.000, },
{14.000, 12.800, 11.200, 9.200, 6.800, 4.000, 0.000, 0.000, },
{14.800, 14.000, 12.800, 11.200, 9.200, 6.800, 4.000, 0.000, },
};
copyTable(config->tpsTpsAccelTable, hardCodedtpsTpsAccelTable);
}
static void cannedboostTableOpenLoop() {
static const float hardCodedboostTableOpenLoop[8][8] = {
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{14.000, 14.000, 14.000, 14.000, 14.000, 14.000, 14.000, 14.000, },
{29.000, 29.000, 29.000, 29.000, 29.000, 29.000, 29.000, 29.000, },
{43.000, 43.000, 43.000, 43.000, 43.000, 43.000, 43.000, 43.000, },
{57.000, 57.000, 57.000, 57.000, 57.000, 57.000, 57.000, 57.000, },
{71.000, 71.000, 71.000, 71.000, 71.000, 71.000, 71.000, 71.000, },
{86.000, 86.000, 86.000, 86.000, 86.000, 86.000, 86.000, 86.000, },
{100.000, 100.000, 100.000, 100.000, 100.000, 100.000, 100.000, 100.000, },
};
copyTable(config->boostTableOpenLoop, hardCodedboostTableOpenLoop);
}
static void cannedscriptTable4() {
static const float hardCodedscriptTable4[8][10] = {
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
};
copyTable(config->scriptTable4, hardCodedscriptTable4);
}
static void cannedignitionTable() {
static const float hardCodedignitionTable[16][16] = {
{10.000, 5.000, -5.000, 0.000, 2.100, 2.900, -20.000, -20.000, -20.000, -20.000, -20.000, -20.000, 0.200, 20.600, 41.000, 41.000, },
{10.000, 5.000, -5.000, 0.000, 2.100, 2.900, -20.000, -20.000, -20.000, -20.000, -20.000, -20.000, 0.200, 20.600, 41.000, 41.000, },
{8.000, 14.000, 22.100, 36.200, 37.000, 37.000, 37.000, 37.000, 37.000, 37.000, 37.000, 37.000, 37.000, 37.000, 37.000, 37.000, },
{8.000, 14.000, 22.100, 36.200, 37.000, 37.000, 37.000, 37.000, 37.000, 37.000, 37.000, 37.000, 37.000, 37.000, 40.000, 40.000, },
{8.000, 14.000, 22.100, 36.200, 37.000, 37.000, 37.000, 37.000, 37.000, 37.000, 37.000, 37.000, 37.000, 37.000, 40.000, 40.000, },
{8.000, 13.900, 22.000, 36.200, 37.000, 37.000, 37.000, 37.000, 37.000, 37.000, 37.000, 37.000, 37.000, 37.000, 40.000, 40.000, },
{8.000, 13.800, 21.900, 36.200, 37.000, 37.000, 37.000, 37.000, 37.000, 37.000, 37.000, 37.000, 37.000, 37.000, 40.000, 40.000, },
{8.000, 13.800, 21.900, 36.200, 37.000, 37.000, 37.000, 37.000, 37.000, 37.000, 37.000, 37.000, 37.000, 37.000, 40.000, 40.000, },
{8.000, 13.700, 21.900, 36.200, 37.000, 37.000, 37.000, 37.000, 37.000, 37.000, 37.000, 37.000, 37.000, 37.000, 40.000, 40.000, },
{8.000, 13.600, 21.800, 36.200, 37.000, 37.000, 37.000, 37.000, 37.000, 37.000, 37.000, 37.000, 37.000, 37.000, 40.000, 40.000, },
{10.700, 13.500, 21.700, 36.200, 37.000, 37.000, 37.000, 37.000, 37.000, 37.000, 37.000, 37.000, 37.000, 37.000, 39.000, 39.000, },
{15.900, 13.400, 21.700, 27.200, 28.000, 28.000, 28.000, 28.000, 28.000, 28.000, 28.000, 28.000, 28.000, 28.000, 29.000, 29.000, },
{15.400, 12.800, 21.300, 27.200, 28.000, 28.000, 28.000, 28.000, 28.000, 28.000, 28.000, 28.000, 28.000, 28.000, 28.000, 28.000, },
{15.000, 12.300, 20.300, 25.300, 26.000, 26.000, 26.000, 26.000, 26.000, 26.000, 26.400, 26.800, 27.000, 27.000, 27.000, 27.000, },
{14.700, 11.900, 20.000, 25.300, 26.000, 26.000, 26.000, 26.000, 26.000, 26.000, 26.400, 26.800, 27.000, 27.000, 27.000, 27.000, },
{14.300, 11.400, 19.700, 25.300, 26.000, 26.000, 26.000, 26.000, 26.000, 26.000, 26.400, 26.800, 27.000, 27.000, 27.000, 27.000, },
};
copyTable(config->ignitionTable, hardCodedignitionTable);
}
static void cannedveTable() {
static const float hardCodedveTable[16][16] = {
{20.000, 20.000, 20.000, 20.000, 25.000, 25.000, 10.000, 10.000, 10.000, 10.000, 10.000, 10.000, 10.000, 15.000, 15.000, 15.000, },
{20.000, 20.000, 20.000, 20.000, 25.000, 25.000, 10.000, 10.000, 10.000, 10.000, 10.000, 10.000, 10.000, 15.000, 15.000, 15.000, },
{20.000, 20.000, 20.000, 20.000, 20.000, 20.000, 15.000, 15.000, 15.000, 15.000, 15.000, 15.000, 15.000, 15.000, 15.000, 15.000, },
{20.000, 20.000, 20.000, 20.000, 20.000, 20.000, 15.000, 15.000, 15.000, 15.000, 15.000, 15.000, 15.000, 15.000, 15.000, 15.000, },
{20.000, 20.000, 20.000, 20.000, 20.900, 21.000, 16.100, 16.100, 16.100, 16.100, 16.100, 16.100, 16.100, 16.100, 16.100, 16.100, },
{20.000, 20.000, 20.000, 20.000, 21.900, 21.900, 17.100, 17.100, 17.100, 17.100, 17.100, 17.100, 17.100, 17.100, 17.100, 17.100, },
{19.500, 19.500, 19.500, 19.500, 22.500, 22.500, 22.500, 22.500, 22.500, 22.500, 22.500, 22.500, 22.500, 22.500, 22.500, 22.500, },
{22.100, 22.100, 22.100, 22.100, 23.800, 23.800, 23.800, 23.800, 23.800, 23.800, 23.800, 23.800, 23.800, 23.800, 23.800, 23.800, },
{44.700, 44.700, 44.700, 44.700, 25.000, 25.000, 25.000, 25.000, 25.000, 25.000, 25.000, 25.000, 25.000, 25.000, 25.000, 25.000, },
{50.000, 50.000, 50.000, 50.000, 17.500, 27.500, 27.500, 27.500, 27.500, 27.500, 27.500, 27.500, 27.500, 27.500, 27.500, 27.500, },
{50.000, 50.000, 50.000, 50.000, 20.000, 30.000, 30.000, 30.000, 30.000, 30.000, 30.000, 30.000, 30.000, 30.000, 30.000, 30.000, },
{50.000, 50.000, 50.000, 50.000, 22.500, 32.500, 32.500, 32.500, 32.500, 32.500, 32.500, 32.500, 32.500, 32.500, 32.500, 32.500, },
{50.000, 50.000, 50.000, 50.000, 25.000, 35.000, 35.000, 35.000, 35.000, 35.000, 35.000, 35.000, 35.000, 35.000, 35.000, 35.000, },
{50.000, 50.000, 50.000, 50.000, 44.000, 44.000, 44.000, 44.000, 44.000, 44.000, 44.000, 44.000, 44.000, 44.000, 44.000, 44.000, },
{65.000, 65.000, 65.000, 65.000, 44.000, 44.000, 44.000, 44.000, 44.000, 44.000, 44.000, 44.000, 44.000, 44.000, 44.000, 44.000, },
{65.000, 65.000, 65.000, 65.000, 44.000, 44.000, 44.000, 44.000, 44.000, 44.000, 44.000, 44.000, 44.000, 44.000, 44.000, 44.000, },
};
copyTable(config->veTable, hardCodedveTable);
}
static void cannedmapEstimateTable() {
static const float hardCodedmapEstimateTable[16][16] = {
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
};
copyTable(config->mapEstimateTable, hardCodedmapEstimateTable);
}
static void cannedlambdaTable() {
static const float hardCodedlambdaTable[16][16] = {
{14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, },
{14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, },
{14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, },
{14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, },
{14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, },
{14.000, 14.000, 14.000, 14.000, 14.000, 14.000, 14.000, 14.000, 14.000, 14.000, 14.000, 14.000, 14.000, 14.000, 14.000, 14.000, },
{13.500, 13.500, 13.500, 13.500, 13.500, 13.500, 13.500, 13.500, 13.500, 13.500, 13.500, 13.500, 13.500, 13.500, 13.500, 13.500, },
{13.200, 13.200, 13.200, 13.200, 13.200, 13.200, 13.200, 13.200, 13.200, 13.200, 13.200, 13.200, 13.200, 13.200, 13.200, 13.200, },
{13.100, 13.100, 13.100, 13.100, 13.100, 13.100, 13.100, 13.100, 13.100, 13.100, 13.100, 13.100, 13.100, 13.100, 13.100, 13.100, },
{12.900, 12.900, 12.900, 12.900, 12.900, 12.900, 12.900, 12.900, 12.900, 12.900, 12.900, 12.900, 12.900, 12.900, 12.900, 12.900, },
{12.600, 12.600, 12.600, 12.600, 12.600, 12.600, 12.600, 12.600, 12.600, 12.600, 12.600, 12.600, 12.600, 12.600, 12.600, 12.600, },
{12.300, 12.300, 12.300, 12.300, 12.300, 12.300, 12.300, 12.300, 12.300, 12.300, 12.300, 12.300, 12.300, 12.300, 12.300, 12.300, },
{11.800, 11.800, 11.800, 11.800, 11.800, 11.800, 11.800, 11.800, 11.800, 11.800, 11.800, 11.800, 11.800, 11.800, 11.800, 11.800, },
{11.300, 11.300, 11.300, 11.300, 11.300, 11.300, 11.300, 11.300, 11.300, 11.300, 11.300, 11.300, 11.300, 11.300, 11.300, 11.300, },
{11.000, 11.000, 11.000, 11.000, 11.000, 11.000, 11.000, 11.000, 11.000, 11.000, 11.000, 11.000, 11.000, 11.000, 11.000, 11.000, },
{10.700, 10.700, 10.700, 10.700, 10.700, 10.700, 10.700, 10.700, 10.700, 10.700, 10.700, 10.700, 10.700, 10.700, 10.700, 10.700, },
};
copyTable(config->lambdaTable, hardCodedlambdaTable);
}
static void cannedtcuSolenoidTable() {
static const float hardCodedtcuSolenoidTable[6][10] = {
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
};
copyTable(config->tcuSolenoidTable, hardCodedtcuSolenoidTable);
}
static void cannedpostCrankingFactor() {
static const float hardCodedpostCrankingFactor[6][6] = {
{1.200, 1.000, 1.000, 1.000, 1.000, 1.000, },
{1.200, 1.000, 1.000, 1.000, 1.000, 1.000, },
{1.200, 1.000, 1.000, 1.000, 1.000, 1.000, },
{1.200, 1.000, 1.000, 1.000, 1.000, 1.000, },
{1.200, 1.000, 1.000, 1.000, 1.000, 1.000, },
{1.200, 1.000, 1.000, 1.000, 1.000, 1.000, },
};
copyTable(engineConfiguration->postCrankingFactor, hardCodedpostCrankingFactor);
}
```

View File

@ -0,0 +1,294 @@
# MazdaMiataNB2-comparing-against-current-MazdaMiataNB2-default
// canned tune https://rusefi.com/online/view.php?msq=985
```
// default 1.0
engineConfiguration->tChargeAirIncrLimit = 15;
// default 153.6
engineConfiguration->tChargeAirFlowMax = 165;
// default 0.0
engineConfiguration->fixedTiming = 10;
// default 1.839
engineConfiguration->displacement = 1.838997;
// default "Miata NB"
engineConfiguration->trigger.type = TT_TOOTHED_WHEEL_36_1;
// default 0.0
engineConfiguration->globalTriggerAngleOffset = 76;
// default 98.0
engineConfiguration->vvtOffsets[0] = 76;
// default 0.0
engineConfiguration->cylinderBankSelect[0] = 1;
// default 0.0
engineConfiguration->cylinderBankSelect[1] = 1;
// default 0.0
engineConfiguration->cylinderBankSelect[2] = 1;
// default 0.0
engineConfiguration->cylinderBankSelect[3] = 1;
// default 0.0
engineConfiguration->cylinderBankSelect[4] = 1;
// default 0.0
engineConfiguration->cylinderBankSelect[5] = 1;
// default 0.0
engineConfiguration->cylinderBankSelect[6] = 1;
// default 0.0
engineConfiguration->cylinderBankSelect[7] = 1;
// default 0.0
engineConfiguration->cylinderBankSelect[8] = 1;
// default 0.0
engineConfiguration->cylinderBankSelect[9] = 1;
// default 0.0
engineConfiguration->cylinderBankSelect[10] = 1;
// default 0.0
engineConfiguration->cylinderBankSelect[11] = 1;
// default 0.0
engineConfiguration->injectorCorrectionPolynomial[4] = 8.2652E-39;
// default 4.0
engineConfiguration->benchTestOnTime = 0;
// default 110.0
engineConfiguration->tpsMin = 107;
// default 650.0
engineConfiguration->tpsMax = 739;
// default 1000.0
engineConfiguration->tps1SecondaryMin = 0;
// default 0.0
engineConfiguration->tps1SecondaryMax = 1000;
// default 1000.0
engineConfiguration->tps2SecondaryMin = 0;
// default 0.0
engineConfiguration->tps2SecondaryMax = 1000;
// default 5.0
engineConfiguration->throttlePedalSecondaryUpVoltage = 0;
// default 0.0
engineConfiguration->throttlePedalSecondaryWOTVoltage = 5;
// default 65.0
engineConfiguration->mc33_hvolt = 0;
// default 13000.0
engineConfiguration->mc33_i_boost = 0;
// default 400.0
engineConfiguration->mc33_t_max_boost = 0;
// default 9400.0
engineConfiguration->mc33_i_peak = 0;
// default 700.0
engineConfiguration->mc33_t_peak_tot = 0;
// default 10.0
engineConfiguration->mc33_t_peak_off = 0;
// default 10.0
engineConfiguration->mc33_t_bypass = 0;
// default 3700.0
engineConfiguration->mc33_i_hold = 0;
// default 60.0
engineConfiguration->mc33_t_hold_off = 0;
// default 10000.0
engineConfiguration->mc33_t_hold_tot = 0;
// default "false"
engineConfiguration->clutchDownPinInverted = true;
// default 1.0
engineConfiguration->turboSpeedSensorMultiplier = 0;
// default 410.0
engineConfiguration->mapErrorDetectionTooHigh = 250;
// default "14Point7"
engineConfiguration->afr_type = ES_Custom;
// default 0.0
engineConfiguration->afr.v1 = 1;
// default 9.996
engineConfiguration->afr.value1 = 8.099976;
// default 5.0
engineConfiguration->afr.v2 = 4;
// default 19.992
engineConfiguration->afr.value2 = 17.8;
// default 0.0
engineConfiguration->egoValueShift = -0.200001;
// default 300.0
engineConfiguration->idle.solenoidFrequency = 500;
// default 3.0
engineConfiguration->idleStepperReactionTime = 0;
// default 200.0
engineConfiguration->idleStepperTotalSteps = 0;
// default "true"
engineConfiguration->stepperForceParkingEveryRestart = false;
// default 15.0
engineConfiguration->etbIdleThrottleRange = 5;
// default 0.3
engineConfiguration->idleRpmPid.iFactor = 0.03;
// default 10.0
engineConfiguration->idleRpmPid.maxValue = 76;
// default 2.0
engineConfiguration->fan1ExtraIdle = 0;
// default 2.0
engineConfiguration->fan2ExtraIdle = 0;
// default 6.0
engineConfiguration->iacByTpsTaper = 5;
// default 5.0
engineConfiguration->idlePidDeactivationTpsThreshold = 1;
// default 100.0
engineConfiguration->idlePidRpmDeadZone = 65;
// default "false"
engineConfiguration->useSeparateAdvanceForIdle = true;
// default "false"
engineConfiguration->useSeparateVeForIdle = true;
// default 0.1
engineConfiguration->idleTimingPid.pFactor = 0.01;
// default 10.0
engineConfiguration->idleTimingPid.maxValue = 12;
// default 95.0
engineConfiguration->fanOnTemperature = 97;
// default 91.0
engineConfiguration->fanOffTemperature = 94;
// default 95.0
engineConfiguration->fan2OnTemperature = 99;
// default 91.0
engineConfiguration->fan2OffTemperature = 94;
// default "false"
engineConfiguration->enableFan2WithAc = true;
// default 5000.0
engineConfiguration->maxAcRpm = 5200;
// default 75.0
engineConfiguration->maxAcTps = 70;
// default "false"
engineConfiguration->enableSoftwareKnock = true;
// default 20.0
engineConfiguration->knockRetardAggression = 0;
// default 3.0
engineConfiguration->knockRetardReapplyRate = 0;
// default 35.0
engineConfiguration->stft.maxOverrunLoad = 30;
// default "false"
engineConfiguration->fuelClosedLoopCorrectionEnabled = true;
// default 60.0
engineConfiguration->stft.startupDelay = 25;
// default 60.0
engineConfiguration->stft.minClt = 80;
// default 12.0
engineConfiguration->stft.minAfr = 10.5;
// default 17.0
engineConfiguration->stft.maxAfr = 18;
// default 0.5
engineConfiguration->stft.deadband = 0;
// default 90.0
engineConfiguration->auxPid[1].maxValue = 0;
// default 14.0
engineConfiguration->targetVBatt = 14.19995;
// default 3.0
engineConfiguration->vssFilterReciprocal = 5;
// default 538.0
engineConfiguration->driveWheelRevPerKm = 570;
// default 1.117
engineConfiguration->vssGearRatio = 4.1;
// default 4.0
engineConfiguration->vssToothCount = 1;
// default "BMW_e46"
engineConfiguration->canVssNbcType = W202;
// default 3.91
engineConfiguration->finalGearRatio = 4.1;
// default 6.0
engineConfiguration->totalGearsCount = 5;
// default 3.76
engineConfiguration->gearRatio[0] = 3.14;
// default 2.27
engineConfiguration->gearRatio[1] = 1.89;
// default 1.65
engineConfiguration->gearRatio[2] = 1.33;
// default 1.26
engineConfiguration->gearRatio[3] = 1;
// default 1.0
engineConfiguration->gearRatio[4] = 0.81;
// default 0.84
engineConfiguration->gearRatio[5] = 0;
// default "500kbps"
engineConfiguration->can2BaudRate = B100KBPS;
// default "MAP"
engineConfiguration->debugMode = DBG_TPS_ACCEL;
// default 300.0
engineConfiguration->boostCutPressure = 0;
// default 250.0
engineConfiguration->etbRevLimitRange = 0;
// default 60.0
engineConfiguration->crankingIACposition = 33;
// default 250.0
engineConfiguration->afterCrankingIACtaperDuration = 189;
// default "false"
engineConfiguration->overrideCrankingIacSetting = true;
// default 0.5
engineConfiguration->primingDelay = 0;
// default "true"
engineConfiguration->isFasterEngineSpinUpEnabled = false;
// default 0.0
engineConfiguration->tpsAccelLookback = 0.2;
// default 40.0
engineConfiguration->tpsAccelEnrichmentThreshold = 4;
// default 1.0
engineConfiguration->tpsAccelFractionDivisor = 0;
// default 0.1
engineConfiguration->wwaeTau = 0.15;
// default 0.0
engineConfiguration->scriptSetting[0] = 5000;
// default 2.0
engineConfiguration->issFilterReciprocal = 0;
// default 1.0
engineConfiguration->tcuInputSpeedSensorTeeth = 0;
// default 100.0
engineConfiguration->etbMaximumPosition = 0;
// default "Launch Button"
engineConfiguration->launchActivationMode = CLUTCH_INPUT_LAUNCH;
// default 30.0
engineConfiguration->launchSpeedThreshold = 1;
// default 3000.0
engineConfiguration->launchRpm = 3500;
// default "false"
engineConfiguration->enableLaunchRetard = true;
// default 0.0
engineConfiguration->launchTimingRetard = -40;
// default "false"
engineConfiguration->launchSmoothRetard = true;
// default "false"
engineConfiguration->launchSparkCutEnable = true;
// default "Switch Input"
engineConfiguration->antiLagActivationMode = ALWAYS_ON_ANTILAG;
// default 1500.0
engineConfiguration->coastingFuelCutRpmHigh = 2250;
// default 1300.0
engineConfiguration->coastingFuelCutRpmLow = 1400;
// default 2.0
engineConfiguration->coastingFuelCutTps = 1;
// default "Zero"
engineConfiguration->gppwm[0].loadAxis = GPPWM_Tps;
// default "Zero"
engineConfiguration->gppwm[1].loadAxis = GPPWM_Tps;
// default "Zero"
engineConfiguration->gppwm[2].loadAxis = GPPWM_Tps;
// default "Zero"
engineConfiguration->gppwm[3].loadAxis = GPPWM_Tps;
// default 3.0
engineConfiguration->hpfpCamLobes = 0;
// default 10.0
engineConfiguration->hpfpPeakPos = 0;
// default 0.29
engineConfiguration->hpfpPumpVolume = 0;
// default 10.0
engineConfiguration->hpfpMinAngle = 0;
// default 30.0
engineConfiguration->hpfpActivationAngle = 0;
// default 2000.0
engineConfiguration->hpfpTargetDecay = 0;
// default 0.01
engineConfiguration->hpfpPidP = 0;
// default 3.0E-4
engineConfiguration->hpfpPidI = 0;
nb2cannedtpsTpsAccelTable();
nb2cannedboostTableOpenLoop();
nb2cannedboostTableClosedLoop();
nb2cannedvvtTable1();
nb2cannedscriptTable4();
nb2cannedignitionTable();
nb2cannedignitionIatCorrTable();
nb2cannedveTable();
nb2cannedidleVeTable();
nb2cannedmapEstimateTable();
nb2cannedinjectionPhase();
nb2cannedlambdaTable();
nb2cannedtcuSolenoidTable();
nb2cannedpostCrankingFactor();
```

View File

@ -0,0 +1,230 @@
```
static void nb2cannedtpsTpsAccelTable() {
static const float hardCodedtpsTpsAccelTable[8][8] = {
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{1.484, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{1.822, 1.649, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{2.103, 2.024, 1.653, 0.000, 0.000, 0.000, 0.000, 0.000, },
{2.257, 2.337, 2.024, 1.649, 0.000, 0.000, 0.000, 0.000, },
{2.380, 2.508, 2.337, 2.024, 1.649, 0.000, 0.000, 0.000, },
{2.467, 2.645, 2.508, 2.337, 2.024, 1.649, 0.000, 0.000, },
{2.586, 2.467, 2.380, 2.257, 2.103, 1.822, 1.484, 0.000, },
};
copyTable(config->tpsTpsAccelTable, hardCodedtpsTpsAccelTable);
}
static void nb2cannedboostTableOpenLoop() {
static const float hardCodedboostTableOpenLoop[8][8] = {
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{14.000, 14.000, 14.000, 14.000, 14.000, 14.000, 14.000, 14.000, },
{28.000, 28.000, 28.000, 28.000, 28.000, 28.000, 28.000, 28.000, },
{42.000, 42.000, 42.000, 42.000, 42.000, 42.000, 42.000, 42.000, },
{58.000, 58.000, 58.000, 58.000, 58.000, 58.000, 58.000, 58.000, },
{72.000, 72.000, 72.000, 72.000, 72.000, 72.000, 72.000, 72.000, },
{86.000, 86.000, 86.000, 86.000, 86.000, 86.000, 86.000, 86.000, },
{100.000, 100.000, 100.000, 100.000, 100.000, 100.000, 100.000, 100.000, },
};
copyTable(config->boostTableOpenLoop, hardCodedboostTableOpenLoop);
}
static void nb2cannedboostTableClosedLoop() {
static const float hardCodedboostTableClosedLoop[8][8] = {
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{14.000, 14.000, 14.000, 14.000, 14.000, 14.000, 14.000, 14.000, },
{28.000, 28.000, 28.000, 28.000, 28.000, 28.000, 28.000, 28.000, },
{42.000, 42.000, 42.000, 42.000, 42.000, 42.000, 42.000, 42.000, },
{58.000, 58.000, 58.000, 58.000, 58.000, 58.000, 58.000, 58.000, },
{72.000, 72.000, 72.000, 72.000, 72.000, 72.000, 72.000, 72.000, },
{86.000, 86.000, 86.000, 86.000, 86.000, 86.000, 86.000, 86.000, },
{100.000, 100.000, 100.000, 100.000, 100.000, 100.000, 100.000, 100.000, },
};
copyTable(config->boostTableClosedLoop, hardCodedboostTableClosedLoop);
}
static void nb2cannedvvtTable1() {
static const float hardCodedvvtTable1[8][8] = {
{0.000, 0.000, 10.000, 10.000, 10.000, 10.000, 0.000, 0.000, },
{0.000, 0.000, 15.000, 15.000, 15.000, 15.000, 0.000, 0.000, },
{0.000, 0.000, 20.000, 20.000, 20.000, 18.000, 12.000, 8.000, },
{6.000, 12.000, 30.000, 25.000, 25.000, 15.000, 12.000, 8.000, },
{6.000, 12.000, 30.000, 25.000, 25.000, 15.000, 12.000, 8.000, },
{6.000, 12.000, 30.000, 25.000, 25.000, 15.000, 12.000, 8.000, },
{6.000, 12.000, 30.000, 25.000, 25.000, 15.000, 12.000, 8.000, },
{6.000, 12.000, 30.000, 25.000, 25.000, 15.000, 12.000, 8.000, },
};
copyTable(config->vvtTable1, hardCodedvvtTable1);
}
static void nb2cannedscriptTable4() {
static const float hardCodedscriptTable4[8][10] = {
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
};
copyTable(config->scriptTable4, hardCodedscriptTable4);
}
static void nb2cannedignitionTable() {
static const float hardCodedignitionTable[16][16] = {
{16.000, 16.000, 16.000, 16.000, 16.000, 16.000, 15.000, 6.100, -3.000, -3.000, -3.000, -3.000, -2.000, -2.000, -2.000, -2.000, },
{16.000, 10.000, 10.000, 20.000, 24.000, 24.000, 24.000, 26.700, 30.000, 30.000, 30.000, 30.000, 30.000, 30.000, 30.000, 30.000, },
{16.000, 10.000, 10.000, 20.000, 26.700, 26.400, 28.500, 31.200, 32.000, 32.700, 33.000, 33.300, 33.900, 34.100, 34.300, 35.700, },
{16.800, 18.900, 20.100, 22.400, 27.000, 27.000, 29.100, 32.700, 32.000, 32.800, 33.700, 33.100, 34.200, 35.900, 37.300, 37.800, },
{16.800, 18.900, 20.500, 23.700, 25.800, 28.500, 30.600, 31.500, 32.000, 32.800, 32.900, 33.400, 34.400, 35.600, 35.600, 35.900, },
{15.800, 15.800, 17.700, 21.700, 26.200, 28.600, 30.800, 33.100, 31.200, 31.500, 31.900, 32.400, 32.800, 33.700, 33.800, 34.100, },
{15.800, 15.800, 17.100, 19.700, 25.300, 26.800, 29.000, 31.400, 30.000, 31.000, 31.100, 31.200, 31.500, 32.100, 32.500, 33.000, },
{15.800, 15.800, 16.500, 17.900, 23.800, 25.100, 26.700, 29.000, 27.900, 29.000, 29.000, 29.100, 29.400, 30.000, 30.400, 31.200, },
{15.800, 15.800, 16.100, 16.800, 23.000, 24.200, 25.600, 26.000, 26.800, 27.900, 27.900, 28.100, 28.400, 29.000, 29.400, 30.300, },
{15.000, 15.000, 15.400, 16.100, 16.600, 17.900, 19.000, 21.100, 22.400, 23.100, 23.400, 23.900, 24.200, 24.800, 25.200, 26.000, },
{15.000, 15.000, 15.000, 12.700, 14.800, 15.800, 16.900, 18.800, 20.100, 20.800, 21.100, 21.600, 22.000, 22.700, 23.100, 24.000, },
{6.500, 7.600, 9.000, 11.300, 12.900, 13.700, 14.700, 16.400, 17.800, 18.500, 18.900, 19.400, 19.900, 20.600, 21.000, 21.900, },
{5.900, 6.700, 7.800, 9.800, 11.000, 11.700, 12.600, 14.000, 15.500, 16.200, 16.600, 17.200, 17.700, 18.600, 19.000, 19.900, },
{5.300, 5.800, 6.700, 8.400, 9.200, 9.600, 10.400, 11.700, 13.200, 13.900, 14.300, 15.000, 15.500, 16.500, 16.900, 17.800, },
{4.800, 5.100, 5.800, 7.300, 7.800, 8.100, 8.800, 9.900, 11.500, 12.200, 12.600, 13.300, 13.900, 15.000, 15.300, 16.300, },
{4.400, 4.400, 4.900, 6.200, 6.400, 6.500, 7.200, 8.100, 9.700, 10.400, 10.800, 11.600, 12.300, 13.400, 13.800, 14.700, },
};
copyTable(config->ignitionTable, hardCodedignitionTable);
}
static void nb2cannedignitionIatCorrTable() {
static const float hardCodedignitionIatCorrTable[8][8] = {
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
};
copyTable(config->ignitionIatCorrTable, hardCodedignitionIatCorrTable);
}
static void nb2cannedveTable() {
static const float hardCodedveTable[16][16] = {
{13.500, 22.000, 22.000, 19.700, 19.000, 19.000, 19.000, 21.000, 24.000, 24.000, 24.000, 23.500, 22.500, 22.800, 22.800, 22.200, },
{40.000, 46.200, 37.700, 38.000, 48.000, 45.200, 43.100, 42.500, 35.400, 40.900, 45.300, 45.800, 37.600, 38.500, 36.300, 38.100, },
{42.000, 40.200, 44.800, 41.100, 48.700, 44.700, 49.200, 47.400, 48.500, 57.200, 64.600, 73.700, 68.200, 60.000, 58.300, 56.500, },
{41.400, 42.200, 45.600, 45.900, 51.900, 47.100, 50.800, 46.300, 48.700, 54.900, 68.600, 72.500, 72.800, 63.000, 61.400, 59.800, },
{43.200, 44.800, 50.400, 52.800, 52.700, 48.800, 52.000, 50.700, 48.700, 54.700, 72.300, 71.400, 68.400, 66.000, 63.100, 60.100, },
{49.500, 49.900, 52.600, 56.700, 52.500, 50.400, 54.500, 50.100, 47.600, 58.000, 74.100, 72.700, 70.300, 66.100, 64.200, 62.300, },
{55.500, 56.400, 56.000, 57.100, 54.100, 52.000, 56.600, 48.000, 47.300, 58.000, 72.200, 74.300, 73.900, 70.600, 67.200, 63.800, },
{60.900, 63.500, 61.400, 52.900, 55.600, 56.700, 59.400, 50.700, 49.200, 61.400, 77.300, 80.000, 74.300, 72.200, 67.900, 63.500, },
{72.200, 69.200, 62.800, 56.500, 59.100, 61.600, 60.300, 52.700, 51.600, 68.200, 79.900, 77.900, 72.300, 68.600, 65.700, 63.100, },
{74.500, 78.300, 69.800, 62.200, 61.200, 64.700, 64.900, 55.100, 57.400, 74.400, 81.900, 79.200, 77.100, 75.400, 67.900, 65.900, },
{83.500, 79.600, 76.100, 65.300, 65.300, 65.300, 65.200, 64.000, 62.500, 76.600, 81.800, 82.500, 76.700, 77.300, 70.800, 69.300, },
{73.000, 82.900, 88.000, 63.300, 62.900, 62.700, 66.300, 61.200, 66.400, 78.800, 80.000, 78.900, 75.200, 76.400, 72.700, 67.400, },
{73.400, 78.700, 87.800, 66.600, 64.700, 67.300, 66.600, 61.700, 67.800, 78.100, 82.300, 83.000, 82.000, 81.400, 80.500, 78.200, },
{69.700, 83.700, 76.900, 62.400, 65.100, 68.100, 65.600, 62.400, 68.700, 76.400, 83.000, 84.500, 83.200, 82.500, 81.300, 77.700, },
{75.400, 81.100, 78.300, 71.600, 71.800, 72.700, 70.000, 70.100, 70.700, 76.400, 89.300, 90.000, 89.300, 82.500, 77.700, 72.900, },
{78.000, 78.200, 78.700, 74.000, 73.300, 71.000, 71.300, 70.700, 73.000, 86.400, 89.000, 86.900, 86.300, 83.600, 80.300, 78.400, },
};
copyTable(config->veTable, hardCodedveTable);
}
static void nb2cannedidleVeTable() {
static const float hardCodedidleVeTable[4][4] = {
{41.000, 41.000, 41.000, 43.000, },
{42.000, 40.000, 40.000, 43.300, },
{42.000, 40.000, 45.000, 47.000, },
{47.000, 45.000, 47.000, 47.000, },
};
copyTable(config->idleVeTable, hardCodedidleVeTable);
}
static void nb2cannedmapEstimateTable() {
static const float hardCodedmapEstimateTable[16][16] = {
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
};
copyTable(config->mapEstimateTable, hardCodedmapEstimateTable);
}
static void nb2cannedinjectionPhase() {
static const float hardCodedinjectionPhase[16][16] = {
{-180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, },
{-180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, },
{-180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, },
{-180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, },
{-180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, },
{-180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, },
{-180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, },
{-180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, },
{-180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, },
{-180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, },
{-180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, },
{-180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, },
{-180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, },
{-180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, },
{-180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, },
{-180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, },
};
copyTable(config->injectionPhase, hardCodedinjectionPhase);
}
static void nb2cannedlambdaTable() {
static const float hardCodedlambdaTable[16][16] = {
{14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 15.400, 15.400, 15.400, 15.400, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, },
{14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 15.400, 15.400, 15.400, 15.400, 14.500, 14.200, 14.200, 14.200, 14.200, 14.200, },
{14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 15.400, 15.400, 15.400, 15.400, 14.500, 14.200, 14.200, 14.200, 14.200, 14.200, },
{14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 15.000, 15.000, 15.000, 15.000, 14.500, 14.200, 14.200, 14.200, 14.200, 14.200, },
{14.500, 14.500, 14.500, 14.500, 14.500, 14.500, 14.500, 14.500, 14.500, 14.500, 14.500, 14.000, 14.000, 14.000, 14.000, 14.000, },
{14.200, 14.200, 14.200, 14.200, 14.200, 14.200, 14.200, 14.200, 14.200, 14.200, 14.000, 14.000, 14.000, 14.000, 14.000, 14.000, },
{14.000, 14.000, 14.000, 14.000, 14.000, 14.000, 14.000, 14.000, 14.000, 14.000, 13.800, 13.800, 13.800, 13.800, 13.800, 13.800, },
{13.800, 13.800, 13.800, 13.800, 13.800, 13.800, 13.800, 13.800, 13.800, 13.800, 13.600, 13.600, 13.600, 13.600, 13.600, 13.600, },
{13.800, 13.800, 13.800, 13.800, 13.800, 13.800, 13.800, 13.800, 13.800, 13.800, 13.600, 13.600, 13.600, 13.600, 13.600, 13.600, },
{13.700, 13.700, 13.700, 13.700, 13.700, 13.700, 13.700, 13.700, 13.700, 13.700, 13.400, 13.400, 13.400, 13.400, 13.400, 13.400, },
{13.500, 13.500, 13.500, 13.500, 13.500, 13.500, 13.500, 13.500, 13.500, 13.500, 13.200, 13.200, 13.200, 13.200, 13.200, 13.200, },
{13.100, 13.100, 13.100, 13.100, 13.100, 13.100, 13.100, 13.100, 13.100, 13.100, 13.100, 13.100, 13.100, 13.100, 13.100, 13.100, },
{12.500, 12.500, 12.500, 12.500, 12.500, 12.500, 12.500, 12.500, 12.500, 12.500, 12.500, 12.500, 12.500, 12.500, 12.500, 12.500, },
{12.000, 12.000, 12.000, 12.000, 12.000, 12.000, 12.000, 12.000, 12.000, 12.000, 12.000, 12.000, 12.000, 12.000, 12.000, 12.000, },
{11.500, 11.500, 11.500, 11.500, 11.500, 11.500, 11.500, 11.500, 11.500, 11.500, 11.500, 11.500, 11.500, 11.500, 11.500, 11.500, },
{11.000, 11.000, 11.000, 11.000, 11.000, 11.000, 11.000, 11.000, 11.000, 11.000, 11.000, 11.000, 11.000, 11.000, 11.000, 11.000, },
};
copyTable(config->lambdaTable, hardCodedlambdaTable);
}
static void nb2cannedtcuSolenoidTable() {
static const float hardCodedtcuSolenoidTable[6][10] = {
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
};
copyTable(config->tcuSolenoidTable, hardCodedtcuSolenoidTable);
}
static void nb2cannedpostCrankingFactor() {
static const float hardCodedpostCrankingFactor[6][6] = {
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
};
copyTable(engineConfiguration->postCrankingFactor, hardCodedpostCrankingFactor);
}
```

View File

@ -0,0 +1,352 @@
# MazdaMiataNB2-comparing-against-global-defaults
// canned tune https://rusefi.com/online/view.php?msq=985
```
// default 1.0
engineConfiguration->tChargeAirIncrLimit = 15;
// default 153.6
engineConfiguration->tChargeAirFlowMax = 165;
// default "Single Coil"
engineConfiguration->ignitionMode = IM_WASTED_SPARK;
// default 0.0
engineConfiguration->fixedTiming = 10;
// default 2.0
engineConfiguration->displacement = 1.838997;
// default "60/2"
engineConfiguration->trigger.type = TT_TOOTHED_WHEEL_36_1;
// default 0.0
engineConfiguration->globalTriggerAngleOffset = 76;
// default "Single Tooth"
engineConfiguration->vvtMode[0] = VVT_MIATA_NB;
// default 450.0
engineConfiguration->vvtOffsets[0] = 76;
// default 200.0
engineConfiguration->injector.flow = 265;
// default "None"
engineConfiguration->injectorCompensationMode = ICM_FixedRailPressure;
// default 300.0
engineConfiguration->fuelReferencePressure = 400;
// default 0.0
engineConfiguration->cylinderBankSelect[0] = 1;
// default 0.0
engineConfiguration->cylinderBankSelect[1] = 1;
// default 0.0
engineConfiguration->cylinderBankSelect[2] = 1;
// default 0.0
engineConfiguration->cylinderBankSelect[3] = 1;
// default 0.0
engineConfiguration->cylinderBankSelect[4] = 1;
// default 0.0
engineConfiguration->cylinderBankSelect[5] = 1;
// default 0.0
engineConfiguration->cylinderBankSelect[6] = 1;
// default 0.0
engineConfiguration->cylinderBankSelect[7] = 1;
// default 0.0
engineConfiguration->cylinderBankSelect[8] = 1;
// default 0.0
engineConfiguration->cylinderBankSelect[9] = 1;
// default 0.0
engineConfiguration->cylinderBankSelect[10] = 1;
// default 0.0
engineConfiguration->cylinderBankSelect[11] = 1;
// default 0.0
engineConfiguration->injectorCorrectionPolynomial[4] = 8.2652E-39;
// default 4.0
engineConfiguration->benchTestOnTime = 0;
// default 0.0
engineConfiguration->tpsMin = 107;
// default 1000.0
engineConfiguration->tpsMax = 739;
// default 1000.0
engineConfiguration->tps1SecondaryMin = 0;
// default 0.0
engineConfiguration->tps1SecondaryMax = 1000;
// default 1000.0
engineConfiguration->tps2SecondaryMin = 0;
// default 0.0
engineConfiguration->tps2SecondaryMax = 1000;
// default 5.0
engineConfiguration->throttlePedalSecondaryUpVoltage = 0;
// default 0.0
engineConfiguration->throttlePedalSecondaryWOTVoltage = 5;
// default 65.0
engineConfiguration->mc33_hvolt = 0;
// default 13000.0
engineConfiguration->mc33_i_boost = 0;
// default 400.0
engineConfiguration->mc33_t_max_boost = 0;
// default 9400.0
engineConfiguration->mc33_i_peak = 0;
// default 700.0
engineConfiguration->mc33_t_peak_tot = 0;
// default 10.0
engineConfiguration->mc33_t_peak_off = 0;
// default 10.0
engineConfiguration->mc33_t_bypass = 0;
// default 3700.0
engineConfiguration->mc33_i_hold = 0;
// default 60.0
engineConfiguration->mc33_t_hold_off = 0;
// default 10000.0
engineConfiguration->mc33_t_hold_tot = 0;
// default "false"
engineConfiguration->clutchDownPinInverted = true;
// default 1.0
engineConfiguration->turboSpeedSensorMultiplier = 0;
// default 410.0
engineConfiguration->mapErrorDetectionTooHigh = 250;
// default "14Point7"
engineConfiguration->afr_type = ES_Custom;
// default 0.0
engineConfiguration->afr.v1 = 1;
// default 9.996
engineConfiguration->afr.value1 = 8.099976;
// default 5.0
engineConfiguration->afr.v2 = 4;
// default 19.992
engineConfiguration->afr.value2 = 17.8;
// default 0.0
engineConfiguration->egoValueShift = -0.200001;
// default 300.0
engineConfiguration->idle.solenoidFrequency = 500;
// default 3.0
engineConfiguration->idleStepperReactionTime = 0;
// default 200.0
engineConfiguration->idleStepperTotalSteps = 0;
// default "true"
engineConfiguration->stepperForceParkingEveryRestart = false;
// default 15.0
engineConfiguration->etbIdleThrottleRange = 5;
// default 0.05
engineConfiguration->idleRpmPid.pFactor = 0.00649999;
// default 0.002
engineConfiguration->idleRpmPid.iFactor = 0.03;
// default 0.0
engineConfiguration->idle_derivativeFilterLoss = 0.08;
// default 0.0
engineConfiguration->idle_antiwindupFreq = 0.03;
// default 0.0
engineConfiguration->idleRpmPid.dFactor = 0.002;
// default -20.0
engineConfiguration->idleRpmPid.minValue = -8;
// default 20.0
engineConfiguration->idleRpmPid.maxValue = 76;
// default -20.0
engineConfiguration->idlerpmpid_iTermMin = -15;
// default 20.0
engineConfiguration->idlerpmpid_iTermMax = 30;
// default 2.0
engineConfiguration->fan1ExtraIdle = 0;
// default 2.0
engineConfiguration->fan2ExtraIdle = 0;
// default 2.0
engineConfiguration->iacByTpsTaper = 5;
// default 5.0
engineConfiguration->idlePidDeactivationTpsThreshold = 1;
// default 300.0
engineConfiguration->idlePidRpmUpperLimit = 350;
// default 50.0
engineConfiguration->idlePidRpmDeadZone = 65;
// default "false"
engineConfiguration->useSeparateAdvanceForIdle = true;
// default "false"
engineConfiguration->useSeparateVeForIdle = true;
// default "Open Loop"
engineConfiguration->idleMode = IM_AUTO;
// default "false"
engineConfiguration->useIdleTimingPidControl = true;
// default 0.1
engineConfiguration->idleTimingPid.pFactor = 0.01;
// default 10.0
engineConfiguration->idleTimingPid.maxValue = 12;
// default 95.0
engineConfiguration->fanOnTemperature = 97;
// default 91.0
engineConfiguration->fanOffTemperature = 94;
// default "false"
engineConfiguration->enableFan1WithAc = true;
// default 95.0
engineConfiguration->fan2OnTemperature = 99;
// default 91.0
engineConfiguration->fan2OffTemperature = 94;
// default "false"
engineConfiguration->enableFan2WithAc = true;
// default 5000.0
engineConfiguration->maxAcRpm = 5200;
// default 75.0
engineConfiguration->maxAcTps = 70;
// default 1.0
engineConfiguration->tachPulsePerRev = 2;
// default "false"
engineConfiguration->enableSoftwareKnock = true;
// default 87.5
engineConfiguration->cylinderBore = 83;
// default 0.0
engineConfiguration->knockBandCustom = 13.80627;
// default 20.0
engineConfiguration->knockRetardAggression = 0;
// default 3.0
engineConfiguration->knockRetardReapplyRate = 0;
// default 35.0
engineConfiguration->stft.maxOverrunLoad = 30;
// default "false"
engineConfiguration->fuelClosedLoopCorrectionEnabled = true;
// default 60.0
engineConfiguration->stft.startupDelay = 25;
// default 60.0
engineConfiguration->stft.minClt = 80;
// default 12.0
engineConfiguration->stft.minAfr = 10.5;
// default 17.0
engineConfiguration->stft.maxAfr = 18;
// default 0.5
engineConfiguration->stft.deadband = 0;
// default 0.0
engineConfiguration->auxPid[0].dFactor = 0.002;
// default 10.0
engineConfiguration->auxPid[0].minValue = 20;
// default 90.0
engineConfiguration->auxPid[1].maxValue = 0;
// default "false"
engineConfiguration->isAlternatorControlEnabled = true;
// default 14.0
engineConfiguration->targetVBatt = 14.19995;
// default 0.0
engineConfiguration->alternatorControl.offset = 20;
// default 30.0
engineConfiguration->alternatorControl.pFactor = 16;
// default 0.0
engineConfiguration->alternatorControl.iFactor = 8;
// default 0.0
engineConfiguration->alternatorControl.dFactor = 0.1;
// default 3.0
engineConfiguration->vssFilterReciprocal = 5;
// default 1000.0
engineConfiguration->driveWheelRevPerKm = 570;
// default 3.73
engineConfiguration->vssGearRatio = 4.1;
// default 21.0
engineConfiguration->vssToothCount = 1;
// default "BMW_e46"
engineConfiguration->canVssNbcType = W202;
// default 1.0
engineConfiguration->finalGearRatio = 4.1;
// default 0.0
engineConfiguration->totalGearsCount = 5;
// default 0.0
engineConfiguration->gearRatio[0] = 3.14;
// default 0.0
engineConfiguration->gearRatio[1] = 1.89;
// default 0.0
engineConfiguration->gearRatio[2] = 1.33;
// default 0.0
engineConfiguration->gearRatio[3] = 1;
// default 0.0
engineConfiguration->gearRatio[4] = 0.81;
// default "500kbps"
engineConfiguration->can2BaudRate = B100KBPS;
// default "MAP"
engineConfiguration->debugMode = DBG_TPS_ACCEL;
// default 7000.0
engineConfiguration->rpmHardLimit = 7200;
// default 300.0
engineConfiguration->boostCutPressure = 0;
// default 250.0
engineConfiguration->etbRevLimitRange = 0;
// default 27.0
engineConfiguration->cranking.baseFuel = 27.5;
// default 50.0
engineConfiguration->crankingIACposition = 33;
// default 200.0
engineConfiguration->afterCrankingIACtaperDuration = 189;
// default "false"
engineConfiguration->overrideCrankingIacSetting = true;
// default 6.0
engineConfiguration->ignitionDwellForCrankingMs = 4;
// default 0.5
engineConfiguration->primingDelay = 0;
// default "true"
engineConfiguration->isFasterEngineSpinUpEnabled = false;
// default 550.0
engineConfiguration->cranking.rpm = 400;
// default 0.0
engineConfiguration->tpsAccelLookback = 0.2;
// default 40.0
engineConfiguration->tpsAccelEnrichmentThreshold = 4;
// default 1.0
engineConfiguration->tpsAccelFractionDivisor = 0;
// default 0.3
engineConfiguration->wwaeTau = 0.15;
// default 0.0
engineConfiguration->scriptSetting[0] = 5000;
// default 2.0
engineConfiguration->issFilterReciprocal = 0;
// default 1.0
engineConfiguration->tcuInputSpeedSensorTeeth = 0;
// default 100.0
engineConfiguration->etbMaximumPosition = 0;
// default "Launch Button"
engineConfiguration->launchActivationMode = CLUTCH_INPUT_LAUNCH;
// default 30.0
engineConfiguration->launchSpeedThreshold = 1;
// default 3000.0
engineConfiguration->launchRpm = 3500;
// default "false"
engineConfiguration->enableLaunchRetard = true;
// default 0.0
engineConfiguration->launchTimingRetard = -40;
// default "false"
engineConfiguration->launchSmoothRetard = true;
// default "false"
engineConfiguration->launchSparkCutEnable = true;
// default "Switch Input"
engineConfiguration->antiLagActivationMode = ALWAYS_ON_ANTILAG;
// default 1500.0
engineConfiguration->coastingFuelCutRpmHigh = 2250;
// default 1300.0
engineConfiguration->coastingFuelCutRpmLow = 1400;
// default 2.0
engineConfiguration->coastingFuelCutTps = 1;
// default "Zero"
engineConfiguration->gppwm[0].loadAxis = GPPWM_Tps;
// default "Zero"
engineConfiguration->gppwm[1].loadAxis = GPPWM_Tps;
// default "Zero"
engineConfiguration->gppwm[2].loadAxis = GPPWM_Tps;
// default "Zero"
engineConfiguration->gppwm[3].loadAxis = GPPWM_Tps;
// default 3.0
engineConfiguration->hpfpCamLobes = 0;
// default 10.0
engineConfiguration->hpfpPeakPos = 0;
// default 0.29
engineConfiguration->hpfpPumpVolume = 0;
// default 10.0
engineConfiguration->hpfpMinAngle = 0;
// default 30.0
engineConfiguration->hpfpActivationAngle = 0;
// default 2000.0
engineConfiguration->hpfpTargetDecay = 0;
// default 0.01
engineConfiguration->hpfpPidP = 0;
// default 3.0E-4
engineConfiguration->hpfpPidI = 0;
nb2cannedtpsTpsAccelTable();
nb2cannedboostTableOpenLoop();
nb2cannedboostTableClosedLoop();
nb2cannedvvtTable1();
nb2cannedscriptTable4();
nb2cannedignitionTable();
nb2cannedignitionIatCorrTable();
nb2cannedveTable();
nb2cannedidleVeTable();
nb2cannedmapEstimateTable();
nb2cannedinjectionPhase();
nb2cannedlambdaTable();
nb2cannedtcuSolenoidTable();
nb2cannedpostCrankingFactor();
```

View File

@ -0,0 +1,230 @@
```
static void nb2cannedtpsTpsAccelTable() {
static const float hardCodedtpsTpsAccelTable[8][8] = {
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{1.484, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{1.822, 1.649, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{2.103, 2.024, 1.653, 0.000, 0.000, 0.000, 0.000, 0.000, },
{2.257, 2.337, 2.024, 1.649, 0.000, 0.000, 0.000, 0.000, },
{2.380, 2.508, 2.337, 2.024, 1.649, 0.000, 0.000, 0.000, },
{2.467, 2.645, 2.508, 2.337, 2.024, 1.649, 0.000, 0.000, },
{2.586, 2.467, 2.380, 2.257, 2.103, 1.822, 1.484, 0.000, },
};
copyTable(config->tpsTpsAccelTable, hardCodedtpsTpsAccelTable);
}
static void nb2cannedboostTableOpenLoop() {
static const float hardCodedboostTableOpenLoop[8][8] = {
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{14.000, 14.000, 14.000, 14.000, 14.000, 14.000, 14.000, 14.000, },
{28.000, 28.000, 28.000, 28.000, 28.000, 28.000, 28.000, 28.000, },
{42.000, 42.000, 42.000, 42.000, 42.000, 42.000, 42.000, 42.000, },
{58.000, 58.000, 58.000, 58.000, 58.000, 58.000, 58.000, 58.000, },
{72.000, 72.000, 72.000, 72.000, 72.000, 72.000, 72.000, 72.000, },
{86.000, 86.000, 86.000, 86.000, 86.000, 86.000, 86.000, 86.000, },
{100.000, 100.000, 100.000, 100.000, 100.000, 100.000, 100.000, 100.000, },
};
copyTable(config->boostTableOpenLoop, hardCodedboostTableOpenLoop);
}
static void nb2cannedboostTableClosedLoop() {
static const float hardCodedboostTableClosedLoop[8][8] = {
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{14.000, 14.000, 14.000, 14.000, 14.000, 14.000, 14.000, 14.000, },
{28.000, 28.000, 28.000, 28.000, 28.000, 28.000, 28.000, 28.000, },
{42.000, 42.000, 42.000, 42.000, 42.000, 42.000, 42.000, 42.000, },
{58.000, 58.000, 58.000, 58.000, 58.000, 58.000, 58.000, 58.000, },
{72.000, 72.000, 72.000, 72.000, 72.000, 72.000, 72.000, 72.000, },
{86.000, 86.000, 86.000, 86.000, 86.000, 86.000, 86.000, 86.000, },
{100.000, 100.000, 100.000, 100.000, 100.000, 100.000, 100.000, 100.000, },
};
copyTable(config->boostTableClosedLoop, hardCodedboostTableClosedLoop);
}
static void nb2cannedvvtTable1() {
static const float hardCodedvvtTable1[8][8] = {
{0.000, 0.000, 10.000, 10.000, 10.000, 10.000, 0.000, 0.000, },
{0.000, 0.000, 15.000, 15.000, 15.000, 15.000, 0.000, 0.000, },
{0.000, 0.000, 20.000, 20.000, 20.000, 18.000, 12.000, 8.000, },
{6.000, 12.000, 30.000, 25.000, 25.000, 15.000, 12.000, 8.000, },
{6.000, 12.000, 30.000, 25.000, 25.000, 15.000, 12.000, 8.000, },
{6.000, 12.000, 30.000, 25.000, 25.000, 15.000, 12.000, 8.000, },
{6.000, 12.000, 30.000, 25.000, 25.000, 15.000, 12.000, 8.000, },
{6.000, 12.000, 30.000, 25.000, 25.000, 15.000, 12.000, 8.000, },
};
copyTable(config->vvtTable1, hardCodedvvtTable1);
}
static void nb2cannedscriptTable4() {
static const float hardCodedscriptTable4[8][10] = {
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
};
copyTable(config->scriptTable4, hardCodedscriptTable4);
}
static void nb2cannedignitionTable() {
static const float hardCodedignitionTable[16][16] = {
{16.000, 16.000, 16.000, 16.000, 16.000, 16.000, 15.000, 6.100, -3.000, -3.000, -3.000, -3.000, -2.000, -2.000, -2.000, -2.000, },
{16.000, 10.000, 10.000, 20.000, 24.000, 24.000, 24.000, 26.700, 30.000, 30.000, 30.000, 30.000, 30.000, 30.000, 30.000, 30.000, },
{16.000, 10.000, 10.000, 20.000, 26.700, 26.400, 28.500, 31.200, 32.000, 32.700, 33.000, 33.300, 33.900, 34.100, 34.300, 35.700, },
{16.800, 18.900, 20.100, 22.400, 27.000, 27.000, 29.100, 32.700, 32.000, 32.800, 33.700, 33.100, 34.200, 35.900, 37.300, 37.800, },
{16.800, 18.900, 20.500, 23.700, 25.800, 28.500, 30.600, 31.500, 32.000, 32.800, 32.900, 33.400, 34.400, 35.600, 35.600, 35.900, },
{15.800, 15.800, 17.700, 21.700, 26.200, 28.600, 30.800, 33.100, 31.200, 31.500, 31.900, 32.400, 32.800, 33.700, 33.800, 34.100, },
{15.800, 15.800, 17.100, 19.700, 25.300, 26.800, 29.000, 31.400, 30.000, 31.000, 31.100, 31.200, 31.500, 32.100, 32.500, 33.000, },
{15.800, 15.800, 16.500, 17.900, 23.800, 25.100, 26.700, 29.000, 27.900, 29.000, 29.000, 29.100, 29.400, 30.000, 30.400, 31.200, },
{15.800, 15.800, 16.100, 16.800, 23.000, 24.200, 25.600, 26.000, 26.800, 27.900, 27.900, 28.100, 28.400, 29.000, 29.400, 30.300, },
{15.000, 15.000, 15.400, 16.100, 16.600, 17.900, 19.000, 21.100, 22.400, 23.100, 23.400, 23.900, 24.200, 24.800, 25.200, 26.000, },
{15.000, 15.000, 15.000, 12.700, 14.800, 15.800, 16.900, 18.800, 20.100, 20.800, 21.100, 21.600, 22.000, 22.700, 23.100, 24.000, },
{6.500, 7.600, 9.000, 11.300, 12.900, 13.700, 14.700, 16.400, 17.800, 18.500, 18.900, 19.400, 19.900, 20.600, 21.000, 21.900, },
{5.900, 6.700, 7.800, 9.800, 11.000, 11.700, 12.600, 14.000, 15.500, 16.200, 16.600, 17.200, 17.700, 18.600, 19.000, 19.900, },
{5.300, 5.800, 6.700, 8.400, 9.200, 9.600, 10.400, 11.700, 13.200, 13.900, 14.300, 15.000, 15.500, 16.500, 16.900, 17.800, },
{4.800, 5.100, 5.800, 7.300, 7.800, 8.100, 8.800, 9.900, 11.500, 12.200, 12.600, 13.300, 13.900, 15.000, 15.300, 16.300, },
{4.400, 4.400, 4.900, 6.200, 6.400, 6.500, 7.200, 8.100, 9.700, 10.400, 10.800, 11.600, 12.300, 13.400, 13.800, 14.700, },
};
copyTable(config->ignitionTable, hardCodedignitionTable);
}
static void nb2cannedignitionIatCorrTable() {
static const float hardCodedignitionIatCorrTable[8][8] = {
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
};
copyTable(config->ignitionIatCorrTable, hardCodedignitionIatCorrTable);
}
static void nb2cannedveTable() {
static const float hardCodedveTable[16][16] = {
{13.500, 22.000, 22.000, 19.700, 19.000, 19.000, 19.000, 21.000, 24.000, 24.000, 24.000, 23.500, 22.500, 22.800, 22.800, 22.200, },
{40.000, 46.200, 37.700, 38.000, 48.000, 45.200, 43.100, 42.500, 35.400, 40.900, 45.300, 45.800, 37.600, 38.500, 36.300, 38.100, },
{42.000, 40.200, 44.800, 41.100, 48.700, 44.700, 49.200, 47.400, 48.500, 57.200, 64.600, 73.700, 68.200, 60.000, 58.300, 56.500, },
{41.400, 42.200, 45.600, 45.900, 51.900, 47.100, 50.800, 46.300, 48.700, 54.900, 68.600, 72.500, 72.800, 63.000, 61.400, 59.800, },
{43.200, 44.800, 50.400, 52.800, 52.700, 48.800, 52.000, 50.700, 48.700, 54.700, 72.300, 71.400, 68.400, 66.000, 63.100, 60.100, },
{49.500, 49.900, 52.600, 56.700, 52.500, 50.400, 54.500, 50.100, 47.600, 58.000, 74.100, 72.700, 70.300, 66.100, 64.200, 62.300, },
{55.500, 56.400, 56.000, 57.100, 54.100, 52.000, 56.600, 48.000, 47.300, 58.000, 72.200, 74.300, 73.900, 70.600, 67.200, 63.800, },
{60.900, 63.500, 61.400, 52.900, 55.600, 56.700, 59.400, 50.700, 49.200, 61.400, 77.300, 80.000, 74.300, 72.200, 67.900, 63.500, },
{72.200, 69.200, 62.800, 56.500, 59.100, 61.600, 60.300, 52.700, 51.600, 68.200, 79.900, 77.900, 72.300, 68.600, 65.700, 63.100, },
{74.500, 78.300, 69.800, 62.200, 61.200, 64.700, 64.900, 55.100, 57.400, 74.400, 81.900, 79.200, 77.100, 75.400, 67.900, 65.900, },
{83.500, 79.600, 76.100, 65.300, 65.300, 65.300, 65.200, 64.000, 62.500, 76.600, 81.800, 82.500, 76.700, 77.300, 70.800, 69.300, },
{73.000, 82.900, 88.000, 63.300, 62.900, 62.700, 66.300, 61.200, 66.400, 78.800, 80.000, 78.900, 75.200, 76.400, 72.700, 67.400, },
{73.400, 78.700, 87.800, 66.600, 64.700, 67.300, 66.600, 61.700, 67.800, 78.100, 82.300, 83.000, 82.000, 81.400, 80.500, 78.200, },
{69.700, 83.700, 76.900, 62.400, 65.100, 68.100, 65.600, 62.400, 68.700, 76.400, 83.000, 84.500, 83.200, 82.500, 81.300, 77.700, },
{75.400, 81.100, 78.300, 71.600, 71.800, 72.700, 70.000, 70.100, 70.700, 76.400, 89.300, 90.000, 89.300, 82.500, 77.700, 72.900, },
{78.000, 78.200, 78.700, 74.000, 73.300, 71.000, 71.300, 70.700, 73.000, 86.400, 89.000, 86.900, 86.300, 83.600, 80.300, 78.400, },
};
copyTable(config->veTable, hardCodedveTable);
}
static void nb2cannedidleVeTable() {
static const float hardCodedidleVeTable[4][4] = {
{41.000, 41.000, 41.000, 43.000, },
{42.000, 40.000, 40.000, 43.300, },
{42.000, 40.000, 45.000, 47.000, },
{47.000, 45.000, 47.000, 47.000, },
};
copyTable(config->idleVeTable, hardCodedidleVeTable);
}
static void nb2cannedmapEstimateTable() {
static const float hardCodedmapEstimateTable[16][16] = {
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
};
copyTable(config->mapEstimateTable, hardCodedmapEstimateTable);
}
static void nb2cannedinjectionPhase() {
static const float hardCodedinjectionPhase[16][16] = {
{-180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, },
{-180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, },
{-180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, },
{-180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, },
{-180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, },
{-180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, },
{-180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, },
{-180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, },
{-180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, },
{-180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, },
{-180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, },
{-180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, },
{-180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, },
{-180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, },
{-180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, },
{-180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, -180.000, },
};
copyTable(config->injectionPhase, hardCodedinjectionPhase);
}
static void nb2cannedlambdaTable() {
static const float hardCodedlambdaTable[16][16] = {
{14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 15.400, 15.400, 15.400, 15.400, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, },
{14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 15.400, 15.400, 15.400, 15.400, 14.500, 14.200, 14.200, 14.200, 14.200, 14.200, },
{14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 15.400, 15.400, 15.400, 15.400, 14.500, 14.200, 14.200, 14.200, 14.200, 14.200, },
{14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 15.000, 15.000, 15.000, 15.000, 14.500, 14.200, 14.200, 14.200, 14.200, 14.200, },
{14.500, 14.500, 14.500, 14.500, 14.500, 14.500, 14.500, 14.500, 14.500, 14.500, 14.500, 14.000, 14.000, 14.000, 14.000, 14.000, },
{14.200, 14.200, 14.200, 14.200, 14.200, 14.200, 14.200, 14.200, 14.200, 14.200, 14.000, 14.000, 14.000, 14.000, 14.000, 14.000, },
{14.000, 14.000, 14.000, 14.000, 14.000, 14.000, 14.000, 14.000, 14.000, 14.000, 13.800, 13.800, 13.800, 13.800, 13.800, 13.800, },
{13.800, 13.800, 13.800, 13.800, 13.800, 13.800, 13.800, 13.800, 13.800, 13.800, 13.600, 13.600, 13.600, 13.600, 13.600, 13.600, },
{13.800, 13.800, 13.800, 13.800, 13.800, 13.800, 13.800, 13.800, 13.800, 13.800, 13.600, 13.600, 13.600, 13.600, 13.600, 13.600, },
{13.700, 13.700, 13.700, 13.700, 13.700, 13.700, 13.700, 13.700, 13.700, 13.700, 13.400, 13.400, 13.400, 13.400, 13.400, 13.400, },
{13.500, 13.500, 13.500, 13.500, 13.500, 13.500, 13.500, 13.500, 13.500, 13.500, 13.200, 13.200, 13.200, 13.200, 13.200, 13.200, },
{13.100, 13.100, 13.100, 13.100, 13.100, 13.100, 13.100, 13.100, 13.100, 13.100, 13.100, 13.100, 13.100, 13.100, 13.100, 13.100, },
{12.500, 12.500, 12.500, 12.500, 12.500, 12.500, 12.500, 12.500, 12.500, 12.500, 12.500, 12.500, 12.500, 12.500, 12.500, 12.500, },
{12.000, 12.000, 12.000, 12.000, 12.000, 12.000, 12.000, 12.000, 12.000, 12.000, 12.000, 12.000, 12.000, 12.000, 12.000, 12.000, },
{11.500, 11.500, 11.500, 11.500, 11.500, 11.500, 11.500, 11.500, 11.500, 11.500, 11.500, 11.500, 11.500, 11.500, 11.500, 11.500, },
{11.000, 11.000, 11.000, 11.000, 11.000, 11.000, 11.000, 11.000, 11.000, 11.000, 11.000, 11.000, 11.000, 11.000, 11.000, 11.000, },
};
copyTable(config->lambdaTable, hardCodedlambdaTable);
}
static void nb2cannedtcuSolenoidTable() {
static const float hardCodedtcuSolenoidTable[6][10] = {
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
};
copyTable(config->tcuSolenoidTable, hardCodedtcuSolenoidTable);
}
static void nb2cannedpostCrankingFactor() {
static const float hardCodedpostCrankingFactor[6][6] = {
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
};
copyTable(engineConfiguration->postCrankingFactor, hardCodedpostCrankingFactor);
}
```

View File

@ -0,0 +1,48 @@
# PB-comparing-against-current-PB-default
// canned tune https://rusefi.com/online/view.php?msq=1620
```
// default 0.0
engineConfiguration->cylinderBankSelect[0] = 1;
// default 0.0
engineConfiguration->cylinderBankSelect[1] = 1;
// default 0.0
engineConfiguration->cylinderBankSelect[2] = 1;
// default 0.0
engineConfiguration->cylinderBankSelect[3] = 1;
// default 0.0
engineConfiguration->cylinderBankSelect[4] = 1;
// default 0.0
engineConfiguration->cylinderBankSelect[5] = 1;
// default 0.0
engineConfiguration->cylinderBankSelect[6] = 1;
// default 0.0
engineConfiguration->cylinderBankSelect[7] = 1;
// default 0.0
engineConfiguration->cylinderBankSelect[8] = 1;
// default 0.0
engineConfiguration->cylinderBankSelect[9] = 1;
// default 0.0
engineConfiguration->cylinderBankSelect[10] = 1;
// default 0.0
engineConfiguration->cylinderBankSelect[11] = 1;
// default 0.34
engineConfiguration->throttlePedalSecondaryUpVoltage = 0.74;
// default 1.86
engineConfiguration->throttlePedalSecondaryWOTVoltage = 2.28;
// default 200.0
engineConfiguration->rpmSoftLimitWindowSize = 0;
// default 4.0
engineConfiguration->rpmSoftLimitTimingRetard = 0;
// default 1.0
engineConfiguration->tpsAccelFractionDivisor = 0;
// default "Launch Button"
engineConfiguration->launchActivationMode = CLUTCH_INPUT_LAUNCH;
pbcannedboostTableOpenLoop();
pbcannedscriptTable4();
pbcannedlambdaTable();
pbcannedtcuSolenoidTable();
```

View File

@ -0,0 +1,64 @@
```
static void pbcannedboostTableOpenLoop() {
static const float hardCodedboostTableOpenLoop[8][8] = {
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{14.000, 14.000, 14.000, 14.000, 14.000, 14.000, 14.000, 14.000, },
{29.000, 29.000, 29.000, 29.000, 29.000, 29.000, 29.000, 29.000, },
{43.000, 43.000, 43.000, 43.000, 43.000, 43.000, 43.000, 43.000, },
{57.000, 57.000, 57.000, 57.000, 57.000, 57.000, 57.000, 57.000, },
{71.000, 71.000, 71.000, 71.000, 71.000, 71.000, 71.000, 71.000, },
{86.000, 86.000, 86.000, 86.000, 86.000, 86.000, 86.000, 86.000, },
{100.000, 100.000, 100.000, 100.000, 100.000, 100.000, 100.000, 100.000, },
};
copyTable(config->boostTableOpenLoop, hardCodedboostTableOpenLoop);
}
static void pbcannedscriptTable4() {
static const float hardCodedscriptTable4[8][10] = {
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
};
copyTable(config->scriptTable4, hardCodedscriptTable4);
}
static void pbcannedlambdaTable() {
static const float hardCodedlambdaTable[16][16] = {
{14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, },
{14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, },
{14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, },
{14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, },
{14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, },
{14.000, 14.000, 14.000, 14.000, 14.000, 14.000, 14.000, 14.000, 14.000, 14.000, 14.000, 14.000, 14.000, 14.000, 14.000, 14.000, },
{13.500, 13.500, 13.500, 13.500, 13.500, 13.500, 13.500, 13.500, 13.500, 13.500, 13.500, 13.500, 13.500, 13.500, 13.500, 13.500, },
{13.200, 13.200, 13.200, 13.200, 13.200, 13.200, 13.200, 13.200, 13.200, 13.200, 13.200, 13.200, 13.200, 13.200, 13.200, 13.200, },
{13.100, 13.100, 13.100, 13.100, 13.100, 13.100, 13.100, 13.100, 13.100, 13.100, 13.100, 13.100, 13.100, 13.100, 13.100, 13.100, },
{12.900, 12.900, 12.900, 12.900, 12.900, 12.900, 12.900, 12.900, 12.900, 12.900, 12.900, 12.900, 12.900, 12.900, 12.900, 12.900, },
{12.600, 12.600, 12.600, 12.600, 12.600, 12.600, 12.600, 12.600, 12.600, 12.600, 12.600, 12.600, 12.600, 12.600, 12.600, 12.600, },
{12.300, 12.300, 12.300, 12.300, 12.300, 12.300, 12.300, 12.300, 12.300, 12.300, 12.300, 12.300, 12.300, 12.300, 12.300, 12.300, },
{11.800, 11.800, 11.800, 11.800, 11.800, 11.800, 11.800, 11.800, 11.800, 11.800, 11.800, 11.800, 11.800, 11.800, 11.800, 11.800, },
{11.300, 11.300, 11.300, 11.300, 11.300, 11.300, 11.300, 11.300, 11.300, 11.300, 11.300, 11.300, 11.300, 11.300, 11.300, 11.300, },
{11.000, 11.000, 11.000, 11.000, 11.000, 11.000, 11.000, 11.000, 11.000, 11.000, 11.000, 11.000, 11.000, 11.000, 11.000, 11.000, },
{10.700, 10.700, 10.700, 10.700, 10.700, 10.700, 10.700, 10.700, 10.700, 10.700, 10.700, 10.700, 10.700, 10.700, 10.700, 10.700, },
};
copyTable(config->lambdaTable, hardCodedlambdaTable);
}
static void pbcannedtcuSolenoidTable() {
static const float hardCodedtcuSolenoidTable[6][10] = {
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
};
copyTable(config->tcuSolenoidTable, hardCodedtcuSolenoidTable);
}
```

View File

@ -0,0 +1,141 @@
# PB-comparing-against-global-defaults
// canned tune https://rusefi.com/online/view.php?msq=1620
```
// default "End of injection"
engineConfiguration->injectionTimingMode = Center;
// default "Single Coil"
engineConfiguration->ignitionMode = IM_INDIVIDUAL_COILS;
// default 2.0
engineConfiguration->displacement = 1.6;
// default 0.0
engineConfiguration->globalTriggerAngleOffset = 90;
// default "Inactive"
engineConfiguration->vvtMode[1] = VVT_SINGLE_TOOTH;
// default 450.0
engineConfiguration->vvtOffsets[0] = 227;
// default 0.0
engineConfiguration->vvtOffsets[1] = 50;
// default "false"
engineConfiguration->isPhaseSyncRequiredForIgnition = true;
// default 200.0
engineConfiguration->injector.flow = 1214;
// default "Low"
engineConfiguration->injectorPressureType = IPT_High;
// default "None"
engineConfiguration->injectorCompensationMode = ICM_SensedRailPressure;
// default 300.0
engineConfiguration->fuelReferencePressure = 10000;
// default 0.0
engineConfiguration->cylinderBankSelect[0] = 1;
// default 0.0
engineConfiguration->cylinderBankSelect[1] = 1;
// default 0.0
engineConfiguration->cylinderBankSelect[2] = 1;
// default 0.0
engineConfiguration->cylinderBankSelect[3] = 1;
// default 0.0
engineConfiguration->cylinderBankSelect[4] = 1;
// default 0.0
engineConfiguration->cylinderBankSelect[5] = 1;
// default 0.0
engineConfiguration->cylinderBankSelect[6] = 1;
// default 0.0
engineConfiguration->cylinderBankSelect[7] = 1;
// default 0.0
engineConfiguration->cylinderBankSelect[8] = 1;
// default 0.0
engineConfiguration->cylinderBankSelect[9] = 1;
// default 0.0
engineConfiguration->cylinderBankSelect[10] = 1;
// default 0.0
engineConfiguration->cylinderBankSelect[11] = 1;
// default 0.0
engineConfiguration->tpsMin = 98;
// default 1000.0
engineConfiguration->tpsMax = 926;
// default 1000.0
engineConfiguration->tps1SecondaryMin = 891;
// default 0.0
engineConfiguration->tps1SecondaryMax = 69;
// default 0.0
engineConfiguration->throttlePedalUpVoltage = 0.73;
// default 5.0
engineConfiguration->throttlePedalWOTVoltage = 4;
// default 5.0
engineConfiguration->throttlePedalSecondaryUpVoltage = 0.74;
// default 0.0
engineConfiguration->throttlePedalSecondaryWOTVoltage = 2.28;
// default 0.0
engineConfiguration->highPressureFuel.v1 = 0.5;
// default 0.0
engineConfiguration->highPressureFuel.v2 = 4.5;
// default 0.0
engineConfiguration->highPressureFuel.value2 = 20000;
// default 0.0
engineConfiguration->mapLowValueVoltage = 0.79;
// default 5.0
engineConfiguration->mapHighValueVoltage = 4;
// default "false"
engineConfiguration->enableAemXSeries = true;
// default 15.0
engineConfiguration->etbIdleThrottleRange = 6;
// default "false"
engineConfiguration->enableSoftwareKnock = true;
// default 550.0
engineConfiguration->vvtControlMinRpm = 1500;
// default 0.0
engineConfiguration->totalGearsCount = 5;
// default 0.0
engineConfiguration->gearRatio[0] = 12;
// default 0.0
engineConfiguration->gearRatio[1] = 6;
// default 0.0
engineConfiguration->gearRatio[2] = 4.4;
// default 0.0
engineConfiguration->gearRatio[3] = 2.4;
// default 0.0
engineConfiguration->gearRatio[4] = 1;
// default 200.0
engineConfiguration->rpmSoftLimitWindowSize = 0;
// default 4.0
engineConfiguration->rpmSoftLimitTimingRetard = 0;
// default "Simultaneous"
engineConfiguration->crankingInjectionMode = IM_SEQUENTIAL;
// default 1.0
engineConfiguration->tpsAccelFractionDivisor = 0;
// default 0.3
engineConfiguration->wwaeTau = 0;
// default 0.3
engineConfiguration->wwaeBeta = 0;
// default 1.0
engineConfiguration->etb.pFactor = 8.8944;
// default 10.0
engineConfiguration->etb.iFactor = 70.2307;
// default 0.05
engineConfiguration->etb.dFactor = 0.1855;
// default "false"
engineConfiguration->disableEtbWhenEngineStopped = true;
// default "Launch Button"
engineConfiguration->launchActivationMode = CLUTCH_INPUT_LAUNCH;
// default "false"
engineConfiguration->rethrowHardFault = true;
// default 3.0
engineConfiguration->hpfpCamLobes = 4;
// default 5.0
engineConfiguration->mc33_hpfp_i_peak = 10;
// default 3.0
engineConfiguration->mc33_hpfp_i_hold = 4;
pbcannedboostTableOpenLoop();
pbcannedvvtTable1();
pbcannedvvtTable2();
pbcannedscriptTable4();
pbcannedignitionTable();
pbcannedveTable();
pbcannedinjectionPhase();
pbcannedlambdaTable();
pbcannedtcuSolenoidTable();
```

View File

@ -0,0 +1,158 @@
```
static void pbcannedboostTableOpenLoop() {
static const float hardCodedboostTableOpenLoop[8][8] = {
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{14.000, 14.000, 14.000, 14.000, 14.000, 14.000, 14.000, 14.000, },
{29.000, 29.000, 29.000, 29.000, 29.000, 29.000, 29.000, 29.000, },
{43.000, 43.000, 43.000, 43.000, 43.000, 43.000, 43.000, 43.000, },
{57.000, 57.000, 57.000, 57.000, 57.000, 57.000, 57.000, 57.000, },
{71.000, 71.000, 71.000, 71.000, 71.000, 71.000, 71.000, 71.000, },
{86.000, 86.000, 86.000, 86.000, 86.000, 86.000, 86.000, 86.000, },
{100.000, 100.000, 100.000, 100.000, 100.000, 100.000, 100.000, 100.000, },
};
copyTable(config->boostTableOpenLoop, hardCodedboostTableOpenLoop);
}
static void pbcannedvvtTable1() {
static const float hardCodedvvtTable1[8][8] = {
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 30.000, 35.000, 35.000, 35.000, 30.000, 20.000, 10.000, },
{0.000, 30.000, 35.000, 35.000, 35.000, 30.000, 20.000, 10.000, },
{0.000, 30.000, 35.000, 35.000, 35.000, 30.000, 20.000, 10.000, },
{0.000, 30.000, 35.000, 35.000, 35.000, 30.000, 20.000, 10.000, },
};
copyTable(config->vvtTable1, hardCodedvvtTable1);
}
static void pbcannedvvtTable2() {
static const float hardCodedvvtTable2[8][8] = {
{50.000, 50.000, 50.000, 50.000, 50.000, 40.000, 40.000, 40.000, },
{50.000, 50.000, 50.000, 50.000, 50.000, 40.000, 40.000, 40.000, },
{50.000, 50.000, 50.000, 50.000, 50.000, 40.000, 40.000, 40.000, },
{50.000, 50.000, 50.000, 50.000, 40.000, 40.000, 40.000, 40.000, },
{50.000, 50.000, 50.000, 50.000, 40.000, 40.000, 40.000, 40.000, },
{50.000, 50.000, 50.000, 50.000, 40.000, 40.000, 40.000, 40.000, },
{50.000, 50.000, 50.000, 50.000, 40.000, 40.000, 40.000, 40.000, },
{50.000, 50.000, 50.000, 50.000, 40.000, 40.000, 40.000, 40.000, },
};
copyTable(config->vvtTable2, hardCodedvvtTable2);
}
static void pbcannedscriptTable4() {
static const float hardCodedscriptTable4[8][10] = {
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
};
copyTable(config->scriptTable4, hardCodedscriptTable4);
}
static void pbcannedignitionTable() {
static const float hardCodedignitionTable[16][16] = {
{12.200, 14.200, 18.100, 23.300, 29.900, 36.400, 39.200, 40.000, -10.000, -10.000, -10.000, -10.000, -10.000, -10.000, -10.000, -10.000, },
{12.100, 14.000, 17.800, 22.900, 29.300, 35.600, 39.000, 39.800, -10.000, -10.000, -10.000, -10.000, -10.000, -10.000, -10.000, -10.000, },
{11.800, 13.700, 10.000, 14.900, 28.600, 34.800, 38.700, 39.500, 39.500, 39.500, 39.500, 39.500, 41.000, 41.000, 41.000, 41.000, },
{11.600, 13.400, 12.300, 17.100, 28.000, 33.900, 38.500, 39.300, 39.300, 39.300, 39.300, 39.300, 40.000, 40.000, 40.000, 40.000, },
{4.400, 6.200, 9.700, 14.400, 20.300, 26.100, 31.200, 32.000, 32.000, 32.000, 32.000, 32.000, 32.000, 32.000, 32.000, 32.000, },
{0.200, 1.900, 5.300, 9.800, 11.600, 15.600, 19.100, 20.100, 20.600, 20.700, 20.900, 21.000, 21.100, 21.200, 21.400, 21.600, },
{-0.100, 1.600, 5.600, 9.200, 7.900, 10.000, 11.900, 13.200, 14.200, 14.500, 14.700, 14.900, 15.200, 15.500, 15.700, 16.200, },
{-3.900, -2.200, 1.600, 5.200, 6.200, 6.500, 6.800, 8.300, 9.800, 10.200, 10.600, 10.900, 11.300, 11.700, 12.100, 12.800, },
{-5.900, -4.300, -0.700, 2.600, 3.100, 3.500, 3.800, 5.300, 6.800, 7.200, 7.600, 7.900, 8.300, 8.700, 9.100, 9.800, },
{-7.800, -6.500, -3.100, 0.100, 0.100, 0.600, 0.900, 2.400, 3.900, 4.300, 4.700, 5.000, 5.400, 5.800, 6.200, 6.900, },
{-9.800, -8.600, -5.500, -2.500, -3.000, -2.400, -2.100, -0.600, 0.900, 1.300, 1.700, 2.000, 2.400, 2.800, 3.200, 3.900, },
{-11.800, -10.700, -7.900, -5.000, -6.100, -5.400, -5.100, -3.600, -2.100, -1.700, -1.300, -1.000, -0.600, -0.200, 0.200, 0.900, },
{-13.800, -12.800, -10.300, -7.600, -9.100, -8.400, -8.100, -6.600, -5.100, -4.700, -4.300, -4.000, -3.600, -3.200, -2.800, -2.100, },
{-15.000, -14.900, -12.700, -10.100, -12.200, -11.300, -11.000, -9.500, -8.000, -7.600, -7.200, -6.900, -6.500, -6.100, -5.700, -5.000, },
{-15.000, -15.000, -15.000, -12.700, -15.000, -14.300, -14.000, -12.500, -11.000, -10.600, -10.200, -9.900, -9.500, -9.100, -8.700, -8.000, },
{-15.000, -15.000, -15.000, -15.000, -15.000, -15.000, -15.000, -15.000, -14.000, -13.600, -13.200, -12.900, -12.500, -12.100, -11.700, -11.000, },
};
copyTable(config->ignitionTable, hardCodedignitionTable);
}
static void pbcannedveTable() {
static const float hardCodedveTable[16][16] = {
{70.300, 70.300, 70.400, 70.500, 70.600, 70.600, 70.300, 29.900, 29.800, 29.900, 30.400, 31.400, 33.000, 35.100, 37.700, 40.900, },
{70.800, 71.500, 72.100, 72.900, 73.300, 72.800, 72.000, 31.300, 31.200, 31.500, 32.200, 33.500, 35.300, 37.700, 40.500, 43.900, },
{71.700, 72.900, 74.000, 74.900, 74.900, 74.000, 73.000, 82.300, 82.100, 82.400, 83.200, 84.500, 86.300, 88.700, 91.600, 95.000, },
{75.100, 77.400, 78.500, 78.600, 77.700, 76.200, 75.000, 84.100, 84.000, 84.200, 85.100, 86.400, 88.300, 90.700, 93.600, 97.100, },
{80.400, 82.100, 82.300, 81.500, 79.900, 78.200, 76.900, 86.400, 86.200, 86.500, 87.400, 88.700, 90.600, 93.000, 96.000, 99.500, },
{85.000, 85.500, 85.000, 83.700, 82.000, 80.100, 78.700, 88.600, 88.500, 88.700, 89.600, 91.000, 92.900, 95.300, 98.400, 101.900, },
{88.500, 88.200, 87.300, 85.800, 83.900, 82.000, 80.600, 90.900, 90.700, 91.000, 91.900, 93.200, 95.200, 97.700, 100.700, 104.300, },
{86.200, 85.400, 84.300, 82.700, 80.800, 78.900, 77.600, 93.100, 93.000, 93.200, 94.100, 95.500, 97.500, 100.000, 103.100, 106.700, },
{105.600, 104.600, 103.400, 101.700, 99.800, 97.800, 96.400, 95.400, 95.200, 95.500, 96.400, 97.800, 99.800, 102.300, 105.500, 109.100, },
{113.400, 112.100, 110.800, 109.000, 106.900, 104.800, 103.300, 102.300, 102.100, 102.400, 103.300, 104.800, 106.900, 109.600, 112.900, 116.800, },
{121.400, 120.000, 118.600, 116.600, 114.400, 112.200, 110.600, 109.500, 109.300, 109.600, 110.600, 112.200, 114.400, 117.300, 120.800, 124.900, },
{127.600, 126.500, 125.100, 123.000, 120.700, 118.300, 116.600, 115.500, 115.300, 115.600, 116.600, 118.300, 120.700, 123.700, 127.400, 127.600, },
{127.600, 127.600, 127.600, 127.600, 125.700, 123.300, 121.500, 120.400, 120.100, 120.500, 121.500, 123.300, 125.700, 127.600, 127.600, 127.600, },
{127.600, 127.600, 127.600, 127.600, 127.600, 127.000, 125.200, 124.000, 123.800, 124.200, 125.200, 127.000, 127.600, 127.600, 127.600, 127.600, },
{127.600, 127.600, 127.600, 127.600, 127.600, 127.600, 127.600, 126.500, 126.300, 126.700, 127.600, 127.600, 127.600, 127.600, 127.600, 127.600, },
{127.600, 127.600, 127.600, 127.600, 127.600, 127.600, 127.600, 127.600, 127.600, 127.600, 127.600, 127.600, 127.600, 127.600, 127.600, 127.600, },
};
copyTable(config->veTable, hardCodedveTable);
}
static void pbcannedinjectionPhase() {
static const float hardCodedinjectionPhase[16][16] = {
{-220.000, -220.000, -220.000, -220.000, -220.000, -220.000, -220.000, -220.000, -250.000, -250.000, -250.000, -240.000, -240.000, -240.000, -240.000, -240.000, },
{-220.000, -220.000, -220.000, -220.000, -220.000, -220.000, -220.000, -220.000, -250.000, -250.000, -250.000, -240.000, -240.000, -240.000, -240.000, -240.000, },
{-220.000, -220.000, -220.000, -220.000, -220.000, -220.000, -220.000, -220.000, -250.000, -250.000, -250.000, -240.000, -240.000, -240.000, -240.000, -240.000, },
{-220.000, -220.000, -220.000, -220.000, -220.000, -220.000, -220.000, -220.000, -250.000, -250.000, -250.000, -240.000, -240.000, -240.000, -240.000, -240.000, },
{-220.000, -220.000, -220.000, -220.000, -220.000, -220.000, -220.000, -220.000, -250.000, -250.000, -250.000, -240.000, -240.000, -240.000, -240.000, -240.000, },
{-220.000, -220.000, -220.000, -220.000, -220.000, -220.000, -220.000, -220.000, -250.000, -250.000, -230.000, -200.000, -200.000, -200.000, -200.000, -200.000, },
{-220.000, -220.000, -220.000, -220.000, -220.000, -220.000, -220.000, -220.000, -250.000, -250.000, -230.000, -200.000, -200.000, -200.000, -200.000, -200.000, },
{-220.000, -220.000, -220.000, -220.000, -220.000, -220.000, -220.000, -220.000, -250.000, -250.000, -230.000, -200.000, -200.000, -200.000, -200.000, -200.000, },
{-220.000, -220.000, -220.000, -220.000, -220.000, -220.000, -220.000, -220.000, -250.000, -250.000, -230.000, -200.000, -200.000, -200.000, -200.000, -200.000, },
{-220.000, -220.000, -220.000, -220.000, -220.000, -220.000, -220.000, -220.000, -250.000, -250.000, -230.000, -200.000, -200.000, -200.000, -200.000, -200.000, },
{-220.000, -220.000, -220.000, -220.000, -220.000, -220.000, -220.000, -220.000, -250.000, -250.000, -230.000, -200.000, -200.000, -200.000, -200.000, -200.000, },
{-220.000, -220.000, -220.000, -220.000, -220.000, -220.000, -220.000, -220.000, -250.000, -250.000, -230.000, -200.000, -200.000, -200.000, -200.000, -200.000, },
{-220.000, -220.000, -220.000, -220.000, -220.000, -220.000, -220.000, -220.000, -250.000, -250.000, -230.000, -200.000, -200.000, -200.000, -200.000, -200.000, },
{-220.000, -220.000, -220.000, -220.000, -220.000, -220.000, -220.000, -220.000, -250.000, -250.000, -230.000, -180.000, -180.000, -180.000, -180.000, -180.000, },
{-220.000, -220.000, -220.000, -220.000, -220.000, -220.000, -220.000, -220.000, -250.000, -250.000, -230.000, -180.000, -180.000, -180.000, -180.000, -180.000, },
{-220.000, -220.000, -220.000, -220.000, -220.000, -220.000, -220.000, -220.000, -250.000, -250.000, -230.000, -180.000, -180.000, -180.000, -180.000, -180.000, },
};
copyTable(config->injectionPhase, hardCodedinjectionPhase);
}
static void pbcannedlambdaTable() {
static const float hardCodedlambdaTable[16][16] = {
{14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, },
{14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, },
{14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, },
{14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, },
{14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, },
{14.000, 14.000, 14.000, 14.000, 14.000, 14.000, 14.000, 14.000, 14.000, 14.000, 14.000, 14.000, 14.000, 14.000, 14.000, 14.000, },
{13.500, 13.500, 13.500, 13.500, 13.500, 13.500, 13.500, 13.500, 13.500, 13.500, 13.500, 13.500, 13.500, 13.500, 13.500, 13.500, },
{13.200, 13.200, 13.200, 13.200, 13.200, 13.200, 13.200, 13.200, 13.200, 13.200, 13.200, 13.200, 13.200, 13.200, 13.200, 13.200, },
{13.100, 13.100, 13.100, 13.100, 13.100, 13.100, 13.100, 13.100, 13.100, 13.100, 13.100, 13.100, 13.100, 13.100, 13.100, 13.100, },
{12.900, 12.900, 12.900, 12.900, 12.900, 12.900, 12.900, 12.900, 12.900, 12.900, 12.900, 12.900, 12.900, 12.900, 12.900, 12.900, },
{12.600, 12.600, 12.600, 12.600, 12.600, 12.600, 12.600, 12.600, 12.600, 12.600, 12.600, 12.600, 12.600, 12.600, 12.600, 12.600, },
{12.300, 12.300, 12.300, 12.300, 12.300, 12.300, 12.300, 12.300, 12.300, 12.300, 12.300, 12.300, 12.300, 12.300, 12.300, 12.300, },
{11.800, 11.800, 11.800, 11.800, 11.800, 11.800, 11.800, 11.800, 11.800, 11.800, 11.800, 11.800, 11.800, 11.800, 11.800, 11.800, },
{11.300, 11.300, 11.300, 11.300, 11.300, 11.300, 11.300, 11.300, 11.300, 11.300, 11.300, 11.300, 11.300, 11.300, 11.300, 11.300, },
{11.000, 11.000, 11.000, 11.000, 11.000, 11.000, 11.000, 11.000, 11.000, 11.000, 11.000, 11.000, 11.000, 11.000, 11.000, 11.000, },
{10.700, 10.700, 10.700, 10.700, 10.700, 10.700, 10.700, 10.700, 10.700, 10.700, 10.700, 10.700, 10.700, 10.700, 10.700, 10.700, },
};
copyTable(config->lambdaTable, hardCodedlambdaTable);
}
static void pbcannedtcuSolenoidTable() {
static const float hardCodedtcuSolenoidTable[6][10] = {
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
};
copyTable(config->tcuSolenoidTable, hardCodedtcuSolenoidTable);
}
```

View File

@ -0,0 +1,344 @@
# m111-alex-comparing-against-current-m111-alex-default
// canned tune https://rusefi.com/online/view.php?msq=1622
```
// default 0.098
engineConfiguration->tChargeAirCoefMin = 0.4;
// default 0.902
engineConfiguration->tChargeAirCoefMax = 0.889999;
// default 153.6
engineConfiguration->tChargeAirFlowMax = 220;
// default "Sequential"
engineConfiguration->injectionMode = IM_BATCH;
// default "Individual Coils"
engineConfiguration->ignitionMode = IM_WASTED_SPARK;
// default 0.0
engineConfiguration->fixedTiming = 10;
// default 2.295
engineConfiguration->displacement = 2.2;
// default 469.0
engineConfiguration->globalTriggerAngleOffset = 72;
// default 40.0
engineConfiguration->camDecoder2jzPrecision = 25;
// default 450.0
engineConfiguration->vvtOffsets[0] = 0;
// default 196.0
engineConfiguration->injector.flow = 222;
// default 300.0
engineConfiguration->fuelReferencePressure = 0;
// default 0.0
engineConfiguration->cylinderBankSelect[0] = 1;
// default 0.0
engineConfiguration->cylinderBankSelect[1] = 1;
// default 0.0
engineConfiguration->cylinderBankSelect[2] = 1;
// default 0.0
engineConfiguration->cylinderBankSelect[3] = 1;
// default 0.0
engineConfiguration->cylinderBankSelect[4] = 1;
// default 0.0
engineConfiguration->cylinderBankSelect[5] = 1;
// default 0.0
engineConfiguration->cylinderBankSelect[6] = 1;
// default 0.0
engineConfiguration->cylinderBankSelect[7] = 1;
// default 0.0
engineConfiguration->cylinderBankSelect[8] = 1;
// default 0.0
engineConfiguration->cylinderBankSelect[9] = 1;
// default 0.0
engineConfiguration->cylinderBankSelect[10] = 1;
// default 0.0
engineConfiguration->cylinderBankSelect[11] = 1;
// default 4.0
engineConfiguration->benchTestOnTime = 5;
// default 891.0
engineConfiguration->tpsMin = 896;
// default 69.0
engineConfiguration->tpsMax = 39;
// default 98.0
engineConfiguration->tps1SecondaryMin = 99;
// default 926.0
engineConfiguration->tps1SecondaryMax = 911;
// default 1000.0
engineConfiguration->tps2SecondaryMin = 0;
// default 0.0
engineConfiguration->tps2SecondaryMax = 1000;
// default 0.38
engineConfiguration->throttlePedalUpVoltage = 0.326213;
// default 4.77
engineConfiguration->throttlePedalWOTVoltage = 4.58342;
// default 4.64
engineConfiguration->throttlePedalSecondaryUpVoltage = 0.137012;
// default 2.47
engineConfiguration->throttlePedalSecondaryWOTVoltage = 2.082364;
// default 65.0
engineConfiguration->mc33_hvolt = 0;
// default 13000.0
engineConfiguration->mc33_i_boost = 0;
// default 400.0
engineConfiguration->mc33_t_max_boost = 0;
// default 9400.0
engineConfiguration->mc33_i_peak = 0;
// default 700.0
engineConfiguration->mc33_t_peak_tot = 0;
// default 10.0
engineConfiguration->mc33_t_peak_off = 0;
// default 10.0
engineConfiguration->mc33_t_bypass = 0;
// default 3700.0
engineConfiguration->mc33_i_hold = 0;
// default 60.0
engineConfiguration->mc33_t_hold_off = 0;
// default 10000.0
engineConfiguration->mc33_t_hold_tot = 0;
// default 1.0
engineConfiguration->turboSpeedSensorMultiplier = 0;
// default 0.3
engineConfiguration->mapLowValueVoltage = 0.2;
// default 4.65
engineConfiguration->mapHighValueVoltage = 4.950012;
// default 410.0
engineConfiguration->mapErrorDetectionTooHigh = 250;
// default 1.0
engineConfiguration->mapMinBufferLength = 2;
// default 0.0
engineConfiguration->baroSensor.lowValue = 38.5;
// default 500.0
engineConfiguration->baroSensor.highValue = 250;
// default "false"
engineConfiguration->enableAemXSeries = true;
// default 300.0
engineConfiguration->idle.solenoidFrequency = 200;
// default 3.0
engineConfiguration->idleStepperReactionTime = 10;
// default 200.0
engineConfiguration->idleStepperTotalSteps = 150;
// default "true"
engineConfiguration->stepperForceParkingEveryRestart = false;
// default 15.0
engineConfiguration->etbIdleThrottleRange = 10;
// default 0.05
engineConfiguration->idleRpmPid.pFactor = 0.002;
// default 0.002
engineConfiguration->idleRpmPid.iFactor = 0.004;
// default -20.0
engineConfiguration->idleRpmPid.minValue = -10;
// default 20.0
engineConfiguration->idleRpmPid.maxValue = 15;
// default -20.0
engineConfiguration->idlerpmpid_iTermMin = -100;
// default 20.0
engineConfiguration->idlerpmpid_iTermMax = 100;
// default 0.0
engineConfiguration->pidExtraForLowRpm = 45;
// default "false"
engineConfiguration->useIacPidMultTable = true;
// default 15.0
engineConfiguration->acIdleExtraOffset = 2;
// default 2.0
engineConfiguration->fan1ExtraIdle = 0;
// default 2.0
engineConfiguration->fan2ExtraIdle = 0;
// default 2.0
engineConfiguration->iacByTpsTaper = 0;
// default 5.0
engineConfiguration->idlePidDeactivationTpsThreshold = 4;
// default 300.0
engineConfiguration->idlePidRpmUpperLimit = 450;
// default 50.0
engineConfiguration->idlePidRpmDeadZone = 10;
// default "Open Loop"
engineConfiguration->idleMode = IM_AUTO;
// default "false"
engineConfiguration->useIdleTimingPidControl = true;
// default -10.0
engineConfiguration->idleTimingPid.minValue = -15;
// default 0.5
engineConfiguration->acDelay = 0;
// default 4.0
engineConfiguration->startUpFuelPumpDuration = 1;
// default 3.0
engineConfiguration->startCrankingDuration = 5;
// default 0.0
engineConfiguration->knockBandCustom = 12.80005;
// default 20.0
engineConfiguration->knockRetardAggression = 5;
// default 3.0
engineConfiguration->knockRetardReapplyRate = 0.1;
// default 1000.0
engineConfiguration->stft.maxIdleRegionRpm = 900;
// default 60.0
engineConfiguration->stft.startupDelay = 90;
// default 60.0
engineConfiguration->stft.minClt = 70;
// default 12.0
engineConfiguration->stft.minAfr = 10;
// default 6000.0
engineConfiguration->vvtActivationDelayMs = 0;
// default 500.0
engineConfiguration->vvtControlMinRpm = 550;
// default 33.0
engineConfiguration->auxPid[0].offset = 0;
// default 2.0
engineConfiguration->auxPid[0].pFactor = 0;
// default 0.005
engineConfiguration->auxPid[0].iFactor = 0;
// default 10.0
engineConfiguration->auxPid[1].minValue = 0;
// default 90.0
engineConfiguration->auxPid[1].maxValue = 0;
// default 0.0
engineConfiguration->alternatorControl.minValue = 10;
// default 3.0
engineConfiguration->vssFilterReciprocal = 10;
// default 1000.0
engineConfiguration->driveWheelRevPerKm = 500;
// default 1.0
engineConfiguration->finalGearRatio = 0;
// default 38400.0
engineConfiguration->tunerStudioSerialSpeed = 115200;
// default "500kbps"
engineConfiguration->can2BaudRate = B100KBPS;
// default 0.0
engineConfiguration->auxSerialSpeed = 115200;
// default "MAP"
engineConfiguration->debugMode = DBG_STEPPER_IDLE_CONTROL;
// default 7000.0
engineConfiguration->rpmHardLimit = 6200;
// default 300.0
engineConfiguration->boostCutPressure = 0;
// default 200.0
engineConfiguration->rpmSoftLimitWindowSize = 0;
// default 4.0
engineConfiguration->rpmSoftLimitTimingRetard = 0;
// default 0.0
engineConfiguration->etbRevLimitStart = 6100;
// default 250.0
engineConfiguration->etbRevLimitRange = 200;
// default "Sequential"
engineConfiguration->crankingInjectionMode = IM_SIMULTANEOUS;
// default 27.0
engineConfiguration->cranking.baseFuel = 36;
// default 200.0
engineConfiguration->afterCrankingIACtaperDuration = 250;
// default "false"
engineConfiguration->overrideCrankingIacSetting = true;
// default 6.0
engineConfiguration->crankingTimingAngle = 3;
// default 6.0
engineConfiguration->ignitionDwellForCrankingMs = 5;
// default 0.5
engineConfiguration->primingDelay = 0;
// default 0.0
engineConfiguration->tpsAccelLookback = 0.3;
// default 40.0
engineConfiguration->tpsAccelEnrichmentThreshold = 5;
// default 0.0
engineConfiguration->tpsDecelEnleanmentThreshold = 12;
// default 0.0
engineConfiguration->tpsAccelFractionPeriod = 3;
// default 1.0
engineConfiguration->tpsAccelFractionDivisor = 0.3;
// default 0.3
engineConfiguration->wwaeTau = 0.25;
// default 0.3
engineConfiguration->wwaeBeta = 0.35;
// default 0.0
engineConfiguration->scriptSetting[0] = 60;
// default 2000.0
engineConfiguration->boostControlMinRpm = 0;
// default 30.0
engineConfiguration->boostControlMinTps = 0;
// default 110.0
engineConfiguration->boostControlMinMap = 0;
// default "Throttle 2"
engineConfiguration->etbFunctions[1] = DC_None;
// default 5.12
engineConfiguration->etb.pFactor = 6.2437;
// default 47.0
engineConfiguration->etb.iFactor = 82.52869;
// default 0.088
engineConfiguration->etb.dFactor = 0.0761765;
// default -100.0
engineConfiguration->etb.minValue = -20;
// default -30.0
engineConfiguration->etb_iTermMin = -25;
// default 800.0
engineConfiguration->etbFreq = 2000;
// default 100.0
engineConfiguration->etbMaximumPosition = 97;
// default "false"
engineConfiguration->launchControlEnabled = true;
// default 30.0
engineConfiguration->launchSpeedThreshold = 15;
// default 3000.0
engineConfiguration->launchRpm = 3500;
// default "false"
engineConfiguration->enableLaunchRetard = true;
// default 0.0
engineConfiguration->launchTimingRetard = 10;
// default "false"
engineConfiguration->launchFuelCutEnable = true;
// default "Switch Input"
engineConfiguration->antiLagActivationMode = ALWAYS_ON_ANTILAG;
// default 60.0
engineConfiguration->coastingFuelCutClt = 30;
// default 1500.0
engineConfiguration->coastingFuelCutRpmHigh = 2000;
// default 2.0
engineConfiguration->coastingFuelCutTps = 5;
// default "true"
engineConfiguration->watchOutForLinearTime = false;
// default 250.0
engineConfiguration->gppwm[0].pwmFrequency = 10;
// default 0.0
engineConfiguration->gppwm[0].dutyIfError = 10;
// default "Zero"
engineConfiguration->gppwm[0].loadAxis = GPPWM_Clt;
// default 250.0
engineConfiguration->gppwm[1].pwmFrequency = 125;
// default "Zero"
engineConfiguration->gppwm[1].loadAxis = GPPWM_Map;
// default 250.0
engineConfiguration->gppwm[2].pwmFrequency = 5;
// default "Zero"
engineConfiguration->gppwm[2].loadAxis = GPPWM_Map;
// default "Zero"
engineConfiguration->gppwm[3].loadAxis = GPPWM_Tps;
// default 3.0
engineConfiguration->hpfpCamLobes = 0;
// default 10.0
engineConfiguration->hpfpPeakPos = 0;
// default 0.29
engineConfiguration->hpfpPumpVolume = 0;
// default 10.0
engineConfiguration->hpfpMinAngle = 0;
// default 30.0
engineConfiguration->hpfpActivationAngle = 0;
// default 2000.0
engineConfiguration->hpfpTargetDecay = 0;
// default 0.01
engineConfiguration->hpfpPidP = 0;
// default 3.0E-4
engineConfiguration->hpfpPidI = 0;
cannedtpsTpsAccelTable();
cannedboostTableOpenLoop();
cannedboostTableClosedLoop();
cannedscriptTable1();
cannedscriptTable4();
cannedignitionTable();
cannedignitionIatCorrTable();
cannedveTable();
cannedmapEstimateTable();
cannedinjectionPhase();
cannedpedalToTpsTable();
cannedmaxKnockRetardTable();
cannedlambdaTable();
cannediacPidMultTable();
cannedtcuSolenoidTable();
cannedpostCrankingFactor();
```

View File

@ -0,0 +1,260 @@
```
static void cannedtpsTpsAccelTable() {
static const float hardCodedtpsTpsAccelTable[8][8] = {
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{7.240, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{7.242, 2.880, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{11.927, 4.896, 2.500, 0.000, 0.000, 0.000, 0.000, 0.000, },
{14.515, 6.624, 4.250, 2.500, 0.000, 0.000, 0.000, 0.000, },
{16.589, 8.064, 5.750, 4.250, 2.500, 0.000, 0.000, 0.000, },
{18.144, 9.216, 7.000, 5.750, 4.250, 5.000, 0.000, 0.000, },
{19.181, 10.080, 8.000, 7.000, 5.750, 8.500, 5.000, 0.000, },
};
copyTable(config->tpsTpsAccelTable, hardCodedtpsTpsAccelTable);
}
static void cannedboostTableOpenLoop() {
static const float hardCodedboostTableOpenLoop[8][8] = {
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{14.000, 14.000, 14.000, 14.000, 14.000, 14.000, 14.000, 14.000, },
{28.000, 28.000, 28.000, 28.000, 28.000, 28.000, 28.000, 28.000, },
{42.000, 42.000, 42.000, 42.000, 42.000, 42.000, 42.000, 42.000, },
{58.000, 58.000, 58.000, 58.000, 58.000, 58.000, 58.000, 58.000, },
{72.000, 72.000, 72.000, 72.000, 72.000, 72.000, 72.000, 72.000, },
{86.000, 86.000, 86.000, 86.000, 86.000, 86.000, 86.000, 86.000, },
{100.000, 100.000, 100.000, 100.000, 100.000, 100.000, 100.000, 100.000, },
};
copyTable(config->boostTableOpenLoop, hardCodedboostTableOpenLoop);
}
static void cannedboostTableClosedLoop() {
static const float hardCodedboostTableClosedLoop[8][8] = {
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{14.000, 14.000, 14.000, 14.000, 14.000, 14.000, 14.000, 14.000, },
{28.000, 28.000, 28.000, 28.000, 28.000, 28.000, 28.000, 28.000, },
{42.000, 42.000, 42.000, 42.000, 42.000, 42.000, 42.000, 42.000, },
{58.000, 58.000, 58.000, 58.000, 58.000, 58.000, 58.000, 58.000, },
{72.000, 72.000, 72.000, 72.000, 72.000, 72.000, 72.000, 72.000, },
{86.000, 86.000, 86.000, 86.000, 86.000, 86.000, 86.000, 86.000, },
{100.000, 100.000, 100.000, 100.000, 100.000, 100.000, 100.000, 100.000, },
};
copyTable(config->boostTableClosedLoop, hardCodedboostTableClosedLoop);
}
static void cannedscriptTable1() {
static const float hardCodedscriptTable1[8][8] = {
{0.100, 0.100, 0.100, 0.100, 0.100, 0.100, 0.100, 0.100, },
{0.100, 0.100, 0.100, 0.100, 0.100, 0.100, 0.100, 0.100, },
{0.000, 0.200, 0.100, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.200, 0.050, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
};
copyTable(config->scriptTable1, hardCodedscriptTable1);
}
static void cannedscriptTable4() {
static const float hardCodedscriptTable4[8][10] = {
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
};
copyTable(config->scriptTable4, hardCodedscriptTable4);
}
static void cannedignitionTable() {
static const float hardCodedignitionTable[16][16] = {
{0.000, 8.000, 8.000, 8.000, 8.000, 10.000, 18.400, 22.800, 23.700, 30.700, 30.700, 30.700, 30.700, 30.700, 30.700, 30.700, },
{0.000, 8.000, 8.000, 8.000, 8.000, 11.500, 19.700, 24.000, 25.000, 30.500, 30.500, 30.500, 30.500, 30.500, 30.500, 30.500, },
{0.000, 8.000, 8.000, 8.000, 8.000, 13.000, 21.000, 25.100, 26.300, 30.200, 30.200, 30.200, 30.200, 30.200, 30.200, 30.200, },
{0.000, 8.000, 8.000, 8.000, 8.000, 14.500, 22.300, 26.300, 27.500, 30.000, 30.000, 30.000, 30.000, 30.000, 30.000, 30.000, },
{0.000, 8.000, 8.000, 8.000, 8.000, 16.000, 23.600, 27.400, 28.800, 29.800, 29.800, 29.800, 29.800, 29.800, 29.800, 29.800, },
{0.000, 8.000, 8.000, 8.000, 8.000, 16.000, 23.400, 27.200, 28.500, 29.500, 29.500, 29.500, 29.500, 29.500, 29.500, 29.500, },
{0.000, 8.000, 8.000, 8.000, 8.000, 16.000, 23.200, 26.900, 28.200, 29.200, 29.200, 29.200, 29.200, 29.200, 29.200, 29.200, },
{0.000, 10.000, 10.000, 10.000, 10.000, 16.000, 23.100, 26.600, 28.000, 28.900, 28.900, 28.900, 28.900, 28.900, 28.900, 28.900, },
{0.000, 10.000, 10.000, 10.000, 10.000, 16.000, 23.000, 26.200, 27.600, 28.500, 28.500, 28.500, 28.500, 28.500, 28.500, 28.500, },
{0.000, 10.000, 10.000, 10.000, 10.000, 16.000, 22.500, 25.700, 27.000, 28.000, 28.000, 28.000, 28.000, 28.000, 28.000, 28.000, },
{0.000, 10.000, 10.000, 10.000, 10.000, 16.000, 22.000, 25.100, 26.500, 27.400, 27.400, 27.400, 27.400, 27.400, 27.400, 27.400, },
{0.000, 10.000, 10.000, 10.000, 10.000, 15.900, 21.500, 24.600, 26.000, 27.000, 27.000, 27.000, 27.000, 27.000, 27.000, 27.000, },
{0.000, 10.000, 10.000, 10.000, 10.000, 15.800, 21.000, 24.200, 25.500, 26.500, 26.500, 26.500, 26.500, 26.500, 26.500, 26.500, },
{0.000, 10.000, 10.000, 10.000, 10.000, 15.100, 20.000, 23.100, 25.300, 25.800, 25.800, 25.800, 25.800, 25.800, 25.800, 25.800, },
{0.000, 10.000, 10.000, 10.000, 10.000, 14.400, 19.000, 21.900, 25.100, 25.100, 25.100, 25.100, 25.100, 25.100, 25.100, 25.100, },
{0.000, 10.000, 10.000, 10.000, 10.000, 13.200, 16.500, 19.100, 22.000, 23.700, 23.700, 23.700, 23.700, 23.700, 23.700, 23.700, },
};
copyTable(config->ignitionTable, hardCodedignitionTable);
}
static void cannedignitionIatCorrTable() {
static const float hardCodedignitionIatCorrTable[8][8] = {
{4.000, 4.000, 4.000, 4.000, 4.000, 4.000, 4.000, 4.000, },
{2.900, 2.900, 2.900, 2.900, 2.900, 2.900, 2.900, 2.900, },
{0.700, 0.700, 0.700, 0.700, 0.700, 0.700, 0.700, 0.700, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{-0.600, -0.600, -0.600, -0.600, -0.600, -0.600, -0.600, -0.600, },
{-3.400, -3.400, -3.400, -3.400, -3.400, -3.400, -3.400, -3.400, },
{-4.000, -4.000, -4.000, -4.000, -4.000, -4.000, -4.000, -4.000, },
{-6.000, -6.000, -6.000, -6.000, -6.000, -6.000, -6.000, -6.000, },
};
copyTable(config->ignitionIatCorrTable, hardCodedignitionIatCorrTable);
}
static void cannedveTable() {
static const float hardCodedveTable[16][16] = {
{27.800, 27.500, 17.300, 7.800, 5.400, 6.500, 7.200, 10.300, 11.600, 13.700, 27.600, 30.000, 23.400, 23.800, 25.700, 34.400, },
{27.800, 27.500, 17.300, 7.800, 5.400, 6.500, 7.200, 10.300, 11.600, 13.700, 27.600, 30.000, 23.400, 23.800, 25.700, 34.400, },
{21.200, 22.400, 22.900, 12.800, 12.300, 12.600, 13.700, 13.800, 13.100, 28.800, 29.600, 32.400, 31.500, 32.300, 33.500, 34.400, },
{27.400, 27.300, 28.100, 28.200, 29.500, 32.000, 37.800, 26.700, 24.000, 37.800, 39.000, 40.100, 45.000, 46.800, 48.000, 49.000, },
{32.600, 33.900, 34.200, 39.900, 40.900, 43.200, 43.100, 39.600, 34.900, 40.600, 43.300, 47.300, 47.900, 49.700, 50.600, 51.500, },
{38.000, 40.500, 46.600, 50.600, 50.400, 51.400, 50.800, 47.300, 44.400, 48.200, 51.800, 52.200, 49.900, 51.700, 52.400, 53.300, },
{44.400, 47.900, 49.200, 60.200, 55.800, 58.600, 59.000, 53.700, 50.600, 49.400, 48.800, 50.600, 52.300, 54.000, 55.500, 57.100, },
{41.400, 57.800, 66.200, 65.800, 65.500, 64.900, 63.200, 60.700, 59.100, 60.600, 61.300, 55.200, 55.500, 57.200, 58.900, 60.700, },
{65.000, 68.700, 69.100, 70.000, 70.600, 71.600, 68.900, 66.900, 64.900, 69.600, 63.000, 64.400, 61.900, 63.500, 65.700, 67.900, },
{69.000, 76.500, 74.000, 75.600, 73.600, 74.200, 72.500, 69.700, 68.600, 70.300, 65.100, 66.300, 63.300, 64.400, 66.400, 68.500, },
{73.000, 84.200, 78.800, 81.200, 76.600, 76.800, 76.000, 72.500, 72.200, 70.900, 67.100, 68.100, 64.600, 65.300, 67.100, 69.100, },
{74.200, 84.400, 78.800, 82.400, 77.900, 78.900, 78.100, 75.000, 75.600, 75.700, 75.200, 77.200, 73.500, 69.800, 70.500, 71.500, },
{75.400, 84.500, 78.800, 83.600, 79.100, 81.000, 80.200, 77.500, 78.900, 80.500, 83.300, 86.300, 82.300, 74.200, 73.900, 73.900, },
{76.900, 84.700, 78.800, 81.900, 80.000, 81.500, 81.600, 78.700, 80.700, 83.400, 86.500, 90.200, 89.500, 82.800, 82.700, 82.700, },
{78.300, 84.800, 78.800, 80.200, 80.900, 82.000, 82.900, 79.900, 82.400, 86.200, 89.600, 94.000, 96.600, 91.400, 91.500, 91.500, },
{80.000, 85.000, 84.900, 84.800, 84.700, 84.400, 84.200, 83.900, 83.700, 85.900, 89.100, 91.500, 91.600, 90.300, 92.000, 92.000, },
};
copyTable(config->veTable, hardCodedveTable);
}
static void cannedmapEstimateTable() {
static const float hardCodedmapEstimateTable[16][16] = {
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
};
copyTable(config->mapEstimateTable, hardCodedmapEstimateTable);
}
static void cannedinjectionPhase() {
static const float hardCodedinjectionPhase[16][16] = {
{-360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, },
{-360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, },
{-360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, },
{-360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, },
{-360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, },
{-360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, },
{-360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, },
{-360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, },
{-360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, },
{-360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, },
{-360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, },
{-360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, },
{-360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, },
{-360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, },
{-360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, },
{-360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, },
};
copyTable(config->injectionPhase, hardCodedinjectionPhase);
}
static void cannedpedalToTpsTable() {
static const float hardCodedpedalToTpsTable[8][8] = {
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{2.000, 3.000, 2.000, 4.000, 4.000, 4.000, 4.000, 10.000, },
{4.000, 4.000, 4.000, 5.000, 7.000, 14.000, 15.000, 15.000, },
{8.000, 8.000, 8.000, 9.000, 12.000, 20.000, 20.000, 20.000, },
{15.000, 15.000, 18.000, 20.000, 29.000, 33.000, 35.000, 35.000, },
{40.000, 40.000, 40.000, 50.000, 60.000, 65.000, 71.000, 71.000, },
{86.000, 86.000, 86.000, 86.000, 86.000, 86.000, 86.000, 86.000, },
{100.000, 100.000, 100.000, 100.000, 100.000, 100.000, 100.000, 100.000, },
};
copyTable(config->pedalToTpsTable, hardCodedpedalToTpsTable);
}
static void cannedmaxKnockRetardTable() {
static const float hardCodedmaxKnockRetardTable[6][6] = {
{2.000, 2.000, 2.000, 2.000, 2.000, 2.000, },
{2.000, 2.000, 2.000, 2.000, 2.000, 2.000, },
{3.250, 3.250, 3.250, 3.250, 3.250, 3.250, },
{4.250, 4.250, 4.250, 4.250, 4.250, 4.250, },
{5.000, 5.000, 5.000, 5.000, 5.000, 5.000, },
{5.000, 5.000, 5.000, 5.000, 5.000, 5.000, },
};
copyTable(config->maxKnockRetardTable, hardCodedmaxKnockRetardTable);
}
static void cannedlambdaTable() {
static const float hardCodedlambdaTable[16][16] = {
{14.000, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.200, 14.200, 14.200, 14.200, },
{14.000, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.200, 14.200, 14.200, 14.200, },
{14.000, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.200, 14.200, 14.200, 14.200, },
{14.000, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.200, 14.200, 14.200, 14.200, },
{14.000, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.200, 14.200, 14.200, 14.200, },
{14.000, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.200, 14.200, 14.000, 14.000, },
{14.000, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.200, 14.000, 14.000, },
{14.000, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.200, 14.000, 14.000, },
{14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.200, 14.000, 14.000, },
{14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.200, 14.000, 14.000, },
{14.500, 14.500, 14.500, 14.500, 14.500, 14.500, 14.500, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.000, 14.000, 14.000, },
{14.500, 14.500, 14.500, 14.500, 14.500, 14.500, 14.500, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.000, 14.000, 14.000, },
{14.200, 14.200, 14.200, 14.300, 14.300, 14.300, 14.300, 14.300, 14.700, 14.700, 14.700, 14.700, 14.700, 14.300, 14.300, 14.300, },
{14.200, 14.200, 14.200, 14.200, 14.200, 14.200, 14.200, 14.200, 14.400, 14.400, 14.400, 14.400, 14.400, 14.200, 14.200, 14.200, },
{14.000, 14.000, 14.000, 14.000, 14.000, 14.000, 14.000, 14.000, 14.000, 14.000, 14.000, 14.000, 14.000, 14.000, 14.000, 14.000, },
{13.900, 13.900, 13.900, 13.900, 13.900, 13.900, 13.900, 13.900, 13.900, 13.900, 13.900, 13.900, 13.900, 13.900, 13.900, 13.900, },
};
copyTable(config->lambdaTable, hardCodedlambdaTable);
}
static void cannediacPidMultTable() {
static const float hardCodediacPidMultTable[8][8] = {
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{6.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{8.000, 6.000, 4.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{9.000, 8.000, 4.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{10.000, 10.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
};
copyTable(config->iacPidMultTable, hardCodediacPidMultTable);
}
static void cannedtcuSolenoidTable() {
static const float hardCodedtcuSolenoidTable[6][10] = {
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
};
copyTable(config->tcuSolenoidTable, hardCodedtcuSolenoidTable);
}
static void cannedpostCrankingFactor() {
static const float hardCodedpostCrankingFactor[6][6] = {
{1.200, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
};
copyTable(engineConfiguration->postCrankingFactor, hardCodedpostCrankingFactor);
}
```

View File

@ -0,0 +1,350 @@
# m111-alex-comparing-against-global-defaults
// canned tune https://rusefi.com/online/view.php?msq=1622
```
// default 0.098
engineConfiguration->tChargeAirCoefMin = 0.4;
// default 0.902
engineConfiguration->tChargeAirCoefMax = 0.889999;
// default 153.6
engineConfiguration->tChargeAirFlowMax = 220;
// default "Sequential"
engineConfiguration->injectionMode = IM_BATCH;
// default "Single Coil"
engineConfiguration->ignitionMode = IM_WASTED_SPARK;
// default 0.0
engineConfiguration->fixedTiming = 10;
// default 2.0
engineConfiguration->displacement = 2.2;
// default 0.0
engineConfiguration->globalTriggerAngleOffset = 72;
// default 40.0
engineConfiguration->camDecoder2jzPrecision = 25;
// default 450.0
engineConfiguration->vvtOffsets[0] = 0;
// default 200.0
engineConfiguration->injector.flow = 222;
// default 300.0
engineConfiguration->fuelReferencePressure = 0;
// default 0.0
engineConfiguration->cylinderBankSelect[0] = 1;
// default 0.0
engineConfiguration->cylinderBankSelect[1] = 1;
// default 0.0
engineConfiguration->cylinderBankSelect[2] = 1;
// default 0.0
engineConfiguration->cylinderBankSelect[3] = 1;
// default 0.0
engineConfiguration->cylinderBankSelect[4] = 1;
// default 0.0
engineConfiguration->cylinderBankSelect[5] = 1;
// default 0.0
engineConfiguration->cylinderBankSelect[6] = 1;
// default 0.0
engineConfiguration->cylinderBankSelect[7] = 1;
// default 0.0
engineConfiguration->cylinderBankSelect[8] = 1;
// default 0.0
engineConfiguration->cylinderBankSelect[9] = 1;
// default 0.0
engineConfiguration->cylinderBankSelect[10] = 1;
// default 0.0
engineConfiguration->cylinderBankSelect[11] = 1;
// default 4.0
engineConfiguration->benchTestOnTime = 5;
// default 0.0
engineConfiguration->tpsMin = 896;
// default 1000.0
engineConfiguration->tpsMax = 39;
// default 1000.0
engineConfiguration->tps1SecondaryMin = 99;
// default 0.0
engineConfiguration->tps1SecondaryMax = 911;
// default 1000.0
engineConfiguration->tps2SecondaryMin = 0;
// default 0.0
engineConfiguration->tps2SecondaryMax = 1000;
// default 0.0
engineConfiguration->throttlePedalUpVoltage = 0.326213;
// default 5.0
engineConfiguration->throttlePedalWOTVoltage = 4.58342;
// default 5.0
engineConfiguration->throttlePedalSecondaryUpVoltage = 0.137012;
// default 0.0
engineConfiguration->throttlePedalSecondaryWOTVoltage = 2.082364;
// default 65.0
engineConfiguration->mc33_hvolt = 0;
// default 13000.0
engineConfiguration->mc33_i_boost = 0;
// default 400.0
engineConfiguration->mc33_t_max_boost = 0;
// default 9400.0
engineConfiguration->mc33_i_peak = 0;
// default 700.0
engineConfiguration->mc33_t_peak_tot = 0;
// default 10.0
engineConfiguration->mc33_t_peak_off = 0;
// default 10.0
engineConfiguration->mc33_t_bypass = 0;
// default 3700.0
engineConfiguration->mc33_i_hold = 0;
// default 60.0
engineConfiguration->mc33_t_hold_off = 0;
// default 10000.0
engineConfiguration->mc33_t_hold_tot = 0;
// default 1.0
engineConfiguration->turboSpeedSensorMultiplier = 0;
// default 0.0
engineConfiguration->mapLowValueVoltage = 0.2;
// default 5.0
engineConfiguration->mapHighValueVoltage = 4.950012;
// default 410.0
engineConfiguration->mapErrorDetectionTooHigh = 250;
// default 1.0
engineConfiguration->mapMinBufferLength = 2;
// default 0.0
engineConfiguration->baroSensor.lowValue = 38.5;
// default 500.0
engineConfiguration->baroSensor.highValue = 250;
// default "false"
engineConfiguration->enableAemXSeries = true;
// default 300.0
engineConfiguration->idle.solenoidFrequency = 200;
// default 3.0
engineConfiguration->idleStepperReactionTime = 10;
// default 200.0
engineConfiguration->idleStepperTotalSteps = 150;
// default "true"
engineConfiguration->stepperForceParkingEveryRestart = false;
// default 15.0
engineConfiguration->etbIdleThrottleRange = 10;
// default 0.05
engineConfiguration->idleRpmPid.pFactor = 0.002;
// default 0.002
engineConfiguration->idleRpmPid.iFactor = 0.004;
// default -20.0
engineConfiguration->idleRpmPid.minValue = -10;
// default 20.0
engineConfiguration->idleRpmPid.maxValue = 15;
// default -20.0
engineConfiguration->idlerpmpid_iTermMin = -100;
// default 20.0
engineConfiguration->idlerpmpid_iTermMax = 100;
// default 0.0
engineConfiguration->pidExtraForLowRpm = 45;
// default "false"
engineConfiguration->useIacPidMultTable = true;
// default 15.0
engineConfiguration->acIdleExtraOffset = 2;
// default 2.0
engineConfiguration->fan1ExtraIdle = 0;
// default 2.0
engineConfiguration->fan2ExtraIdle = 0;
// default 2.0
engineConfiguration->iacByTpsTaper = 0;
// default 5.0
engineConfiguration->idlePidDeactivationTpsThreshold = 4;
// default 300.0
engineConfiguration->idlePidRpmUpperLimit = 450;
// default 50.0
engineConfiguration->idlePidRpmDeadZone = 10;
// default "Open Loop"
engineConfiguration->idleMode = IM_AUTO;
// default "false"
engineConfiguration->useIdleTimingPidControl = true;
// default -10.0
engineConfiguration->idleTimingPid.minValue = -15;
// default 0.5
engineConfiguration->acDelay = 0;
// default 4.0
engineConfiguration->startUpFuelPumpDuration = 1;
// default 3.0
engineConfiguration->startCrankingDuration = 5;
// default "false"
engineConfiguration->enableSoftwareKnock = true;
// default 87.5
engineConfiguration->cylinderBore = 89.90039;
// default 0.0
engineConfiguration->knockBandCustom = 12.80005;
// default 20.0
engineConfiguration->knockRetardAggression = 5;
// default 3.0
engineConfiguration->knockRetardReapplyRate = 0.1;
// default 1000.0
engineConfiguration->stft.maxIdleRegionRpm = 900;
// default 60.0
engineConfiguration->stft.startupDelay = 90;
// default 60.0
engineConfiguration->stft.minClt = 70;
// default 12.0
engineConfiguration->stft.minAfr = 10;
// default 6000.0
engineConfiguration->vvtActivationDelayMs = 0;
// default 33.0
engineConfiguration->auxPid[0].offset = 0;
// default 2.0
engineConfiguration->auxPid[0].pFactor = 0;
// default 0.005
engineConfiguration->auxPid[0].iFactor = 0;
// default 10.0
engineConfiguration->auxPid[1].minValue = 0;
// default 90.0
engineConfiguration->auxPid[1].maxValue = 0;
// default 0.0
engineConfiguration->alternatorControl.minValue = 10;
// default 3.0
engineConfiguration->vssFilterReciprocal = 10;
// default 1000.0
engineConfiguration->driveWheelRevPerKm = 500;
// default "false"
engineConfiguration->enableCanVss = true;
// default "BMW_e46"
engineConfiguration->canVssNbcType = W202;
// default 1.0
engineConfiguration->finalGearRatio = 0;
// default 38400.0
engineConfiguration->tunerStudioSerialSpeed = 115200;
// default "500kbps"
engineConfiguration->can2BaudRate = B100KBPS;
// default "None"
engineConfiguration->canNbcType = CAN_BUS_W202_C180;
// default 0.0
engineConfiguration->auxSerialSpeed = 115200;
// default "MAP"
engineConfiguration->debugMode = DBG_STEPPER_IDLE_CONTROL;
// default 7000.0
engineConfiguration->rpmHardLimit = 6200;
// default 300.0
engineConfiguration->boostCutPressure = 0;
// default 200.0
engineConfiguration->rpmSoftLimitWindowSize = 0;
// default 4.0
engineConfiguration->rpmSoftLimitTimingRetard = 0;
// default 0.0
engineConfiguration->etbRevLimitStart = 6100;
// default 250.0
engineConfiguration->etbRevLimitRange = 200;
// default 27.0
engineConfiguration->cranking.baseFuel = 36;
// default 200.0
engineConfiguration->afterCrankingIACtaperDuration = 250;
// default "false"
engineConfiguration->overrideCrankingIacSetting = true;
// default 6.0
engineConfiguration->crankingTimingAngle = 3;
// default 6.0
engineConfiguration->ignitionDwellForCrankingMs = 5;
// default 0.5
engineConfiguration->primingDelay = 0;
// default 0.0
engineConfiguration->tpsAccelLookback = 0.3;
// default 40.0
engineConfiguration->tpsAccelEnrichmentThreshold = 5;
// default 0.0
engineConfiguration->tpsDecelEnleanmentThreshold = 12;
// default 0.0
engineConfiguration->tpsAccelFractionPeriod = 3;
// default 1.0
engineConfiguration->tpsAccelFractionDivisor = 0.3;
// default 0.3
engineConfiguration->wwaeTau = 0.25;
// default 0.3
engineConfiguration->wwaeBeta = 0.35;
// default 0.0
engineConfiguration->scriptSetting[0] = 60;
// default 2000.0
engineConfiguration->boostControlMinRpm = 0;
// default 30.0
engineConfiguration->boostControlMinTps = 0;
// default 110.0
engineConfiguration->boostControlMinMap = 0;
// default "Throttle 2"
engineConfiguration->etbFunctions[1] = DC_None;
// default 1.0
engineConfiguration->etb.pFactor = 6.2437;
// default 10.0
engineConfiguration->etb.iFactor = 82.52869;
// default 0.05
engineConfiguration->etb.dFactor = 0.0761765;
// default -100.0
engineConfiguration->etb.minValue = -20;
// default -30.0
engineConfiguration->etb_iTermMin = -25;
// default 800.0
engineConfiguration->etbFreq = 2000;
// default 100.0
engineConfiguration->etbMaximumPosition = 97;
// default "false"
engineConfiguration->launchControlEnabled = true;
// default 30.0
engineConfiguration->launchSpeedThreshold = 15;
// default 3000.0
engineConfiguration->launchRpm = 3500;
// default "false"
engineConfiguration->enableLaunchRetard = true;
// default 0.0
engineConfiguration->launchTimingRetard = 10;
// default "false"
engineConfiguration->launchFuelCutEnable = true;
// default "Switch Input"
engineConfiguration->antiLagActivationMode = ALWAYS_ON_ANTILAG;
// default 60.0
engineConfiguration->coastingFuelCutClt = 30;
// default 1500.0
engineConfiguration->coastingFuelCutRpmHigh = 2000;
// default 2.0
engineConfiguration->coastingFuelCutTps = 5;
// default "true"
engineConfiguration->watchOutForLinearTime = false;
// default 250.0
engineConfiguration->gppwm[0].pwmFrequency = 10;
// default 0.0
engineConfiguration->gppwm[0].dutyIfError = 10;
// default "Zero"
engineConfiguration->gppwm[0].loadAxis = GPPWM_Clt;
// default 250.0
engineConfiguration->gppwm[1].pwmFrequency = 125;
// default "Zero"
engineConfiguration->gppwm[1].loadAxis = GPPWM_Map;
// default 250.0
engineConfiguration->gppwm[2].pwmFrequency = 5;
// default "Zero"
engineConfiguration->gppwm[2].loadAxis = GPPWM_Map;
// default "Zero"
engineConfiguration->gppwm[3].loadAxis = GPPWM_Tps;
// default 3.0
engineConfiguration->hpfpCamLobes = 0;
// default 10.0
engineConfiguration->hpfpPeakPos = 0;
// default 0.29
engineConfiguration->hpfpPumpVolume = 0;
// default 10.0
engineConfiguration->hpfpMinAngle = 0;
// default 30.0
engineConfiguration->hpfpActivationAngle = 0;
// default 2000.0
engineConfiguration->hpfpTargetDecay = 0;
// default 0.01
engineConfiguration->hpfpPidP = 0;
// default 3.0E-4
engineConfiguration->hpfpPidI = 0;
cannedtpsTpsAccelTable();
cannedboostTableOpenLoop();
cannedboostTableClosedLoop();
cannedscriptTable1();
cannedscriptTable4();
cannedignitionTable();
cannedignitionIatCorrTable();
cannedveTable();
cannedmapEstimateTable();
cannedinjectionPhase();
cannedpedalToTpsTable();
cannedmaxKnockRetardTable();
cannedlambdaTable();
cannediacPidMultTable();
cannedtcuSolenoidTable();
cannedpostCrankingFactor();
```

View File

@ -0,0 +1,260 @@
```
static void cannedtpsTpsAccelTable() {
static const float hardCodedtpsTpsAccelTable[8][8] = {
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{7.240, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{7.242, 2.880, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{11.927, 4.896, 2.500, 0.000, 0.000, 0.000, 0.000, 0.000, },
{14.515, 6.624, 4.250, 2.500, 0.000, 0.000, 0.000, 0.000, },
{16.589, 8.064, 5.750, 4.250, 2.500, 0.000, 0.000, 0.000, },
{18.144, 9.216, 7.000, 5.750, 4.250, 5.000, 0.000, 0.000, },
{19.181, 10.080, 8.000, 7.000, 5.750, 8.500, 5.000, 0.000, },
};
copyTable(config->tpsTpsAccelTable, hardCodedtpsTpsAccelTable);
}
static void cannedboostTableOpenLoop() {
static const float hardCodedboostTableOpenLoop[8][8] = {
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{14.000, 14.000, 14.000, 14.000, 14.000, 14.000, 14.000, 14.000, },
{28.000, 28.000, 28.000, 28.000, 28.000, 28.000, 28.000, 28.000, },
{42.000, 42.000, 42.000, 42.000, 42.000, 42.000, 42.000, 42.000, },
{58.000, 58.000, 58.000, 58.000, 58.000, 58.000, 58.000, 58.000, },
{72.000, 72.000, 72.000, 72.000, 72.000, 72.000, 72.000, 72.000, },
{86.000, 86.000, 86.000, 86.000, 86.000, 86.000, 86.000, 86.000, },
{100.000, 100.000, 100.000, 100.000, 100.000, 100.000, 100.000, 100.000, },
};
copyTable(config->boostTableOpenLoop, hardCodedboostTableOpenLoop);
}
static void cannedboostTableClosedLoop() {
static const float hardCodedboostTableClosedLoop[8][8] = {
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{14.000, 14.000, 14.000, 14.000, 14.000, 14.000, 14.000, 14.000, },
{28.000, 28.000, 28.000, 28.000, 28.000, 28.000, 28.000, 28.000, },
{42.000, 42.000, 42.000, 42.000, 42.000, 42.000, 42.000, 42.000, },
{58.000, 58.000, 58.000, 58.000, 58.000, 58.000, 58.000, 58.000, },
{72.000, 72.000, 72.000, 72.000, 72.000, 72.000, 72.000, 72.000, },
{86.000, 86.000, 86.000, 86.000, 86.000, 86.000, 86.000, 86.000, },
{100.000, 100.000, 100.000, 100.000, 100.000, 100.000, 100.000, 100.000, },
};
copyTable(config->boostTableClosedLoop, hardCodedboostTableClosedLoop);
}
static void cannedscriptTable1() {
static const float hardCodedscriptTable1[8][8] = {
{0.100, 0.100, 0.100, 0.100, 0.100, 0.100, 0.100, 0.100, },
{0.100, 0.100, 0.100, 0.100, 0.100, 0.100, 0.100, 0.100, },
{0.000, 0.200, 0.100, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.200, 0.050, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
};
copyTable(config->scriptTable1, hardCodedscriptTable1);
}
static void cannedscriptTable4() {
static const float hardCodedscriptTable4[8][10] = {
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
};
copyTable(config->scriptTable4, hardCodedscriptTable4);
}
static void cannedignitionTable() {
static const float hardCodedignitionTable[16][16] = {
{0.000, 8.000, 8.000, 8.000, 8.000, 10.000, 18.400, 22.800, 23.700, 30.700, 30.700, 30.700, 30.700, 30.700, 30.700, 30.700, },
{0.000, 8.000, 8.000, 8.000, 8.000, 11.500, 19.700, 24.000, 25.000, 30.500, 30.500, 30.500, 30.500, 30.500, 30.500, 30.500, },
{0.000, 8.000, 8.000, 8.000, 8.000, 13.000, 21.000, 25.100, 26.300, 30.200, 30.200, 30.200, 30.200, 30.200, 30.200, 30.200, },
{0.000, 8.000, 8.000, 8.000, 8.000, 14.500, 22.300, 26.300, 27.500, 30.000, 30.000, 30.000, 30.000, 30.000, 30.000, 30.000, },
{0.000, 8.000, 8.000, 8.000, 8.000, 16.000, 23.600, 27.400, 28.800, 29.800, 29.800, 29.800, 29.800, 29.800, 29.800, 29.800, },
{0.000, 8.000, 8.000, 8.000, 8.000, 16.000, 23.400, 27.200, 28.500, 29.500, 29.500, 29.500, 29.500, 29.500, 29.500, 29.500, },
{0.000, 8.000, 8.000, 8.000, 8.000, 16.000, 23.200, 26.900, 28.200, 29.200, 29.200, 29.200, 29.200, 29.200, 29.200, 29.200, },
{0.000, 10.000, 10.000, 10.000, 10.000, 16.000, 23.100, 26.600, 28.000, 28.900, 28.900, 28.900, 28.900, 28.900, 28.900, 28.900, },
{0.000, 10.000, 10.000, 10.000, 10.000, 16.000, 23.000, 26.200, 27.600, 28.500, 28.500, 28.500, 28.500, 28.500, 28.500, 28.500, },
{0.000, 10.000, 10.000, 10.000, 10.000, 16.000, 22.500, 25.700, 27.000, 28.000, 28.000, 28.000, 28.000, 28.000, 28.000, 28.000, },
{0.000, 10.000, 10.000, 10.000, 10.000, 16.000, 22.000, 25.100, 26.500, 27.400, 27.400, 27.400, 27.400, 27.400, 27.400, 27.400, },
{0.000, 10.000, 10.000, 10.000, 10.000, 15.900, 21.500, 24.600, 26.000, 27.000, 27.000, 27.000, 27.000, 27.000, 27.000, 27.000, },
{0.000, 10.000, 10.000, 10.000, 10.000, 15.800, 21.000, 24.200, 25.500, 26.500, 26.500, 26.500, 26.500, 26.500, 26.500, 26.500, },
{0.000, 10.000, 10.000, 10.000, 10.000, 15.100, 20.000, 23.100, 25.300, 25.800, 25.800, 25.800, 25.800, 25.800, 25.800, 25.800, },
{0.000, 10.000, 10.000, 10.000, 10.000, 14.400, 19.000, 21.900, 25.100, 25.100, 25.100, 25.100, 25.100, 25.100, 25.100, 25.100, },
{0.000, 10.000, 10.000, 10.000, 10.000, 13.200, 16.500, 19.100, 22.000, 23.700, 23.700, 23.700, 23.700, 23.700, 23.700, 23.700, },
};
copyTable(config->ignitionTable, hardCodedignitionTable);
}
static void cannedignitionIatCorrTable() {
static const float hardCodedignitionIatCorrTable[8][8] = {
{4.000, 4.000, 4.000, 4.000, 4.000, 4.000, 4.000, 4.000, },
{2.900, 2.900, 2.900, 2.900, 2.900, 2.900, 2.900, 2.900, },
{0.700, 0.700, 0.700, 0.700, 0.700, 0.700, 0.700, 0.700, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{-0.600, -0.600, -0.600, -0.600, -0.600, -0.600, -0.600, -0.600, },
{-3.400, -3.400, -3.400, -3.400, -3.400, -3.400, -3.400, -3.400, },
{-4.000, -4.000, -4.000, -4.000, -4.000, -4.000, -4.000, -4.000, },
{-6.000, -6.000, -6.000, -6.000, -6.000, -6.000, -6.000, -6.000, },
};
copyTable(config->ignitionIatCorrTable, hardCodedignitionIatCorrTable);
}
static void cannedveTable() {
static const float hardCodedveTable[16][16] = {
{27.800, 27.500, 17.300, 7.800, 5.400, 6.500, 7.200, 10.300, 11.600, 13.700, 27.600, 30.000, 23.400, 23.800, 25.700, 34.400, },
{27.800, 27.500, 17.300, 7.800, 5.400, 6.500, 7.200, 10.300, 11.600, 13.700, 27.600, 30.000, 23.400, 23.800, 25.700, 34.400, },
{21.200, 22.400, 22.900, 12.800, 12.300, 12.600, 13.700, 13.800, 13.100, 28.800, 29.600, 32.400, 31.500, 32.300, 33.500, 34.400, },
{27.400, 27.300, 28.100, 28.200, 29.500, 32.000, 37.800, 26.700, 24.000, 37.800, 39.000, 40.100, 45.000, 46.800, 48.000, 49.000, },
{32.600, 33.900, 34.200, 39.900, 40.900, 43.200, 43.100, 39.600, 34.900, 40.600, 43.300, 47.300, 47.900, 49.700, 50.600, 51.500, },
{38.000, 40.500, 46.600, 50.600, 50.400, 51.400, 50.800, 47.300, 44.400, 48.200, 51.800, 52.200, 49.900, 51.700, 52.400, 53.300, },
{44.400, 47.900, 49.200, 60.200, 55.800, 58.600, 59.000, 53.700, 50.600, 49.400, 48.800, 50.600, 52.300, 54.000, 55.500, 57.100, },
{41.400, 57.800, 66.200, 65.800, 65.500, 64.900, 63.200, 60.700, 59.100, 60.600, 61.300, 55.200, 55.500, 57.200, 58.900, 60.700, },
{65.000, 68.700, 69.100, 70.000, 70.600, 71.600, 68.900, 66.900, 64.900, 69.600, 63.000, 64.400, 61.900, 63.500, 65.700, 67.900, },
{69.000, 76.500, 74.000, 75.600, 73.600, 74.200, 72.500, 69.700, 68.600, 70.300, 65.100, 66.300, 63.300, 64.400, 66.400, 68.500, },
{73.000, 84.200, 78.800, 81.200, 76.600, 76.800, 76.000, 72.500, 72.200, 70.900, 67.100, 68.100, 64.600, 65.300, 67.100, 69.100, },
{74.200, 84.400, 78.800, 82.400, 77.900, 78.900, 78.100, 75.000, 75.600, 75.700, 75.200, 77.200, 73.500, 69.800, 70.500, 71.500, },
{75.400, 84.500, 78.800, 83.600, 79.100, 81.000, 80.200, 77.500, 78.900, 80.500, 83.300, 86.300, 82.300, 74.200, 73.900, 73.900, },
{76.900, 84.700, 78.800, 81.900, 80.000, 81.500, 81.600, 78.700, 80.700, 83.400, 86.500, 90.200, 89.500, 82.800, 82.700, 82.700, },
{78.300, 84.800, 78.800, 80.200, 80.900, 82.000, 82.900, 79.900, 82.400, 86.200, 89.600, 94.000, 96.600, 91.400, 91.500, 91.500, },
{80.000, 85.000, 84.900, 84.800, 84.700, 84.400, 84.200, 83.900, 83.700, 85.900, 89.100, 91.500, 91.600, 90.300, 92.000, 92.000, },
};
copyTable(config->veTable, hardCodedveTable);
}
static void cannedmapEstimateTable() {
static const float hardCodedmapEstimateTable[16][16] = {
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
};
copyTable(config->mapEstimateTable, hardCodedmapEstimateTable);
}
static void cannedinjectionPhase() {
static const float hardCodedinjectionPhase[16][16] = {
{-360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, },
{-360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, },
{-360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, },
{-360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, },
{-360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, },
{-360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, },
{-360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, },
{-360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, },
{-360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, },
{-360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, },
{-360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, },
{-360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, },
{-360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, },
{-360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, },
{-360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, },
{-360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, -360.000, },
};
copyTable(config->injectionPhase, hardCodedinjectionPhase);
}
static void cannedpedalToTpsTable() {
static const float hardCodedpedalToTpsTable[8][8] = {
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{2.000, 3.000, 2.000, 4.000, 4.000, 4.000, 4.000, 10.000, },
{4.000, 4.000, 4.000, 5.000, 7.000, 14.000, 15.000, 15.000, },
{8.000, 8.000, 8.000, 9.000, 12.000, 20.000, 20.000, 20.000, },
{15.000, 15.000, 18.000, 20.000, 29.000, 33.000, 35.000, 35.000, },
{40.000, 40.000, 40.000, 50.000, 60.000, 65.000, 71.000, 71.000, },
{86.000, 86.000, 86.000, 86.000, 86.000, 86.000, 86.000, 86.000, },
{100.000, 100.000, 100.000, 100.000, 100.000, 100.000, 100.000, 100.000, },
};
copyTable(config->pedalToTpsTable, hardCodedpedalToTpsTable);
}
static void cannedmaxKnockRetardTable() {
static const float hardCodedmaxKnockRetardTable[6][6] = {
{2.000, 2.000, 2.000, 2.000, 2.000, 2.000, },
{2.000, 2.000, 2.000, 2.000, 2.000, 2.000, },
{3.250, 3.250, 3.250, 3.250, 3.250, 3.250, },
{4.250, 4.250, 4.250, 4.250, 4.250, 4.250, },
{5.000, 5.000, 5.000, 5.000, 5.000, 5.000, },
{5.000, 5.000, 5.000, 5.000, 5.000, 5.000, },
};
copyTable(config->maxKnockRetardTable, hardCodedmaxKnockRetardTable);
}
static void cannedlambdaTable() {
static const float hardCodedlambdaTable[16][16] = {
{14.000, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.200, 14.200, 14.200, 14.200, },
{14.000, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.200, 14.200, 14.200, 14.200, },
{14.000, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.200, 14.200, 14.200, 14.200, },
{14.000, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.200, 14.200, 14.200, 14.200, },
{14.000, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.200, 14.200, 14.200, 14.200, },
{14.000, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.200, 14.200, 14.000, 14.000, },
{14.000, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.200, 14.000, 14.000, },
{14.000, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.200, 14.000, 14.000, },
{14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.200, 14.000, 14.000, },
{14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.200, 14.000, 14.000, },
{14.500, 14.500, 14.500, 14.500, 14.500, 14.500, 14.500, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.000, 14.000, 14.000, },
{14.500, 14.500, 14.500, 14.500, 14.500, 14.500, 14.500, 14.700, 14.700, 14.700, 14.700, 14.700, 14.700, 14.000, 14.000, 14.000, },
{14.200, 14.200, 14.200, 14.300, 14.300, 14.300, 14.300, 14.300, 14.700, 14.700, 14.700, 14.700, 14.700, 14.300, 14.300, 14.300, },
{14.200, 14.200, 14.200, 14.200, 14.200, 14.200, 14.200, 14.200, 14.400, 14.400, 14.400, 14.400, 14.400, 14.200, 14.200, 14.200, },
{14.000, 14.000, 14.000, 14.000, 14.000, 14.000, 14.000, 14.000, 14.000, 14.000, 14.000, 14.000, 14.000, 14.000, 14.000, 14.000, },
{13.900, 13.900, 13.900, 13.900, 13.900, 13.900, 13.900, 13.900, 13.900, 13.900, 13.900, 13.900, 13.900, 13.900, 13.900, 13.900, },
};
copyTable(config->lambdaTable, hardCodedlambdaTable);
}
static void cannediacPidMultTable() {
static const float hardCodediacPidMultTable[8][8] = {
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{6.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{8.000, 6.000, 4.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{9.000, 8.000, 4.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{10.000, 10.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
};
copyTable(config->iacPidMultTable, hardCodediacPidMultTable);
}
static void cannedtcuSolenoidTable() {
static const float hardCodedtcuSolenoidTable[6][10] = {
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
};
copyTable(config->tcuSolenoidTable, hardCodedtcuSolenoidTable);
}
static void cannedpostCrankingFactor() {
static const float hardCodedpostCrankingFactor[6][6] = {
{1.200, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
{0.000, 0.000, 0.000, 0.000, 0.000, 0.000, },
};
copyTable(engineConfiguration->postCrankingFactor, hardCodedpostCrankingFactor);
}
```

View File

@ -0,0 +1 @@

4567
generated/simulator_tune.msq Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff