| Line | Branch | Decision | Exec | Source |
|---|---|---|---|---|
| 1 | #include "pch.h" | |||
| 2 | ||||
| 3 | #include "defaults.h" | |||
| 4 | #include "table_helper.h" | |||
| 5 | ||||
| 6 | 587 | void setDefaultCranking() { | ||
| 7 | 587 | engineConfiguration->cranking.rpm = 550; | ||
| 8 | ||||
| 9 | // Fuel | |||
| 10 | 587 | engineConfiguration->crankingInjectionMode = IM_SIMULTANEOUS; | ||
| 11 | ||||
| 12 | // Ignition | |||
| 13 | 587 | engineConfiguration->ignitionDwellForCrankingMs = DEFAULT_CRANKING_DWELL_MS; | ||
| 14 | 587 | engineConfiguration->crankingTimingAngle = DEFAULT_CRANKING_ANGLE; | ||
| 15 | ||||
| 16 | // IAC | |||
| 17 | 587 | setArrayValues(config->cltCrankingCorr, 50); | ||
| 18 | // should be 100 once tune is better | |||
| 19 | 587 | setArrayValues(config->afterCrankingIACtaperDuration, 200); | ||
| 20 | 587 | setLinearCurve(config->afterCrankingIACtaperDurationBins, CLT_CURVE_RANGE_FROM, 100, 1); | ||
| 21 | ||||
| 22 | 587 | engineConfiguration->isFasterEngineSpinUpEnabled = true; | ||
| 23 | ||||
| 24 | // After start enrichment | |||
| 25 | #if !EFI_UNIT_TEST | |||
| 26 | // don't set this for unit tests, as it makes things more complicated to test | |||
| 27 | setLinearCurve(config->postCrankingCLTBins, /*from*/-20, /*to*/80, 20); | |||
| 28 | setLinearCurve(config->postCrankingDurationBins, /*from*/0, /*to*/150, 40); | |||
| 29 | setTable(config->postCrankingFactor, 1.2f); | |||
| 30 | #endif | |||
| 31 | ||||
| 32 | 587 | setLinearCurve(config->crankingTpsCoef, /*from*/1, /*to*/1, 1); | ||
| 33 | 587 | setLinearCurve(config->crankingTpsBins, 0, 100, 1); | ||
| 34 | ||||
| 35 | 587 | setLinearCurve(config->cltCrankingCorrBins, CLT_CURVE_RANGE_FROM, 100, 1); | ||
| 36 | 587 | setLinearCurve(config->cltCrankingCorr, 50, 50, 1); // now as % of idle valve/etb | ||
| 37 | ||||
| 38 | #if CRANKING_CURVE_SIZE == 8 | |||
| 39 | // Cranking temperature compensation | |||
| 40 | static const float crankingCoef[] = { | |||
| 41 | 2.8, | |||
| 42 | 2.2, | |||
| 43 | 1.8, | |||
| 44 | 1.55, | |||
| 45 | 1.3, | |||
| 46 | 1.1, | |||
| 47 | 1.0, | |||
| 48 | 1.0 | |||
| 49 | }; | |||
| 50 | 587 | copyArray(config->crankingFuelCoef, crankingCoef); | ||
| 51 | 587 | copyArray(config->crankingFuelCoefE100, crankingCoef); | ||
| 52 | ||||
| 53 | // Deg C | |||
| 54 | static const float crankingBins[] = { | |||
| 55 | -20, | |||
| 56 | -10, | |||
| 57 | 5, | |||
| 58 | 20, | |||
| 59 | 35, | |||
| 60 | 50, | |||
| 61 | 65, | |||
| 62 | 90 | |||
| 63 | }; | |||
| 64 | 587 | copyArray(config->crankingFuelBins, crankingBins); | ||
| 65 | #endif | |||
| 66 | // Cranking cycle compensation | |||
| 67 | ||||
| 68 | 587 | setTable(config->crankingCycleBaseFuel, 27.0f); | ||
| 69 | 587 | setLinearCurve(config->crankingCycleFuelCltBins, 0, 60, 1); | ||
| 70 | ||||
| 71 | // X values are simply counting up cycle number starting at 1 | |||
| 72 |
2/2✓ Branch 1 taken 4696 times.
✓ Branch 2 taken 587 times.
|
2/2✓ Decision 'true' taken 4696 times.
✓ Decision 'false' taken 587 times.
|
5283 | for (size_t i = 0; i < efi::size(config->crankingCycleBins); i++) { |
| 73 | 4696 | config->crankingCycleBins[i] = i + 1; | ||
| 74 | } | |||
| 75 | ||||
| 76 | // Cranking ignition timing | |||
| 77 | 587 | setArrayValues(config->crankingAdvance, 0); | ||
| 78 | ||||
| 79 | static const float advanceBins[] = { 0, 200, 400, 1000 }; | |||
| 80 | 587 | copyArray(config->crankingAdvanceBins, advanceBins); | ||
| 81 | ||||
| 82 | 587 | engineConfiguration->useTLE8888_cranking_hack = true; | ||
| 83 | 587 | } | ||
| 84 |