rusEFI
The most advanced open source ECU
Loading...
Searching...
No Matches
engine_type_impl.cpp
Go to the documentation of this file.
1#include "pch.h"
2
3#include "bmw_m52.h"
4#include "bmw_m73.h"
5
6#include "canam.h"
7#include "custom_engine.h"
8#include "dodge_neon.h"
9#include "dodge_ram.h"
10
11#include "ford_aspire.h"
12#include "ford_1995_inline_6.h"
13#include "ford_ecoboost.h"
14
15#include "honda_k_dbc.h"
16#include "honda_600.h"
17#include "honda.h"
18#include "honda_obd1.h"
19#include "hyundai.h"
20
21#include "GY6_139QMB.h"
22
23#include "nissan_vq.h"
24#include "tc_4l6x.h"
25#include "../board_id/qc_stim_meta.h"
26
27#include "mazda_miata_1_6.h"
28#include "mazda_miata_na8.h"
29#include "mazda_miata_vvt.h"
30#include "m111.h"
31#include "mercedes.h"
32
33#include "gm_ls_4.h"
34#include "gm_sbc.h"
35#include "subaru.h"
36#include "slingshot.h"
37#include "test_engine.h"
38#include "sachs.h"
39#include "harley.h"
40#include "vw.h"
41#include "vw_b6.h"
42#include "toyota_jz.h"
43#include "toyota_1NZ_FE.h"
44#include "mitsubishi_3A92.h"
45#include "ford_festiva.h"
46
47static_assert(libPROTEUS_STIM_QC == (int)engine_type_e::PROTEUS_STIM_QC);
48static_assert(libHELLEN_2CHAN_STIM_QC == (int)engine_type_e::HELLEN_2CHAN_STIM_QC);
49static_assert(libHELLEN_4CHAN_STIM_QC == (int)engine_type_e::HELLEN_4CHAN_STIM_QC);
50
51PUBLIC_API_WEAK_SOMETHING_WEIRD void applyUnknownEngineType(engine_type_e engineType) {
52 firmwareError(ObdCode::CUSTOM_UNEXPECTED_ENGINE_TYPE, "Unexpected engine type: %d", (int)engineType);
53}
54
55PUBLIC_API_WEAK void boardAfterTuneDefaults(engine_type_e engineType) { UNUSED(engineType); }
56
58 /**
59 * And override them with engine-specific defaults
60 */
61 switch (engineType) {
81 // all basic settings are already set in prepareVoidConfiguration(), no need to set anything here
82 // nothing to do - we do it all in setBoardDefaultConfiguration
83 break;
84#if EFI_UNIT_TEST || EFI_SIMULATOR
86 #if EFI_UNIT_TEST
88 #endif
89 break;
91 #if EFI_UNIT_TEST
93 #endif
94 break;
97 break;
100 break;
101#endif // EFI_UNIT_TEST
102
103#if EFI_TCU || EFI_SIMULATOR
105 #if EFI_TCU
107 #endif // EFI_TCU
108 break;
109#endif //EFI_TCU
110
111#if defined(HW_SUBARU_2011) || defined(HW_HELLEN_8CHAN) || HW_PROTEUS
114 break;
115#endif
116
117#if HW_MICRO_RUSEFI || HW_PROTEUS
120 break;
121#endif
122
123#if HW_MICRO_RUSEFI
126 break;
129 break;
132 break;
137 break;
139 mreBCM();
140 break;
141#endif // HW_MICRO_RUSEFI
143 setHondaObd1();
144 break;
147 break;
148
149#if HW_PROTEUS || HW_HELLEN_4CHAN || HW_HELLEN_8CHAN || HW_HELLEN_4K_GDI
152 break;
154 setHyundaiPb();
155 break;
156#endif
157
158#if HW_PROTEUS || HW_HELLEN_HONDA
160 setHondaK();
161 break;
162#endif
163
164#if HW_HELLEN
167 break;
170 break;
173 break;
176 break;
179 break;
182 break;
183#endif
184
185#if HW_PROTEUS || HW_HELLEN
187 setHarley();
188 break;
189#endif
190
191#if HW_PROTEUS || HW_HELLEN
195 break;
198 setSlingshot();
199 break;
200#endif
201
203 setGmLcv();
204 break;
206 setGmLnf();
207 break;
209 setGmLtg();
210 break;
212 setGmSbcGen5();
213 break;
214
215#if defined(HW_HELLEN_8CHAN) || HW_PROTEUS || EFI_SIMULATOR
217 setGmLs4();
218 break;
219#endif
220
221#if HW_PROTEUS || EFI_SIMULATOR
224 break;
227 break;
230 break;
234 break;
237 break;
240 break;
243 break;
246 break;
248 setGmSbc();
249 break;
250#if defined(HARDWARE_CI) || EFI_SIMULATOR
252 #if defined(HARDWARE_CI)
254 #endif
255 break;
256#endif // HARDWARE_CI
257#endif // HW_PROTEUS
258
259#if defined(HW_HELLEN_MERCEDES) || EFI_SIMULATOR
262 break;
265 break;
268 break;
269#endif
270
271#ifdef HW_HELLEN_NISSAN
274 break;
277 break;
278#endif
279
280#ifdef HW_HELLEN_HYUNDAI
283 break;
286 break;
287#endif
288
289#if defined(HW_HELLEN_8CHAN) || defined(HW_HELLEN_UAEFI121) || defined(HW_HELLEN_UAEFI)
291 setGmSbc();
292 break;
293#endif
294
295#if defined(HW_HELLEN_121_VAG) || defined(HW_HELLEN_UAEFI) || defined(HW_HELLEN_UAEFI121) || EFI_SIMULATOR
297 setVag_5_cyl();
298 break;
299#endif
300
301#if defined(HW_HELLEN_121_VAG) || EFI_SIMULATOR
304 break;
307 break;
310 break;
311#endif
312
313#ifdef HW_HELLEN
316 break;
319 break;
320#endif // HW_HELLEN
321#if defined(HW_NUCLEO_F767) || defined(HW_NUCLEO_H743) || defined(HW_FRANKENSO) || HW_PROTEUS || EFI_SIMULATOR
322 // used in HW CI
324 setVwAba();
325 break;
328 break;
329#endif // HW_FRANKENSO || HW_PROTEUS
330
333 break;
334
335#if defined(HW_FRANKENSO) || EFI_SIMULATOR || defined(HW_NUCLEO_F767) || defined(HW_NUCLEO_H743) || defined(SUPPORT_GY6)
338 break;
339#endif
340
341#if defined(HW_FRANKENSO) || EFI_SIMULATOR || defined(HW_NUCLEO_F767) || defined(HW_NUCLEO_H743)
344 break;
346#if EFI_PROD_CODE
348#endif
349 break;
352 break;
355 break;
358 break;
361 break;
364 break;
367 break;
370 break;
373 break;
375#if EFI_PROD_CODE && HAL_USE_EEPROM
377#endif
378 break;
381 break;
384 break;
386 setHonda600();
387 break;
390 break;
393 break;
396 break;
399 break;
401 setSachs();
402 break;
405 break;
408 break;
410 setRotary();
411 break;
412#endif // HW_FRANKENSO
414 bmwM52();
415 break;
416#if defined(HW_SUBARU_EG33) || EFI_SIMULATOR
419 break;
420#endif //HW_SUBARU_EG33
421 default:
422 applyUnknownEngineType(engineType);
423 }
424 boardAfterTuneDefaults(engineType);
425}
426
427PUBLIC_API_WEAK_SOMETHING_WEIRD engine_type_e getLastEngineType() {
429}
void setGy6139qmbDefaultEngineConfiguration()
void bmwM52()
Definition bmw_m52.cpp:4
void setBMW_M73_TwoCoilUnitTest()
Definition bmw_m73.cpp:122
void setEngineBMW_M73_Proteus()
Definition bmw_m73.cpp:167
void setEngineBMW_M73_microRusEfi()
void setMaverickX3()
Definition canam.cpp:14
void setEtbTestConfiguration()
void mreBCM()
void mreSecondaryCan()
void fuelBenchMode()
void setFrankensoConfiguration()
void setL9779TestConfiguration()
void setRotary()
void testEngine6451()
void setTest33816EngineConfiguration()
void setEepromTestConfiguration()
void setDiscovery33810Test()
void proteusStimQc()
void proteusLuaDemo()
void proteusDcWastegateTest()
void setDodgeNeonNGCEngineConfiguration()
void setDodgeNeon1995EngineConfiguration()
1995 Dodge Neon default engine configuration
void setDodgeRam1996()
Definition dodge_ram.cpp:15
engine_type_e
@ HELLEN_128_MERCEDES_8_CYL
@ ET_TEST_WITH_BOSCH_QUICK_START
@ TEST_DC_WASTEGATE_DISCOVERY
@ HELLEN_128_MERCEDES_6_CYL
@ HELLEN_154_HYUNDAI_COUPE_BK2
@ HELLEN_121_NISSAN_ALMERA_N16
@ HELLEN_128_MERCEDES_4_CYL
@ HELLEN_154_HYUNDAI_COUPE_BK1
PUBLIC_API_WEAK void boardAfterTuneDefaults(engine_type_e engineType)
PUBLIC_API_WEAK_SOMETHING_WEIRD void applyUnknownEngineType(engine_type_e engineType)
PUBLIC_API_WEAK_SOMETHING_WEIRD engine_type_e getLastEngineType()
void applyEngineType(engine_type_e engineType)
void firmwareError(ObdCode code, const char *fmt,...)
void setFordInline6()
Default values for persistent properties.
void setFordAspireEngineConfiguration()
1996 Ford Aspire default engine configuration
void setFordEcoboost()
void setFordEscortGt()
void setGmLs4()
Definition gm_ls_4.cpp:15
void setGmLtg()
Definition gm_sbc.cpp:237
void setGmSbcGen5()
Definition gm_sbc.cpp:252
void setGmLnf()
Definition gm_sbc.cpp:216
void setGmLcv()
Definition gm_sbc.cpp:209
void setGmSbc()
Definition gm_sbc.cpp:81
void setHarley()
Definition harley.cpp:16
void setHondaCivicBcm()
Definition honda.cpp:5
void setHonda600()
Definition honda_600.cpp:15
void setProteusHondaOBD2A()
void setHondaK()
void setHondaObd1()
Definition honda_obd1.cpp:9
void setHyundaiPb()
Definition hyundai.cpp:39
void setGenesisCoupeBK1()
Definition hyundai.cpp:431
void setGenesisCoupeBK2()
Definition hyundai.cpp:440
UNUSED(samplingTimeSeconds)
void setMercedesM111EngineConfiguration()
Definition m111.cpp:21
void setMazdaMiataNA94()
void setMazdaMiataNA6()
void setMiataNA6_MAP_Frankenso()
void setMazdaMiata96()
void setMiataNB2_Proteus_TCU()
void setMazdaMiataNB2()
void setMazdaMiataNB2_36()
void setMazdaMiataNB1()
void setHellenMercedes128_4_cyl()
Definition mercedes.cpp:14
void setHellenMercedes128_6_cyl()
Definition mercedes.cpp:29
void setHellenMercedes128_8_cyl()
Definition mercedes.cpp:36
void setMitsubishi3A92()
void setProteusNissanVQ()
Definition nissan_vq.cpp:73
void setHellen121nissanQR()
Definition nissan_vq.cpp:16
void setHellen121nissanVQ()
Definition nissan_vq.cpp:59
@ CUSTOM_UNEXPECTED_ENGINE_TYPE
void setSachs()
Definition sachs.cpp:16
void setSlingshot()
Definition slingshot.cpp:11
void setSubaruEG33Defaults()
Definition subaru.cpp:51
void setSubaru2011()
Definition subaru.cpp:101
void setSubaruEJ18_MRE()
Definition subaru.cpp:23
void configureTcu4R70W()
Definition tc_4l6x.cpp:55
void setProteusAnalogPwmTest()
void setTestCamEngineConfiguration()
void setTestVVTEngineConfiguration()
void setTestEngineIssue366both()
void setTestCrankEngineConfiguration()
void setTestEngineIssue366rise()
void setTestEngineBoschQuickStart()
void setTestDcWastegateConfiguration()
void setTestEngineWithBoschQuickStartCam()
void setToyota1NZFE()
void setToyota_2jz_vics()
Definition toyota_jz.cpp:59
void setHellen121Vag_8_cyl()
Definition vw.cpp:81
void setHellen121Vag_vr6_cyl()
Definition vw.cpp:67
void setVag_5_cyl()
Definition vw.cpp:60
void setVwAba()
Definition vw.cpp:18
void setHellen121Vag_v6_cyl()
Definition vw.cpp:72
void setProteusVwPassatB6()
Definition vw_b6.cpp:134
void setMreVwPassatB6()
Definition vw_b6.cpp:188