default fuel cleanup and injection phase change (#4836)
* default fuel cleanup and injection phase change * happy tests * changelog Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
This commit is contained in:
parent
b511754fdc
commit
5576065eb9
|
@ -48,6 +48,7 @@ Release template (copy/paste this for new release):
|
|||
- Fuel Priming reset fix #4627
|
||||
- Slower than expected RPM information was slowing engine start #4629
|
||||
- Fix 36-2-1 trigger (Mitsubishi 4B11, etc) #4635
|
||||
- Improve injection phase table defaults #4808
|
||||
|
||||
### Removed
|
||||
- Idle timing deadzone #4729
|
||||
|
|
|
@ -81,20 +81,11 @@ static void setDefaultVETable() {
|
|||
setRpmTableBin(config->veRpmBins, FUEL_RPM_COUNT);
|
||||
setTable(config->veTable, 80);
|
||||
|
||||
// setRpmTableBin(engineConfiguration->ve2RpmBins, FUEL_RPM_COUNT);
|
||||
// setLinearCurve(engineConfiguration->ve2LoadBins, 10, 300, 1);
|
||||
// ve2Map.setAll(0.81);
|
||||
|
||||
setRpmTableBin(config->lambdaRpmBins, FUEL_RPM_COUNT);
|
||||
|
||||
setRpmTableBin(config->baroCorrRpmBins, BARO_CORR_SIZE);
|
||||
setLinearCurve(config->baroCorrPressureBins, 75, 105, 1);
|
||||
for (int i = 0; i < BARO_CORR_SIZE;i++) {
|
||||
for (int j = 0; j < BARO_CORR_SIZE;j++) {
|
||||
// Default baro table is all 1.0, we can't recommend a reasonable default here
|
||||
config->baroCorrTable[i][j] = 1;
|
||||
}
|
||||
}
|
||||
|
||||
// Default baro table is all 1.0, we can't recommend a reasonable default here
|
||||
setTable(config->baroCorrTable, 1);
|
||||
}
|
||||
|
||||
static void setDefaultFuelCutParameters() {
|
||||
|
@ -168,6 +159,8 @@ static void setDefaultLambdaTable() {
|
|||
};
|
||||
copyArray(config->lambdaLoadBins, mapBins);
|
||||
|
||||
setRpmTableBin(config->lambdaRpmBins, FUEL_RPM_COUNT);
|
||||
|
||||
static constexpr float rowValues[] = {
|
||||
1, 1, 1, 1, // 30, 40, 50, 60 kpa
|
||||
1, 0.95, 0.92, 0.90, // 70, 80, 90, 100 kpa
|
||||
|
@ -238,9 +231,12 @@ void setDefaultFuel() {
|
|||
setFuelTablesLoadBin(10, 160);
|
||||
setRpmTableBin(config->injPhaseRpmBins, FUEL_RPM_COUNT);
|
||||
setDefaultVETable();
|
||||
setTable(config->injectionPhase, -180.0f);
|
||||
setDefaultLambdaTable();
|
||||
|
||||
// -400 will close the injector just before TDC at the end of the exhaust stroke,
|
||||
// around the time the intake valve opens.
|
||||
setTable(config->injectionPhase, -400.0f);
|
||||
|
||||
// Charge temperature estimation
|
||||
engineConfiguration->tChargeMinRpmMinTps = 0.25;
|
||||
engineConfiguration->tChargeMinRpmMaxTps = 0.25;
|
||||
|
|
|
@ -8,6 +8,7 @@
|
|||
|
||||
TEST(issues, issueOneCylinderSpecialCase968) {
|
||||
EngineTestHelper eth(GY6_139QMB);
|
||||
setTable(config->injectionPhase, -180.0f);
|
||||
engineConfiguration->isFasterEngineSpinUpEnabled = false;
|
||||
engine->tdcMarkEnabled = false;
|
||||
// set injection_mode 1
|
||||
|
|
|
@ -9,6 +9,7 @@
|
|||
|
||||
TEST(engine, testPlainCrankingWithoutAdvancedFeatures) {
|
||||
EngineTestHelper eth(TEST_ENGINE);
|
||||
setTable(config->injectionPhase, -180.0f);
|
||||
engineConfiguration->isFasterEngineSpinUpEnabled = false;
|
||||
engine->tdcMarkEnabled = false;
|
||||
engineConfiguration->cranking.baseFuel = 12;
|
||||
|
|
|
@ -8,6 +8,7 @@
|
|||
|
||||
TEST(cranking, testFasterEngineSpinningUp) {
|
||||
EngineTestHelper eth(TEST_ENGINE);
|
||||
setTable(config->injectionPhase, -180.0f);
|
||||
engine->tdcMarkEnabled = false;
|
||||
// turn on FasterEngineSpinUp mode
|
||||
engineConfiguration->isFasterEngineSpinUpEnabled = true;
|
||||
|
|
|
@ -237,6 +237,8 @@ extern bool_t debugSignalExecutor;
|
|||
TEST(misc, testRpmCalculator) {
|
||||
EngineTestHelper eth(FORD_INLINE_6_1995);
|
||||
|
||||
setTable(config->injectionPhase, -180.0f);
|
||||
|
||||
engine->tdcMarkEnabled = false;
|
||||
|
||||
// These tests were written when the default target AFR was 14.0, so replicate that
|
||||
|
@ -606,6 +608,7 @@ void doTestFuelSchedulerBug299smallAndMedium(int startUpDelayMs) {
|
|||
printf("*************************************************** testFuelSchedulerBug299 small to medium\r\n");
|
||||
|
||||
EngineTestHelper eth(TEST_ENGINE);
|
||||
setTable(config->injectionPhase, -180.0f);
|
||||
engineConfiguration->isFasterEngineSpinUpEnabled = false;
|
||||
engine->tdcMarkEnabled = false;
|
||||
eth.moveTimeForwardMs(startUpDelayMs); // nice to know that same test works the same with different anount of idle time on start
|
||||
|
@ -853,6 +856,7 @@ TEST(big, testFuelSchedulerBug299smallAndMedium) {
|
|||
|
||||
TEST(big, testTwoWireBatch) {
|
||||
EngineTestHelper eth(TEST_ENGINE);
|
||||
setTable(config->injectionPhase, -180.0f);
|
||||
setupSimpleTestEngineWithMafAndTT_ONE_trigger(ð);
|
||||
EXPECT_CALL(*eth.mockAirmass, getAirmass(_))
|
||||
.WillRepeatedly(Return(AirmassResult{0.1008f, 50.0f}));
|
||||
|
@ -881,6 +885,7 @@ TEST(big, testTwoWireBatch) {
|
|||
|
||||
TEST(big, testSequential) {
|
||||
EngineTestHelper eth(TEST_ENGINE);
|
||||
setTable(config->injectionPhase, -180.0f);
|
||||
EXPECT_CALL(*eth.mockAirmass, getAirmass(_))
|
||||
.WillRepeatedly(Return(AirmassResult{0.1008f, 50.0f}));
|
||||
|
||||
|
@ -908,6 +913,7 @@ TEST(big, testSequential) {
|
|||
|
||||
TEST(big, testFuelSchedulerBug299smallAndLarge) {
|
||||
EngineTestHelper eth(TEST_ENGINE);
|
||||
setTable(config->injectionPhase, -180.0f);
|
||||
engineConfiguration->isFasterEngineSpinUpEnabled = false;
|
||||
engine->tdcMarkEnabled = false;
|
||||
setTestBug299(ð);
|
||||
|
|
Loading…
Reference in New Issue