GCC Code Coverage Report


Directory: ./
File: firmware/config/engines/dodge_neon.cpp
Date: 2025-10-03 00:57:22
Coverage Exec Excl Total
Lines: 100.0% 61 0 61
Functions: 100.0% 2 0 2
Branches: -% 0 0 0
Decisions: -% 0 - 0

Line Branch Decision Exec Source
1 /**
2 * @file dodge_neon.cpp
3 *
4 * DODGE_NEON_1995 = 2
5 * set engine_type 2
6 *
7 * DODGE_NEON_2003 = 23
8 * set engine_type 23
9 * http://rusefi.com/wiki/index.php?title=Vehicle:Dodge_Neon_2003
10 *
11 * @date Dec 16, 2013
12 * @author Andrey Belomutskiy, (c) 2012-2020
13 */
14
15 #include "pch.h"
16
17 #include "dodge_neon.h"
18
19 #include "custom_engine.h"
20
21 3 void setDodgeNeon1995EngineConfiguration() {
22 3 engineConfiguration->trigger.type = trigger_type_e::TT_DODGE_NEON_1995;
23
24 3 engineConfiguration->fuelAlgorithm = engine_load_mode_e::LM_ALPHA_N;
25
26 3 setWholeTimingTable(12);
27
28 3 engineConfiguration->crankingInjectionMode = IM_SIMULTANEOUS;
29 // set injection_mode 1
30 3 engineConfiguration->injectionMode = IM_SEQUENTIAL;
31
32 // set ignition_mode 2
33 3 engineConfiguration->ignitionMode = IM_WASTED_SPARK;
34 3 engineConfiguration->firingOrder = FO_1_3_4_2;
35
36 // set global_trigger_offset_angle 137
37 3 engineConfiguration->camSyncOnSecondCrankRevolution = true;
38 3 engineConfiguration->globalTriggerAngleOffset = 137;
39
40 // set cranking_timing_angle 0
41 3 engineConfiguration->crankingTimingAngle = 0;
42
43 3 engineConfiguration->mapErrorDetectionTooHigh = 120;
44
45 3 engineConfiguration->clt.config = {0, 30, 100, 32500, 7550, 700, 2700};
46 3 }
47
48 2 void setDodgeNeonNGCEngineConfiguration() {
49 2 engineConfiguration->trigger.type = trigger_type_e::TT_DODGE_NEON_2003_CAM;
50
51 // set global_trigger_offset_angle 38
52 2 engineConfiguration->globalTriggerAngleOffset = 38;
53
54 2 engineConfiguration->crankingInjectionMode = IM_SIMULTANEOUS;
55 2 engineConfiguration->injectionMode = IM_SEQUENTIAL;
56 2 engineConfiguration->ignitionMode = IM_WASTED_SPARK;
57 2 engineConfiguration->displacement = 1.996;
58 2 engineConfiguration->cylindersCount = 4;
59
60 /**
61 * 77C
62 * 1200 rpm
63 * fuel 3
64 *
65 * 88C
66 * fuel 2.8
67 *
68 */
69 //setWholeTimingTable(12);
70
71 //setMap(config->veTable, 50);
72
73 // set cranking_timing_angle 710
74 2 engineConfiguration->crankingTimingAngle = -710;
75
76 /**
77 * bosch 4G1139
78 * http://forum.2gn.org/viewtopic.php?t=21657
79 * or is it 225 as mentioned at http://turbobazar.ru/showpost.php?p=750815&postcount=796 ?
80 */
81 2 engineConfiguration->injector.flow = 199;
82
83 2 setLinearCurve(config->ignitionLoadBins, 20, 120, 1);
84
85 2 setAlgorithm(engine_load_mode_e::LM_SPEED_DENSITY);
86
87 2 setFuelTablesLoadBin(20, 120);
88
89 2 engineConfiguration->malfunctionIndicatorPin = Gpio::Unassigned;
90
91 /**
92 * PA4 Wideband O2 Sensor
93 */
94 2 engineConfiguration->afr.hwChannel = EFI_ADC_4;
95
96 2 commonFrankensoAnalogInputs();
97 2 engineConfiguration->vbattDividerCoeff = 9.75;// ((float) (8.2 + 33)) / 8.2 * 2;
98
99 /**
100 * http://rusefi.com/wiki/index.php?title=Manual:Hardware_Frankenso_board
101 */
102
103 2 setDodgeSensor(&engineConfiguration->clt, 10000);
104 2 setDodgeSensor(&engineConfiguration->iat, 10000);
105
106 /**
107 * MAP PA0
108 */
109 2 engineConfiguration->map.sensor.hwChannel = EFI_ADC_0; // PA0
110
111 // rev 0.1 green board
112 // engineConfiguration->map.sensor.hwChannel = EFI_ADC_6; // PA6
113 // engineConfiguration->tps1_1AdcChannel = EFI_ADC_15; // PC5
114
115
116 /**
117 * TPS
118 */
119 2 engineConfiguration->tps1_1AdcChannel = EFI_ADC_2;
120 2 engineConfiguration->tpsMax = 625; // convert 12to10 bit (ADC/4)
121 2 engineConfiguration->tpsMin = 125; // convert 12to10 bit (ADC/4)
122
123 /**
124 * IAT D15/W7
125 */
126 2 engineConfiguration->iat.adcChannel = EFI_ADC_11;
127
128 /**
129 * CLT D13/W9
130 */
131 2 engineConfiguration->clt.adcChannel = EFI_ADC_12;
132
133 2 engineConfiguration->map.sensor.type = MT_DODGE_NEON_2003;
134
135 2 engineConfiguration->cylinderBore = 87.5;
136
137 2 engineConfiguration->clutchDownPin = Gpio::C12;
138 2 engineConfiguration->clutchDownPinMode = PI_PULLUP;
139 // engineConfiguration->clutchUpPin = Gpio::A14; // note SWCLK - conflict with SWD
140 2 engineConfiguration->clutchUpPinMode = PI_PULLUP;
141
142 // engineConfiguration->vehicleSpeedSensorInputPin = Gpio::A8;
143
144 2 engineConfiguration->fanOnTemperature = 92;
145 2 engineConfiguration->fanOffTemperature = 89;
146 // engineConfiguration->fanOnTemperature = 115; // knock testing - value is a bit high
147 // engineConfiguration->fanOffTemperature = 100;
148
149 2 setAlgorithm(engine_load_mode_e::LM_SPEED_DENSITY);
150
151 //temp engineConfiguration->alternatorControlPin = Gpio::D5;
152 2 setTable(config->alternatorVoltageTargetTable, 14.0);
153 2 engineConfiguration->alternatorControl.offset = 20;
154 2 engineConfiguration->alternatorControl.pFactor = 20;
155 2 engineConfiguration->alternatorControl.iFactor = 0.2;
156 2 engineConfiguration->alternatorControl.dFactor = 0.1;
157 2 engineConfiguration->alternatorControl.periodMs = 10;
158
159 2 engineConfiguration->tpsAccelEnrichmentThreshold = 10;
160
161 2 engineConfiguration->wwaeTau = 1.0f;
162 2 engineConfiguration->wwaeBeta = 0.40f;
163
164 2 engineConfiguration->wwaeTau = 0;
165 2 engineConfiguration->wwaeBeta = 0;
166
167 2 engineConfiguration->isSdCardEnabled = false;
168 2 setTable(config->cltIdleCorrTable, 36.0);
169
170 // end of setDodgeNeonNGCEngineConfiguration
171 2 }
172