Line | Branch | Decision | Exec | Source |
---|---|---|---|---|
1 | #include "pch.h" | |||
2 | ||||
3 | #include "defaults.h" | |||
4 | #include "table_helper.h" | |||
5 | ||||
6 | 586 | void setDefaultCranking() { | ||
7 | 586 | engineConfiguration->cranking.rpm = 550; | ||
8 | ||||
9 | // Fuel | |||
10 | 586 | engineConfiguration->crankingInjectionMode = IM_SIMULTANEOUS; | ||
11 | ||||
12 | // Ignition | |||
13 | 586 | engineConfiguration->ignitionDwellForCrankingMs = DEFAULT_CRANKING_DWELL_MS; | ||
14 | 586 | engineConfiguration->crankingTimingAngle = DEFAULT_CRANKING_ANGLE; | ||
15 | ||||
16 | // IAC | |||
17 | 586 | setArrayValues(config->cltCrankingCorr, 50); | ||
18 | // should be 100 once tune is better | |||
19 | 586 | setArrayValues(config->afterCrankingIACtaperDuration, 200); | ||
20 | 586 | setLinearCurve(config->afterCrankingIACtaperDurationBins, CLT_CURVE_RANGE_FROM, 100, 1); | ||
21 | ||||
22 | 586 | 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 | 586 | setLinearCurve(config->crankingTpsCoef, /*from*/1, /*to*/1, 1); | ||
33 | 586 | setLinearCurve(config->crankingTpsBins, 0, 100, 1); | ||
34 | ||||
35 | 586 | setLinearCurve(config->cltCrankingCorrBins, CLT_CURVE_RANGE_FROM, 100, 1); | ||
36 | 586 | 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 | 586 | copyArray(config->crankingFuelCoef, crankingCoef); | ||
51 | 586 | 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 | 586 | copyArray(config->crankingFuelBins, crankingBins); | ||
65 | #endif | |||
66 | // Cranking cycle compensation | |||
67 | ||||
68 | 586 | setTable(config->crankingCycleBaseFuel, 27.0f); | ||
69 | 586 | 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 4688 times.
✓ Branch 2 taken 586 times.
|
2/2✓ Decision 'true' taken 4688 times.
✓ Decision 'false' taken 586 times.
|
5274 | for (size_t i = 0; i < efi::size(config->crankingCycleBins); i++) { |
73 | 4688 | config->crankingCycleBins[i] = i + 1; | ||
74 | } | |||
75 | ||||
76 | // Cranking ignition timing | |||
77 | 586 | setArrayValues(config->crankingAdvance, 0); | ||
78 | ||||
79 | static const float advanceBins[] = { 0, 200, 400, 1000 }; | |||
80 | 586 | copyArray(config->crankingAdvanceBins, advanceBins); | ||
81 | ||||
82 | 586 | engineConfiguration->useTLE8888_cranking_hack = true; | ||
83 | 586 | } | ||
84 |