From 06b39dbb07398688cb46fc19f3205742b9409e46 Mon Sep 17 00:00:00 2001 From: Matthew Kennedy Date: Thu, 1 Jun 2023 13:47:49 -0700 Subject: [PATCH] trigger and engine types -> enum class (#113) * trigger type is enum class * java tooling * enum class engine_type_e * enum class engine_type_e --- firmware/config/engines/GY6_139QMB.cpp | 2 +- firmware/config/engines/bmw_m73.cpp | 2 +- firmware/config/engines/bmw_m73_mre.cpp | 2 +- .../config/engines/chevrolet_camaro_4.cpp | 2 +- .../config/engines/citroenBerlingoTU3JP.cpp | 2 +- firmware/config/engines/custom_engine.cpp | 6 +- firmware/config/engines/dodge_neon.cpp | 4 +- firmware/config/engines/dodge_ram.cpp | 2 +- .../config/engines/ford_1995_inline_6.cpp | 2 +- firmware/config/engines/ford_aspire.cpp | 2 +- firmware/config/engines/ford_festiva.cpp | 2 +- firmware/config/engines/honda_600.cpp | 2 +- firmware/config/engines/honda_k_dbc.cpp | 6 +- firmware/config/engines/mazda_miata.cpp | 2 +- firmware/config/engines/mazda_miata_1_6.cpp | 2 +- firmware/config/engines/mazda_miata_vvt.cpp | 8 +- firmware/config/engines/mitsubishi.cpp | 2 +- firmware/config/engines/nissan_primera.cpp | 2 +- firmware/config/engines/nissan_vq.cpp | 4 +- firmware/config/engines/sachs.cpp | 2 +- firmware/config/engines/subaru.cpp | 6 +- firmware/config/engines/test_engine.cpp | 12 +- firmware/config/engines/toyota_jzs147.cpp | 2 +- firmware/config/engines/vw.cpp | 2 +- firmware/config/engines/vw_b6.cpp | 2 +- .../algo/defaults/default_base_engine.cpp | 2 +- firmware/controllers/algo/engine.cpp | 32 +-- .../controllers/algo/engine_configuration.cpp | 182 +++++++++--------- firmware/controllers/algo/engine_types.h | 18 +- firmware/controllers/bench_test.cpp | 2 +- .../engine_cycle/rpm_calculator.cpp | 12 +- firmware/controllers/flash_main.cpp | 2 +- firmware/controllers/settings.cpp | 9 +- firmware/controllers/settings.h | 1 + .../trigger/decoders/trigger_chrysler.cpp | 2 +- .../trigger/decoders/trigger_gm.cpp | 6 +- .../trigger/decoders/trigger_honda.cpp | 2 +- .../trigger/decoders/trigger_mazda.cpp | 2 +- .../trigger/decoders/trigger_misc.cpp | 4 +- .../trigger/decoders/trigger_mitsubishi.cpp | 2 +- .../trigger/decoders/trigger_renix.cpp | 4 +- .../trigger/decoders/trigger_structure.cpp | 150 +++++++-------- .../controllers/trigger/trigger_central.cpp | 2 +- .../controllers/trigger/trigger_decoder.cpp | 2 +- java_tools/ConfigDefinition.jar | Bin 4690355 -> 4696428 bytes .../java/com/rusefi/newparse/ParseState.java | 3 - java_tools/enum2string.jar | Bin 91975 -> 91673 bytes .../src/main/java/com/rusefi/ToJavaEnum.java | 8 +- .../java/com/rusefi/VariableRegistry.java | 3 - .../java/com/rusefi/enum_reader/Value.java | 7 - .../java/com/rusefi/EnumToStringTest.java | 1 - unit_tests/engine_test_helper.cpp | 4 +- unit_tests/tests/actuators/test_antilag.cpp | 2 +- unit_tests/tests/actuators/test_boost.cpp | 10 +- unit_tests/tests/actuators/test_etb.cpp | 46 ++--- .../tests/actuators/test_etb_integrated.cpp | 6 +- .../tests/actuators/test_fan_control.cpp | 2 +- unit_tests/tests/actuators/test_fuel_pump.cpp | 2 +- unit_tests/tests/actuators/test_gppwm.cpp | 2 +- .../tests/actuators/test_main_relay.cpp | 2 +- unit_tests/tests/actuators/test_tacho.cpp | 4 +- unit_tests/tests/actuators/test_vvt.cpp | 8 +- .../injection_mode_transition.cpp | 4 +- .../test_dwell_corner_case_issue_796.cpp | 2 +- .../tests/ignition_injection/test_fuelCut.cpp | 4 +- .../ignition_injection/test_fuel_computer.cpp | 4 +- .../ignition_injection/test_fuel_map.cpp | 4 +- .../ignition_injection/test_fuel_math.cpp | 20 +- .../test_fuel_wall_wetting.cpp | 6 +- .../test_ignition_scheduling.cpp | 6 +- .../test_injector_model.cpp | 22 +-- .../ignition_injection/test_multispark.cpp | 6 +- .../test_one_cylinder_logic.cpp | 4 +- .../test_startOfCrankingPrimingPulse.cpp | 6 +- unit_tests/tests/lua/test_lookup.cpp | 2 +- unit_tests/tests/lua/test_lua_hooks.cpp | 6 +- unit_tests/tests/lua/test_lua_vin.cpp | 2 +- unit_tests/tests/lua/test_lua_with_engine.cpp | 2 +- .../tests/sensor/test_frequency_sensor.cpp | 2 +- unit_tests/tests/sensor/test_sensor_init.cpp | 18 +- .../test_turbocharger_speed_converter.cpp | 2 +- .../sensor/test_vehicle_speed_converter.cpp | 2 +- unit_tests/tests/test_accel_enrichment.cpp | 8 +- unit_tests/tests/test_can_serial.cpp | 2 +- unit_tests/tests/test_can_wideband.cpp | 4 +- unit_tests/tests/test_change_engine_type.cpp | 4 +- unit_tests/tests/test_dynoview.cpp | 8 +- unit_tests/tests/test_engine_math.cpp | 4 +- unit_tests/tests/test_gear_detector.cpp | 14 +- unit_tests/tests/test_gpio.cpp | 4 +- unit_tests/tests/test_hardware_reinit.cpp | 6 +- unit_tests/tests/test_hpfp.cpp | 10 +- unit_tests/tests/test_hpfp_integrated.cpp | 4 +- unit_tests/tests/test_idle_controller.cpp | 34 ++-- unit_tests/tests/test_knock.cpp | 4 +- unit_tests/tests/test_launch.cpp | 12 +- unit_tests/tests/test_limp.cpp | 10 +- unit_tests/tests/test_start_stop.cpp | 2 +- unit_tests/tests/test_stft.cpp | 2 +- unit_tests/tests/test_tunerstudio.cpp | 2 +- unit_tests/tests/trigger/test_2jz_vvt.cpp | 4 +- .../tests/trigger/test_all_triggers.cpp | 12 +- .../tests/trigger/test_cam_vvt_input.cpp | 16 +- .../trigger/test_fasterEngineSpinningUp.cpp | 8 +- .../trigger/test_injection_scheduling.cpp | 8 +- unit_tests/tests/trigger/test_map_cam.cpp | 2 +- .../tests/trigger/test_miata_na_tdc.cpp | 2 +- .../tests/trigger/test_nissan_vq_vvt.cpp | 2 +- .../tests/trigger/test_override_gaps.cpp | 4 +- unit_tests/tests/trigger/test_quad_cam.cpp | 4 +- unit_tests/tests/trigger/test_real_4b11.cpp | 8 +- unit_tests/tests/trigger/test_real_4g93.cpp | 12 +- .../trigger/test_real_cranking_miata_NA.cpp | 2 +- .../trigger/test_real_cranking_miata_na6.cpp | 4 +- .../test_real_cranking_nissan_vq40.cpp | 2 +- unit_tests/tests/trigger/test_real_gm_24x.cpp | 4 +- unit_tests/tests/trigger/test_real_k20.cpp | 2 +- unit_tests/tests/trigger/test_real_k24a2.cpp | 4 +- .../tests/trigger/test_real_nb2_cranking.cpp | 4 +- .../tests/trigger/test_real_volkswagen.cpp | 8 +- .../tests/trigger/test_rpm_multiplier.cpp | 4 +- .../tests/trigger/test_symmetrical_crank.cpp | 4 +- .../tests/trigger/test_trigger_decoder.cpp | 76 ++++---- .../tests/trigger/test_trigger_decoder_2.cpp | 12 +- .../tests/trigger/test_trigger_input_adc.cpp | 4 +- .../tests/trigger/test_trigger_multi_sync.cpp | 2 +- .../trigger/test_trigger_skipped_wheel.cpp | 4 +- unit_tests/tests/util/test_timer.cpp | 2 +- 128 files changed, 541 insertions(+), 565 deletions(-) diff --git a/firmware/config/engines/GY6_139QMB.cpp b/firmware/config/engines/GY6_139QMB.cpp index a525cff149..286598c0a0 100644 --- a/firmware/config/engines/GY6_139QMB.cpp +++ b/firmware/config/engines/GY6_139QMB.cpp @@ -34,7 +34,7 @@ void setGy6139qmbDefaultEngineConfiguration() { /** * We treat the trigger as 8-1 toothed wheel */ - engineConfiguration->trigger.type = TT_TOOTHED_WHEEL; + engineConfiguration->trigger.type = trigger_type_e::TT_TOOTHED_WHEEL; engineConfiguration->trigger.customTotalToothCount = 8; engineConfiguration->trigger.customSkippedToothCount = 1; diff --git a/firmware/config/engines/bmw_m73.cpp b/firmware/config/engines/bmw_m73.cpp index 0eb6078d39..33bc38f431 100644 --- a/firmware/config/engines/bmw_m73.cpp +++ b/firmware/config/engines/bmw_m73.cpp @@ -102,7 +102,7 @@ void m73engine() { engineConfiguration->globalTriggerAngleOffset = 90; setCrankOperationMode(); // todo: that's not right, should be 60/2 without VW - engineConfiguration->trigger.type = TT_60_2_VW; + engineConfiguration->trigger.type = trigger_type_e::TT_60_2_VW; // this large engine seems to crank at around only 150 RPM? And happily idle at 400RPM? engineConfiguration->cranking.rpm = 350; diff --git a/firmware/config/engines/bmw_m73_mre.cpp b/firmware/config/engines/bmw_m73_mre.cpp index bbf6b47166..c07f5d8bad 100644 --- a/firmware/config/engines/bmw_m73_mre.cpp +++ b/firmware/config/engines/bmw_m73_mre.cpp @@ -102,7 +102,7 @@ void setEngineBMW_M73_microRusEfi() { // do I have VR wires flipped? - engineConfiguration->trigger.type = TT_60_2_VW; + engineConfiguration->trigger.type = trigger_type_e::TT_60_2_VW; //set tps_min 891 engineConfiguration->tpsMin = 891; diff --git a/firmware/config/engines/chevrolet_camaro_4.cpp b/firmware/config/engines/chevrolet_camaro_4.cpp index 08970f4de5..893cafb461 100644 --- a/firmware/config/engines/chevrolet_camaro_4.cpp +++ b/firmware/config/engines/chevrolet_camaro_4.cpp @@ -33,7 +33,7 @@ void setCamaro4() { engineConfiguration->ignitionMode = IM_WASTED_SPARK; setCrankOperationMode(); - engineConfiguration->trigger.type = TT_GM_24x; + engineConfiguration->trigger.type = trigger_type_e::TT_GM_24x; engineConfiguration->map.sensor.hwChannel = EFI_ADC_0; // PA0 diff --git a/firmware/config/engines/citroenBerlingoTU3JP.cpp b/firmware/config/engines/citroenBerlingoTU3JP.cpp index 05d78457a1..930282f29e 100644 --- a/firmware/config/engines/citroenBerlingoTU3JP.cpp +++ b/firmware/config/engines/citroenBerlingoTU3JP.cpp @@ -19,7 +19,7 @@ void setCitroenBerlingoTU3JPConfiguration() { * Base engine setting */ setCrankOperationMode(); - engineConfiguration->trigger.type = TT_TOOTHED_WHEEL_60_2; + engineConfiguration->trigger.type = trigger_type_e::TT_TOOTHED_WHEEL_60_2; engineConfiguration->globalTriggerAngleOffset = 114; engineConfiguration->cylindersCount = 4; engineConfiguration->displacement = 1.360; diff --git a/firmware/config/engines/custom_engine.cpp b/firmware/config/engines/custom_engine.cpp index 43a0c9e6ed..31fb3467d2 100644 --- a/firmware/config/engines/custom_engine.cpp +++ b/firmware/config/engines/custom_engine.cpp @@ -67,7 +67,7 @@ void setDiscoveryPdm() { // todo: should this be part of more default configurations? void setFrankensoConfiguration() { - engineConfiguration->trigger.type = TT_ONE_PLUS_ONE; + engineConfiguration->trigger.type = trigger_type_e::TT_ONE_PLUS_ONE; commonFrankensoAnalogInputs(); @@ -229,7 +229,7 @@ void setEtbTestConfiguration() { engineConfiguration->rpmHardLimit = 30000; setCrankOperationMode(); - engineConfiguration->trigger.type = TT_TOOTHED_WHEEL_60_2; + engineConfiguration->trigger.type = trigger_type_e::TT_TOOTHED_WHEEL_60_2; engineConfiguration->ignitionPins[0] = Gpio::Unassigned; @@ -786,7 +786,7 @@ void setRotary() { engineConfiguration->cylindersCount = 2; engineConfiguration->firingOrder = FO_1_2; - engineConfiguration->trigger.type = TT_36_2_2_2; + engineConfiguration->trigger.type = trigger_type_e::TT_36_2_2_2; // todo: fix UI to make this possible via TS setTwoStrokeOperationMode(); diff --git a/firmware/config/engines/dodge_neon.cpp b/firmware/config/engines/dodge_neon.cpp index 720c38e67a..ce29899846 100644 --- a/firmware/config/engines/dodge_neon.cpp +++ b/firmware/config/engines/dodge_neon.cpp @@ -19,7 +19,7 @@ #include "custom_engine.h" void setDodgeNeon1995EngineConfiguration() { - engineConfiguration->trigger.type = TT_DODGE_NEON_1995; + engineConfiguration->trigger.type = trigger_type_e::TT_DODGE_NEON_1995; engineConfiguration->fuelAlgorithm = LM_ALPHA_N; @@ -103,7 +103,7 @@ void setDodgeNeon1995EngineConfiguration() { } void setDodgeNeonNGCEngineConfiguration() { - engineConfiguration->trigger.type = TT_DODGE_NEON_2003_CAM; + engineConfiguration->trigger.type = trigger_type_e::TT_DODGE_NEON_2003_CAM; // set global_trigger_offset_angle 38 engineConfiguration->globalTriggerAngleOffset = 38; diff --git a/firmware/config/engines/dodge_ram.cpp b/firmware/config/engines/dodge_ram.cpp index 0305f17a01..47ec6fc951 100644 --- a/firmware/config/engines/dodge_ram.cpp +++ b/firmware/config/engines/dodge_ram.cpp @@ -15,7 +15,7 @@ void setDodgeRam1996() { setFrankensoConfiguration(); - engineConfiguration->trigger.type = TT_DODGE_RAM; + engineConfiguration->trigger.type = trigger_type_e::TT_DODGE_RAM; engineConfiguration->injector.flow = 243.6; // 23.2lb/h engineConfiguration->map.sensor.type = MT_DODGE_NEON_2003; diff --git a/firmware/config/engines/ford_1995_inline_6.cpp b/firmware/config/engines/ford_1995_inline_6.cpp index fa63ee8b34..ef04626ec9 100644 --- a/firmware/config/engines/ford_1995_inline_6.cpp +++ b/firmware/config/engines/ford_1995_inline_6.cpp @@ -39,7 +39,7 @@ void setFordInline6() { * We treat the trigger as 6/0 toothed wheel */ engineConfiguration->skippedWheelOnCam = true; - engineConfiguration->trigger.type = TT_TOOTHED_WHEEL; + engineConfiguration->trigger.type = trigger_type_e::TT_TOOTHED_WHEEL; engineConfiguration->trigger.customTotalToothCount = 6; engineConfiguration->trigger.customSkippedToothCount = 0; diff --git a/firmware/config/engines/ford_aspire.cpp b/firmware/config/engines/ford_aspire.cpp index 0072d8362e..ccfe67e620 100644 --- a/firmware/config/engines/ford_aspire.cpp +++ b/firmware/config/engines/ford_aspire.cpp @@ -73,7 +73,7 @@ void setFordAspireEngineConfiguration() { setSingleCoilDwell(); engineConfiguration->ignitionMode = IM_ONE_COIL; - engineConfiguration->trigger.type = TT_FORD_ASPIRE; + engineConfiguration->trigger.type = trigger_type_e::TT_FORD_ASPIRE; engineConfiguration->triggerInputDebugPins[0] = Gpio::C15; diff --git a/firmware/config/engines/ford_festiva.cpp b/firmware/config/engines/ford_festiva.cpp index b6417c1c97..94892a24d4 100644 --- a/firmware/config/engines/ford_festiva.cpp +++ b/firmware/config/engines/ford_festiva.cpp @@ -66,7 +66,7 @@ static const uint8_t racingFestivaVeTable[16][16] = { void setFordEscortGt() { common079721_2351(); - engineConfiguration->trigger.type = TT_MAZDA_DOHC_1_4; + engineConfiguration->trigger.type = trigger_type_e::TT_MAZDA_DOHC_1_4; setDensoTODO(config); diff --git a/firmware/config/engines/honda_600.cpp b/firmware/config/engines/honda_600.cpp index 0a825ba3b4..8c060ddce7 100644 --- a/firmware/config/engines/honda_600.cpp +++ b/firmware/config/engines/honda_600.cpp @@ -24,7 +24,7 @@ static void setDefaultCustomMaps() { void setHonda600() { - engineConfiguration->trigger.type = TT_HONDA_CBR_600; + engineConfiguration->trigger.type = trigger_type_e::TT_HONDA_CBR_600; engineConfiguration->fuelAlgorithm = LM_ALPHA_N; // upside down wiring diff --git a/firmware/config/engines/honda_k_dbc.cpp b/firmware/config/engines/honda_k_dbc.cpp index d191f7c789..16fdff4817 100644 --- a/firmware/config/engines/honda_k_dbc.cpp +++ b/firmware/config/engines/honda_k_dbc.cpp @@ -16,7 +16,7 @@ void setHondaK() { engineConfiguration->displacement = 2.4; engineConfiguration->firingOrder = FO_1_3_4_2; engineConfiguration->engineSyncCam = SC_Exhaust_First; - engineConfiguration->trigger.type = TT_HONDA_K_CRANK_12_1; + engineConfiguration->trigger.type = trigger_type_e::TT_HONDA_K_CRANK_12_1; engineConfiguration->globalTriggerAngleOffset = 675; engineConfiguration->vvtMode[0] = VVT_HONDA_K_INTAKE; @@ -54,12 +54,12 @@ void setHondaK() { */ void setProteusHondaElement2003() { setHondaK(); -// engineConfiguration->trigger.type = TT_TOOTHED_WHEEL; +// engineConfiguration->trigger.type = trigger_type_e::TT_TOOTHED_WHEEL; // engineConfiguration->trigger.customTotalToothCount = 12; // engineConfiguration->trigger.customSkippedToothCount = 0; -// engineConfiguration->trigger.type = TT_HONDA_K_CAM_4_1; // cam as primary, ignoring crank +// engineConfiguration->trigger.type = trigger_type_e::TT_HONDA_K_CAM_4_1; // cam as primary, ignoring crank // engineConfiguration->globalTriggerAngleOffset = 570; diff --git a/firmware/config/engines/mazda_miata.cpp b/firmware/config/engines/mazda_miata.cpp index 9f1376f210..f8665e558d 100644 --- a/firmware/config/engines/mazda_miata.cpp +++ b/firmware/config/engines/mazda_miata.cpp @@ -73,7 +73,7 @@ static const uint8_t miataNA8_maf_advance_table[16][16] = { {/*0 engineLoad=1.2 #endif static void commonMiataNa() { - engineConfiguration->trigger.type = TT_MAZDA_MIATA_NA; + engineConfiguration->trigger.type = trigger_type_e::TT_MAZDA_MIATA_NA; engineConfiguration->engineChartSize = 100; engineConfiguration->triggerInputPins[0] = Gpio::C6; // 2G YEL/BLU diff --git a/firmware/config/engines/mazda_miata_1_6.cpp b/firmware/config/engines/mazda_miata_1_6.cpp index 3217a86d4c..1dab3b5c37 100644 --- a/firmware/config/engines/mazda_miata_1_6.cpp +++ b/firmware/config/engines/mazda_miata_1_6.cpp @@ -92,7 +92,7 @@ void miataNAcommonEngineSettings() { engineConfiguration->ignitionMode = IM_WASTED_SPARK; // Trigger - engineConfiguration->trigger.type = TT_MAZDA_MIATA_NA; + engineConfiguration->trigger.type = trigger_type_e::TT_MAZDA_MIATA_NA; // Cranking engineConfiguration->cranking.rpm = 400; diff --git a/firmware/config/engines/mazda_miata_vvt.cpp b/firmware/config/engines/mazda_miata_vvt.cpp index 13c8043de7..ffa407c5f8 100644 --- a/firmware/config/engines/mazda_miata_vvt.cpp +++ b/firmware/config/engines/mazda_miata_vvt.cpp @@ -22,7 +22,7 @@ * http://rusefi.com/forum/viewtopic.php?f=3&t=1095 * * - * See also TT_MAZDA_MIATA_VVT_TEST for trigger simulation + * See also trigger_type_e::TT_MAZDA_MIATA_VVT_TEST for trigger simulation * * Based on http://rusefi.com/wiki/index.php?title=Manual:Hardware_Frankenso_board#Default_Pinout * @@ -251,7 +251,7 @@ static void setCommonMazdaNB() { engineConfiguration->ignitionMode = IM_WASTED_SPARK; // Trigger - engineConfiguration->trigger.type = TT_MIATA_VVT; + engineConfiguration->trigger.type = trigger_type_e::TT_MIATA_VVT; engineConfiguration->vvtMode[0] = VVT_MIATA_NB; engineConfiguration->vvtOffsets[0] = 98; @@ -644,7 +644,7 @@ void setMiataNB2_Proteus_TCU() { strcpy(engineConfiguration->engineMake, ENGINE_MAKE_MAZDA); strcpy(engineConfiguration->vehicleName, "TCU test"); - engineConfiguration->trigger.type = TT_TOOTHED_WHEEL; + engineConfiguration->trigger.type = trigger_type_e::TT_TOOTHED_WHEEL; engineConfiguration->trigger.customTotalToothCount = 10; engineConfiguration->trigger.customSkippedToothCount = 0; @@ -778,7 +778,7 @@ void setMiataNB2_Hellen72() { void setMiataNB2_Hellen72_36() { setMiataNB2_Hellen72(); - engineConfiguration->trigger.type = TT_TOOTHED_WHEEL_36_1; + engineConfiguration->trigger.type = trigger_type_e::TT_TOOTHED_WHEEL_36_1; engineConfiguration->globalTriggerAngleOffset = 76; } diff --git a/firmware/config/engines/mitsubishi.cpp b/firmware/config/engines/mitsubishi.cpp index a008e188a3..7e47922e32 100644 --- a/firmware/config/engines/mitsubishi.cpp +++ b/firmware/config/engines/mitsubishi.cpp @@ -15,7 +15,7 @@ void setMitsubishiConfiguration() { - engineConfiguration->trigger.type = TT_MITSUBISHI_4G93; // same trigger as 4G63? + engineConfiguration->trigger.type = trigger_type_e::TT_MITSUBISHI_4G93; // same trigger as 4G63? engineConfiguration->cylindersCount = 4; engineConfiguration->displacement = 1.800; diff --git a/firmware/config/engines/nissan_primera.cpp b/firmware/config/engines/nissan_primera.cpp index 70d6171683..13b7d4cf77 100644 --- a/firmware/config/engines/nissan_primera.cpp +++ b/firmware/config/engines/nissan_primera.cpp @@ -13,7 +13,7 @@ #include "nissan_primera.h" void setNissanPrimeraEngineConfiguration() { - engineConfiguration->trigger.type = TT_NISSAN_SR20VE; + engineConfiguration->trigger.type = trigger_type_e::TT_NISSAN_SR20VE; engineConfiguration->auxValves[0] = Gpio::E14; engineConfiguration->auxValves[1] = Gpio::E12; diff --git a/firmware/config/engines/nissan_vq.cpp b/firmware/config/engines/nissan_vq.cpp index 8df032ce4f..0e5c399047 100644 --- a/firmware/config/engines/nissan_vq.cpp +++ b/firmware/config/engines/nissan_vq.cpp @@ -13,7 +13,7 @@ #define NISSAN_VQ_VVT_OFFSET 157 void setHellen121nissanQR() { - engineConfiguration->trigger.type = TT_NISSAN_QR25; + engineConfiguration->trigger.type = trigger_type_e::TT_NISSAN_QR25; engineConfiguration->cylindersCount = 4; engineConfiguration->firingOrder = FO_1_3_4_2; @@ -34,7 +34,7 @@ void setHellen121nissanQR() { void setHellen121nissanVQ() { #include "nissan_vq.lua" - engineConfiguration->trigger.type = TT_NISSAN_VQ35; + engineConfiguration->trigger.type = trigger_type_e::TT_NISSAN_VQ35; setNissanMAF0031(config); diff --git a/firmware/config/engines/sachs.cpp b/firmware/config/engines/sachs.cpp index 27bbe5b215..e26ae432be 100644 --- a/firmware/config/engines/sachs.cpp +++ b/firmware/config/engines/sachs.cpp @@ -26,7 +26,7 @@ void setSachs() { /** * 50/2 trigger */ - engineConfiguration->trigger.type = TT_TOOTHED_WHEEL; + engineConfiguration->trigger.type = trigger_type_e::TT_TOOTHED_WHEEL; engineConfiguration->trigger.customTotalToothCount = 50; engineConfiguration->trigger.customSkippedToothCount = 2; diff --git a/firmware/config/engines/subaru.cpp b/firmware/config/engines/subaru.cpp index ec1223df98..a2c35e9d43 100644 --- a/firmware/config/engines/subaru.cpp +++ b/firmware/config/engines/subaru.cpp @@ -15,7 +15,7 @@ #include "defaults.h" void setSubaru2003Wrx() { - engineConfiguration->trigger.type = TT_TOOTHED_WHEEL; + engineConfiguration->trigger.type = trigger_type_e::TT_TOOTHED_WHEEL; engineConfiguration->trigger.customTotalToothCount = 5; engineConfiguration->trigger.customSkippedToothCount = 1; @@ -35,7 +35,7 @@ void setSubaru2003Wrx() { * set engine_type 37 */ void setSubaruEJ18_MRE() { - engineConfiguration->trigger.type = TT_SUBARU_7_WITHOUT_6; + engineConfiguration->trigger.type = trigger_type_e::TT_SUBARU_7_WITHOUT_6; // engineConfiguration->isDoubleSolenoidIdle = true; @@ -65,7 +65,7 @@ void setSubaruEJ18_MRE() { void setSubaruEG33Defaults() { setCamOperationMode(); - engineConfiguration->trigger.type = TT_SUBARU_SVX; + engineConfiguration->trigger.type = trigger_type_e::TT_SUBARU_SVX; engineConfiguration->cylindersCount = 6; setLeftRightBanksNeedBetterName(); diff --git a/firmware/config/engines/test_engine.cpp b/firmware/config/engines/test_engine.cpp index bb6f4815c6..d8d2b561fc 100644 --- a/firmware/config/engines/test_engine.cpp +++ b/firmware/config/engines/test_engine.cpp @@ -16,10 +16,10 @@ // TEST_ENGINE void setTestCamEngineConfiguration() { - engineConfiguration->trigger.type = TT_ONE_PLUS_ONE; + engineConfiguration->trigger.type = trigger_type_e::TT_ONE_PLUS_ONE; setCamOperationMode(); -// engineConfiguration->trigger.type = TT_TOOTHED_WHEEL; +// engineConfiguration->trigger.type = trigger_type_e::TT_TOOTHED_WHEEL; // trigger_config_s *triggerConfig = &engineConfiguration->trigger; // triggerConfig->customTotalToothCount = 60; // triggerConfig->customSkippedToothCount = 0; @@ -50,7 +50,7 @@ void setTestCamEngineConfiguration() { void setTestCrankEngineConfiguration() { setTestCamEngineConfiguration(); - engineConfiguration->trigger.type = TT_ONE; + engineConfiguration->trigger.type = trigger_type_e::TT_ONE; setCrankOperationMode(); // this is related to 'setDefaultBaseEngine' having 'skippedWheelOnCam = true' which is a weird fact by itself @@ -76,7 +76,7 @@ void setTestDcWastegateConfiguration() { void setTestVVTEngineConfiguration() { setCrankOperationMode(); - engineConfiguration->trigger.type = TT_TOOTHED_WHEEL; + engineConfiguration->trigger.type = trigger_type_e::TT_TOOTHED_WHEEL; engineConfiguration->trigger.customTotalToothCount = 3; engineConfiguration->trigger.customSkippedToothCount = 1; @@ -99,7 +99,7 @@ void setTestEngineIssue366both() { engineConfiguration->trigger.customTotalToothCount = 2; engineConfiguration->trigger.customSkippedToothCount = 1; - engineConfiguration->trigger.type = TT_TOOTHED_WHEEL; + engineConfiguration->trigger.type = trigger_type_e::TT_TOOTHED_WHEEL; } void setTestEngineIssue366rise() { @@ -110,7 +110,7 @@ void setTestEngineIssue366rise() { #ifdef HARDWARE_CI void setProteusAnalogPwmTest() { // lowest cpu trigger possible - engineConfiguration->trigger.type = TT_ONE; + engineConfiguration->trigger.type = trigger_type_e::TT_ONE; // Disable trigger stim engineConfiguration->triggerSimulatorPins[0] = Gpio::Unassigned; diff --git a/firmware/config/engines/toyota_jzs147.cpp b/firmware/config/engines/toyota_jzs147.cpp index 5dede3b74d..f2df7cb6fd 100644 --- a/firmware/config/engines/toyota_jzs147.cpp +++ b/firmware/config/engines/toyota_jzs147.cpp @@ -73,7 +73,7 @@ void setToyota_2jz_vics() { common2jz(); setCrankOperationMode(); - engineConfiguration->trigger.type = TT_TOOTHED_WHEEL_36_2; + engineConfiguration->trigger.type = trigger_type_e::TT_TOOTHED_WHEEL_36_2; engineConfiguration->triggerInputPins[0] = Gpio::A5; // crank sensor engineConfiguration->triggerInputPins[1] = Gpio::Unassigned; // cam sensor will he handled by custom vtti code diff --git a/firmware/config/engines/vw.cpp b/firmware/config/engines/vw.cpp index d5dc88ff09..8499db5abd 100644 --- a/firmware/config/engines/vw.cpp +++ b/firmware/config/engines/vw.cpp @@ -26,7 +26,7 @@ void setVwAba() { setCrankOperationMode(); - engineConfiguration->trigger.type = TT_TOOTHED_WHEEL_60_2; + engineConfiguration->trigger.type = trigger_type_e::TT_TOOTHED_WHEEL_60_2; engineConfiguration->mafAdcChannel = EFI_ADC_1; diff --git a/firmware/config/engines/vw_b6.cpp b/firmware/config/engines/vw_b6.cpp index d7a59aaf18..c83474bfec 100644 --- a/firmware/config/engines/vw_b6.cpp +++ b/firmware/config/engines/vw_b6.cpp @@ -16,7 +16,7 @@ static void commonPassatB6() { setCrankOperationMode(); - engineConfiguration->trigger.type = TT_TOOTHED_WHEEL_60_2; + engineConfiguration->trigger.type = trigger_type_e::TT_TOOTHED_WHEEL_60_2; engineConfiguration->vvtMode[0] = VVT_BOSCH_QUICK_START; engineConfiguration->map.sensor.type = MT_BOSCH_2_5; diff --git a/firmware/controllers/algo/defaults/default_base_engine.cpp b/firmware/controllers/algo/defaults/default_base_engine.cpp index dc4c46705c..2b15a37400 100644 --- a/firmware/controllers/algo/defaults/default_base_engine.cpp +++ b/firmware/controllers/algo/defaults/default_base_engine.cpp @@ -53,7 +53,7 @@ void setDefaultBaseEngine() { engineConfiguration->ALSMaxTPS = 5; // Trigger - engineConfiguration->trigger.type = TT_TOOTHED_WHEEL_60_2; + engineConfiguration->trigger.type = trigger_type_e::TT_TOOTHED_WHEEL_60_2; engineConfiguration->globalTriggerAngleOffset = 0; diff --git a/firmware/controllers/algo/engine.cpp b/firmware/controllers/algo/engine.cpp index 4e0ecb66dc..44ced8b48d 100644 --- a/firmware/controllers/algo/engine.cpp +++ b/firmware/controllers/algo/engine.cpp @@ -66,42 +66,42 @@ void Engine::resetEngineSnifferIfInTestMode() { trigger_type_e getVvtTriggerType(vvt_mode_e vvtMode) { switch (vvtMode) { case VVT_INACTIVE: - return TT_ONE; + return trigger_type_e::TT_ONE; case VVT_2JZ: - return TT_VVT_JZ; + return trigger_type_e::TT_VVT_JZ; case VVT_MIATA_NB: - return TT_VVT_MIATA_NB; + return trigger_type_e::TT_VVT_MIATA_NB; case VVT_BOSCH_QUICK_START: - return TT_VVT_BOSCH_QUICK_START; + return trigger_type_e::TT_VVT_BOSCH_QUICK_START; case VVT_HONDA_K_EXHAUST: - return TT_HONDA_K_CAM_4_1; + return trigger_type_e::TT_HONDA_K_CAM_4_1; case VVT_HONDA_K_INTAKE: case VVT_FIRST_HALF: case VVT_SECOND_HALF: case VVT_MAP_V_TWIN: - return TT_ONE; + return trigger_type_e::TT_ONE; case VVT_FORD_ST170: - return TT_FORD_ST170; + return trigger_type_e::TT_FORD_ST170; case VVT_BARRA_3_PLUS_1: - return TT_VVT_BARRA_3_PLUS_1; + return trigger_type_e::TT_VVT_BARRA_3_PLUS_1; case VVT_MAZDA_SKYACTIV: - return TT_VVT_MAZDA_SKYACTIV; + return trigger_type_e::TT_VVT_MAZDA_SKYACTIV; case VVT_NISSAN_VQ: - return TT_VVT_NISSAN_VQ35; + return trigger_type_e::TT_VVT_NISSAN_VQ35; case VVT_TOYOTA_4_1: - return TT_VVT_TOYOTA_4_1; + return trigger_type_e::TT_VVT_TOYOTA_4_1; case VVT_MITSUBISHI_3A92: - return TT_VVT_MITSUBISHI_3A92; + return trigger_type_e::TT_VVT_MITSUBISHI_3A92; case VVT_MITSUBISHI_6G75: case VVT_NISSAN_MR: - return TT_NISSAN_MR18_CAM_VVT; + return trigger_type_e::TT_NISSAN_MR18_CAM_VVT; case VVT_MITSUBISHI_4G9x: - return TT_MITSU_4G9x_CAM; + return trigger_type_e::TT_MITSU_4G9x_CAM; case VVT_MITSUBISHI_4G63: - return TT_MITSU_4G63_CAM; + return trigger_type_e::TT_MITSU_4G63_CAM; default: firmwareError(ObdCode::OBD_PCM_Processor_Fault, "getVvtTriggerType for %s", getVvt_mode_e(vvtMode)); - return TT_ONE; // we have to return something for the sake of -Werror=return-type + return trigger_type_e::TT_ONE; // we have to return something for the sake of -Werror=return-type } } diff --git a/firmware/controllers/algo/engine_configuration.cpp b/firmware/controllers/algo/engine_configuration.cpp index 5464694ec1..e575dc0155 100644 --- a/firmware/controllers/algo/engine_configuration.cpp +++ b/firmware/controllers/algo/engine_configuration.cpp @@ -650,7 +650,7 @@ void loadConfiguration() { #if EFI_INTERNAL_FLASH if (SHOULD_IGNORE_FLASH() || IGNORE_FLASH_CONFIGURATION) { - engineConfiguration->engineType = DEFAULT_ENGINE_TYPE; + engineConfiguration->engineType = engine_type_e::DEFAULT_ENGINE_TYPE; resetConfigurationExt(engineConfiguration->engineType); writeToFlashNow(); } else { @@ -660,7 +660,7 @@ void loadConfiguration() { } #else // not EFI_INTERNAL_FLASH // This board doesn't load configuration, initialize the default - engineConfiguration->engineType = DEFAULT_ENGINE_TYPE; + engineConfiguration->engineType = engine_type_e::DEFAULT_ENGINE_TYPE; resetConfigurationExt(engineConfiguration->engineType); #endif /* EFI_INTERNAL_FLASH */ @@ -694,268 +694,268 @@ void resetConfigurationExt(configuration_callback_t boardCallback, engine_type_e * And override them with engine-specific defaults */ switch (engineType) { - case MINIMAL_PINS: + case engine_type_e::MINIMAL_PINS: // all basic settings are already set in prepareVoidConfiguration(), no need to set anything here // nothing to do - we do it all in setBoardDefaultConfiguration break; #if EFI_UNIT_TEST - case TEST_ISSUE_366_BOTH: + case engine_type_e::TEST_ISSUE_366_BOTH: setTestEngineIssue366both(); break; - case TEST_ISSUE_366_RISE: + case engine_type_e::TEST_ISSUE_366_RISE: setTestEngineIssue366rise(); break; #endif // EFI_UNIT_TEST #if HW_MICRO_RUSEFI - case MRE_VW_B6: + case engine_type_e::MRE_VW_B6: setMreVwPassatB6(); break; - case MRE_M111: + case engine_type_e::MRE_M111: setM111EngineConfiguration(); break; - case MRE_SUBARU_EJ18: + case engine_type_e::MRE_SUBARU_EJ18: setSubaruEJ18_MRE(); break; - case MRE_BOARD_NEW_TEST: + case engine_type_e::MRE_BOARD_NEW_TEST: mreBoardNewTest(); break; - case BMW_M73_MRE: - case BMW_M73_MRE_SLAVE: + case engine_type_e::BMW_M73_MRE: + case engine_type_e::BMW_M73_MRE_SLAVE: setEngineBMW_M73_microRusEfi(); break; - case MRE_MIATA_94_MAP: + case engine_type_e::MRE_MIATA_94_MAP: setMiata94_MAP_MRE(); break; - case MRE_MIATA_NA6_MAP: + case engine_type_e::MRE_MIATA_NA6_MAP: setMiataNA6_MAP_MRE(); break; - case MRE_BODY_CONTROL: + case engine_type_e::MRE_BODY_CONTROL: mreBCM(); break; #endif // HW_MICRO_RUSEFI #if HW_PROTEUS - case WASTEGATE_PROTEUS_TEST: + case engine_type_e::WASTEGATE_PROTEUS_TEST: proteusDcWastegateTest(); break; - case PROTEUS_GM_LS_4: + case engine_type_e::PROTEUS_GM_LS_4: setProteusGmLs4(); break; - case PROTEUS_VW_B6: + case engine_type_e::PROTEUS_VW_B6: setProteusVwPassatB6(); break; - case PROTEUS_QC_TEST_BOARD: + case engine_type_e::PROTEUS_QC_TEST_BOARD: proteusBoardTest(); break; - case PROTEUS_LUA_DEMO: + case engine_type_e::PROTEUS_LUA_DEMO: proteusLuaDemo(); break; - case PROTEUS_HARLEY: + case engine_type_e::PROTEUS_HARLEY: proteusHarley(); break; - case PROTEUS_BMW_M73: + case engine_type_e::PROTEUS_BMW_M73: setEngineBMW_M73_Proteus(); break; - case MIATA_PROTEUS_TCU: + case engine_type_e::MIATA_PROTEUS_TCU: setMiataNB2_Proteus_TCU(); break; - case PROTEUS_HONDA_K: + case engine_type_e::PROTEUS_HONDA_K: setProteusHondaElement2003(); break; - case PROTEUS_HONDA_OBD2A: + case engine_type_e::PROTEUS_HONDA_OBD2A: setProteusHondaOBD2A(); break; - case PROTEUS_E65_6H_MAN_IN_THE_MIDDLE: + case engine_type_e::PROTEUS_E65_6H_MAN_IN_THE_MIDDLE: setEngineProteusGearboxManInTheMiddle(); break; - case PROTEUS_MIATA_NA6: + case engine_type_e::PROTEUS_MIATA_NA6: setMiataNa6_Proteus(); break; - case PROTEUS_MIATA_NB2: + case engine_type_e::PROTEUS_MIATA_NB2: setMiataNB2_Proteus(); break; #ifdef HARDWARE_CI - case PROTEUS_ANALOG_PWM_TEST: + case engine_type_e::PROTEUS_ANALOG_PWM_TEST: setProteusAnalogPwmTest(); break; #endif // HARDWARE_CI #endif // HW_PROTEUS #if HW_HELLEN - case HELLEN_128_MERCEDES_4_CYL: + case engine_type_e::HELLEN_128_MERCEDES_4_CYL: setHellenMercedes128_4_cyl(); break; - case HELLEN_128_MERCEDES_6_CYL: + case engine_type_e::HELLEN_128_MERCEDES_6_CYL: setHellenMercedes128_6_cyl(); break; - case HELLEN_128_MERCEDES_8_CYL: + case engine_type_e::HELLEN_128_MERCEDES_8_CYL: setHellenMercedes128_8_cyl(); break; - case HELLEN_NB2: + case engine_type_e::HELLEN_NB2: setMiataNB2_Hellen72(); break; - case HELLEN_NB2_36: + case engine_type_e::HELLEN_NB2_36: setMiataNB2_Hellen72_36(); break; - case HELLEN_NA8_96: + case engine_type_e::HELLEN_NA8_96: setHellenMiata96(); break; - case HELLEN_NB1: + case engine_type_e::HELLEN_NB1: setHellenNB1(); break; - case HELLEN_121_NISSAN_4_CYL: + case engine_type_e::HELLEN_121_NISSAN_4_CYL: setHellen121nissanQR(); break; - case HELLEN_121_NISSAN_6_CYL: + case engine_type_e::HELLEN_121_NISSAN_6_CYL: setHellen121nissanVQ(); break; - case HELLEN_121_VAG_5_CYL: + case engine_type_e::HELLEN_121_VAG_5_CYL: setHellen121Vag_5_cyl(); break; - case HELLEN_121_VAG_V6_CYL: + case engine_type_e::HELLEN_121_VAG_V6_CYL: setHellen121Vag_v6_cyl(); break; - case HELLEN_121_VAG_VR6_CYL: + case engine_type_e::HELLEN_121_VAG_VR6_CYL: setHellen121Vag_vr6_cyl(); break; - case HELLEN_121_VAG_8_CYL: + case engine_type_e::HELLEN_121_VAG_8_CYL: setHellen121Vag_8_cyl(); break; - case HELLEN_121_VAG_4_CYL: - case HELLEN_55_BMW: - case HELLEN_88_BMW: - case HELLEN_134_BMW: - case HELLEN_154_VAG: + case engine_type_e::HELLEN_121_VAG_4_CYL: + case engine_type_e::HELLEN_55_BMW: + case engine_type_e::HELLEN_88_BMW: + case engine_type_e::HELLEN_134_BMW: + case engine_type_e::HELLEN_154_VAG: break; - case HELLEN_154_HYUNDAI_COUPE_BK1: + case engine_type_e::HELLEN_154_HYUNDAI_COUPE_BK1: setGenesisCoupeBK1(); break; - case HELLEN_154_HYUNDAI_COUPE_BK2: + case engine_type_e::HELLEN_154_HYUNDAI_COUPE_BK2: setGenesisCoupeBK2(); break; - case HELLEN_NA6: + case engine_type_e::HELLEN_NA6: setHellenNA6(); break; - case HELLEN_NA94: + case engine_type_e::HELLEN_NA94: setHellenNA94(); break; #endif // HW_HELLEN #if HW_FRANKENSO - case DEFAULT_FRANKENSO: + case engine_type_e::DEFAULT_FRANKENSO: setFrankensoConfiguration(); break; - case DISCOVERY_PDM: - case TEST_ENGINE: + case engine_type_e::DISCOVERY_PDM: + case engine_type_e::TEST_ENGINE: setTestCamEngineConfiguration(); break; - case TEST_CRANK_ENGINE: + case engine_type_e::TEST_CRANK_ENGINE: setTestCrankEngineConfiguration(); break; - case FRANKENSO_QA_ENGINE: + case engine_type_e::FRANKENSO_QA_ENGINE: setFrankensoBoardTestConfiguration(); break; - case FRANKENSO_BMW_M73_F: + case engine_type_e::FRANKENSO_BMW_M73_F: setBMW_M73_TwoCoilUnitTest(); break; - case BMW_M73_M: + case engine_type_e::BMW_M73_M: setEngineBMW_M73_Manhattan(); break; - case DODGE_NEON_1995: + case engine_type_e::DODGE_NEON_1995: setDodgeNeon1995EngineConfiguration(); break; - case DODGE_NEON_2003_CRANK: + case engine_type_e::DODGE_NEON_2003_CRANK: setDodgeNeonNGCEngineConfiguration(); break; - case FORD_ASPIRE_1996: + case engine_type_e::FORD_ASPIRE_1996: setFordAspireEngineConfiguration(); break; - case NISSAN_PRIMERA: + case engine_type_e::NISSAN_PRIMERA: setNissanPrimeraEngineConfiguration(); break; - case FRANKENSO_MIATA_NA6_MAP: + case engine_type_e::FRANKENSO_MIATA_NA6_MAP: setMiataNA6_MAP_Frankenso(); break; - case ETB_BENCH_ENGINE: + case engine_type_e::ETB_BENCH_ENGINE: setEtbTestConfiguration(); break; - case L9779_BENCH_ENGINE: + case engine_type_e::L9779_BENCH_ENGINE: setL9779TestConfiguration(); break; - case EEPROM_BENCH_ENGINE: + case engine_type_e::EEPROM_BENCH_ENGINE: #if EFI_PROD_CODE setEepromTestConfiguration(); #endif break; - case TLE8888_BENCH_ENGINE: + case engine_type_e::TLE8888_BENCH_ENGINE: setTle8888TestConfiguration(); break; - case FRANKENSO_MAZDA_MIATA_NA8: + case engine_type_e::FRANKENSO_MAZDA_MIATA_NA8: setFrankensoMazdaMiataNA8Configuration(); break; - case MITSU_4G93: + case engine_type_e::MITSU_4G93: setMitsubishiConfiguration(); break; - case FORD_INLINE_6_1995: + case engine_type_e::FORD_INLINE_6_1995: setFordInline6(); break; - case GY6_139QMB: + case engine_type_e::GY6_139QMB: setGy6139qmbDefaultEngineConfiguration(); break; - case HONDA_600: + case engine_type_e::HONDA_600: setHonda600(); break; - case FORD_ESCORT_GT: + case engine_type_e::FORD_ESCORT_GT: setFordEscortGt(); break; - case MIATA_1996: + case engine_type_e::MIATA_1996: setFrankensteinMiata1996(); break; - case CITROEN_TU3JP: + case engine_type_e::CITROEN_TU3JP: setCitroenBerlingoTU3JPConfiguration(); break; - case SUBARU_2003_WRX: + case engine_type_e::SUBARU_2003_WRX: setSubaru2003Wrx(); break; - case DODGE_RAM: + case engine_type_e::DODGE_RAM: setDodgeRam1996(); break; - case VW_ABA: + case engine_type_e::VW_ABA: setVwAba(); break; - case FRANKENSO_MAZDA_MIATA_2003: + case engine_type_e::FRANKENSO_MAZDA_MIATA_2003: setMazdaMiata2003EngineConfiguration(); break; - case MAZDA_MIATA_2003_NA_RAIL: + case engine_type_e::MAZDA_MIATA_2003_NA_RAIL: setMazdaMiata2003EngineConfigurationNaFuelRail(); break; - case MAZDA_MIATA_2003_BOARD_TEST: + case engine_type_e::MAZDA_MIATA_2003_BOARD_TEST: setMazdaMiata2003EngineConfigurationBoardTest(); break; - case TEST_ENGINE_VVT: + case engine_type_e::TEST_ENGINE_VVT: setTestVVTEngineConfiguration(); break; - case TEST_DC_WASTEGATE_DISCOVERY: + case engine_type_e::TEST_DC_WASTEGATE_DISCOVERY: setTestDcWastegateConfiguration(); break; - case SACHS: + case engine_type_e::SACHS: setSachs(); break; - case CAMARO_4: + case engine_type_e::CAMARO_4: setCamaro4(); break; - case TOYOTA_2JZ_GTE_VVTi: + case engine_type_e::TOYOTA_2JZ_GTE_VVTi: setToyota_2jz_vics(); break; - case TEST_33816: + case engine_type_e::TEST_33816: setTest33816EngineConfiguration(); break; - case TEST_100: - case TEST_101: - case TEST_102: - case TEST_ROTARY: + case engine_type_e::TEST_100: + case engine_type_e::TEST_101: + case engine_type_e::TEST_102: + case engine_type_e::TEST_ROTARY: setRotary(); break; #endif // HW_FRANKENSO #ifdef HW_SUBARU_EG33 - case SUBARUEG33_DEFAULTS: + case engine_type_e::SUBARUEG33_DEFAULTS: setSubaruEG33Defaults(); break; #endif //HW_SUBARU_EG33 diff --git a/firmware/controllers/algo/engine_types.h b/firmware/controllers/algo/engine_types.h index 3fa2566b1f..31f8664297 100644 --- a/firmware/controllers/algo/engine_types.h +++ b/firmware/controllers/algo/engine_types.h @@ -16,7 +16,7 @@ /** * http://rusefi.com/wiki/index.php?title=Manual:Engine_Type */ -typedef enum __attribute__ ((__packed__)) { +enum class engine_type_e : uint32_t { DEFAULT_FRANKENSO = 0, MIATA_PROTEUS_TCU = 1, @@ -219,11 +219,7 @@ typedef enum __attribute__ ((__packed__)) { TEST_100 = 100, TEST_101 = 101, TEST_102 = 102, - - // java code generator handles this value in a special way - // also looks like 2 enums are either 1 byte or 4 bytes - Force_4_bytes_size_engine_type = 70000, -} engine_type_e; +}; /** * https://rusefi.com//wiki/index.php?title=Manual:Debug_fields @@ -298,8 +294,7 @@ typedef enum __attribute__ ((__packed__)) { /** * @see http://rusefi.com/wiki/index.php?title=Manual:Software:Trigger */ -typedef enum { - +enum class trigger_type_e : uint32_t { TT_TOOTHED_WHEEL = 0, TT_FORD_ASPIRE = 1, TT_DODGE_NEON_1995 = 2, @@ -509,12 +504,7 @@ typedef enum { // Another point: once you add a new trigger, run get_trigger_images.bat which would run fome_test.exe from unit_tests // TT_UNUSED = 75, // this is used if we want to iterate over all trigger types - - // java code generator handles this value in a special way - // also looks like 2 enums are either 1 byte or 4 bytes - Force_4_bytes_size_trigger_type = 70000, -} trigger_type_e; // TriggerProcessor.java has this "trigger_type_e" name hard-coded! - +}; typedef enum { TS_DEBUG_MODE = 0, diff --git a/firmware/controllers/bench_test.cpp b/firmware/controllers/bench_test.cpp index e29de64e00..c5401a3745 100644 --- a/firmware/controllers/bench_test.cpp +++ b/firmware/controllers/bench_test.cpp @@ -492,7 +492,7 @@ void executeTSCommand(uint16_t subsystem, uint16_t index) { case TS_SET_DEFAULT_ENGINE: fatalErrorForPresetApply(); - setEngineType(DEFAULT_ENGINE_TYPE); + setEngineType(engine_type_e::DEFAULT_ENGINE_TYPE); break; case 0x79: diff --git a/firmware/controllers/engine_cycle/rpm_calculator.cpp b/firmware/controllers/engine_cycle/rpm_calculator.cpp index 17e457c511..4cf1d5dca7 100644 --- a/firmware/controllers/engine_cycle/rpm_calculator.cpp +++ b/firmware/controllers/engine_cycle/rpm_calculator.cpp @@ -70,12 +70,12 @@ operation_mode_e lookupOperationMode() { // this is related to 'knownOperationMode' flag static bool doesTriggerImplyOperationMode(trigger_type_e type) { switch (type) { - case TT_TOOTHED_WHEEL: - case TT_ONE: - case TT_3_1_CAM: - case TT_36_2_2_2: // TODO: should this one be in this list? - case TT_TOOTHED_WHEEL_60_2: - case TT_TOOTHED_WHEEL_36_1: + case trigger_type_e::TT_TOOTHED_WHEEL: + case trigger_type_e::TT_ONE: + case trigger_type_e::TT_3_1_CAM: + case trigger_type_e::TT_36_2_2_2: // TODO: should this one be in this list? + case trigger_type_e::TT_TOOTHED_WHEEL_60_2: + case trigger_type_e::TT_TOOTHED_WHEEL_36_1: // These modes could be either cam or crank speed return false; default: diff --git a/firmware/controllers/flash_main.cpp b/firmware/controllers/flash_main.cpp index 4599310166..167e7dcaeb 100644 --- a/firmware/controllers/flash_main.cpp +++ b/firmware/controllers/flash_main.cpp @@ -302,7 +302,7 @@ void readFromFlash() { efiPrintf("Need to reset flash to default due to CRC mismatch"); [[fallthrough]]; case FlashState::BlankChip: - resetConfigurationExt(DEFAULT_ENGINE_TYPE); + resetConfigurationExt(engine_type_e::DEFAULT_ENGINE_TYPE); break; case FlashState::IncompatibleVersion: // Preserve engine type from old config diff --git a/firmware/controllers/settings.cpp b/firmware/controllers/settings.cpp index 10a5e1baa9..ccd64ad661 100644 --- a/firmware/controllers/settings.cpp +++ b/firmware/controllers/settings.cpp @@ -698,19 +698,24 @@ void setDateTime(const char * const isoDateTime) { #endif // ! EFI_UNIT_TEST void setEngineType(int value) { + setEngineType((engine_type_e)value); +} + +void setEngineType(engine_type_e value) { { #if EFI_PROD_CODE chibios_rt::CriticalSectionLocker csl; #endif // EFI_PROD_CODE - engineConfiguration->engineType = (engine_type_e)value; - resetConfigurationExt((engine_type_e)value); + engineConfiguration->engineType = value; + resetConfigurationExt(value); engine->resetEngineSnifferIfInTestMode(); #if EFI_INTERNAL_FLASH writeToFlashNow(); #endif // EFI_INTERNAL_FLASH } + incrementGlobalConfigurationVersion(); #if ! EFI_UNIT_TEST #endif // ! EFI_UNIT_TEST diff --git a/firmware/controllers/settings.h b/firmware/controllers/settings.h index 77eb4737ce..a07729a830 100644 --- a/firmware/controllers/settings.h +++ b/firmware/controllers/settings.h @@ -15,6 +15,7 @@ void printConfiguration(const engine_configuration_s *engineConfiguration); void scheduleStopEngine(void); void setEngineType(int value); +void setEngineType(engine_type_e value); void readPin(const char *pinName); void printDateTime(); diff --git a/firmware/controllers/trigger/decoders/trigger_chrysler.cpp b/firmware/controllers/trigger/decoders/trigger_chrysler.cpp index 08e0b0f9ab..e44b044e42 100644 --- a/firmware/controllers/trigger/decoders/trigger_chrysler.cpp +++ b/firmware/controllers/trigger/decoders/trigger_chrysler.cpp @@ -503,7 +503,7 @@ static void add4cylblock(int off, TriggerWaveform *s) { s->addEvent720(174 + off + 2, false, TriggerWheel::T_SECONDARY); } -// TT_JEEP_4_CYL +// trigger_type_e::TT_JEEP_4_CYL void initJeep_XJ_4cyl_2500(TriggerWaveform *s) { s->initialize(FOUR_STROKE_CAM_SENSOR, SyncEdge::RiseOnly); s->isSynchronizationNeeded = false; diff --git a/firmware/controllers/trigger/decoders/trigger_gm.cpp b/firmware/controllers/trigger/decoders/trigger_gm.cpp index 5fefac7540..2dabd86693 100644 --- a/firmware/controllers/trigger/decoders/trigger_gm.cpp +++ b/firmware/controllers/trigger/decoders/trigger_gm.cpp @@ -101,7 +101,7 @@ static int gm_tooth_pair(float startAngle, bool isShortLong, TriggerWaveform* s, } /** - * TT_GM_24x and TT_GM_24x_2 + * trigger_type_e::TT_GM_24x and trigger_type_e::TT_GM_24x_2 * https://www.mediafire.com/?40mfgeoe4ctti * http://www.ls1gto.com/forums/archive/index.php/t-190549.htm * http://www.ls2.com/forums/showthread.php/834483-LS-Timing-Reluctor-Wheels-Explained @@ -153,7 +153,7 @@ static void initGmLS24(TriggerWaveform *s, float shortToothWidth) { } } -// TT_GM_24x +// trigger_type_e::TT_GM_24x void initGmLS24_5deg(TriggerWaveform *s) { initGmLS24(s, 5); @@ -165,7 +165,7 @@ void initGmLS24_5deg(TriggerWaveform *s) { s->tdcPosition = 50; } -// TT_GM_24x_2 +// trigger_type_e::TT_GM_24x_2 void initGmLS24_3deg(TriggerWaveform *s) { initGmLS24(s, 3); diff --git a/firmware/controllers/trigger/decoders/trigger_honda.cpp b/firmware/controllers/trigger/decoders/trigger_honda.cpp index 37f825083c..78386cacac 100644 --- a/firmware/controllers/trigger/decoders/trigger_honda.cpp +++ b/firmware/controllers/trigger/decoders/trigger_honda.cpp @@ -75,7 +75,7 @@ static void kseriesTooth(TriggerWaveform* s, float end) { s->addEvent360(end , false, TriggerWheel::T_PRIMARY); } -// TT_HONDA_K_CRANK_12_1 +// trigger_type_e::TT_HONDA_K_CRANK_12_1 void configureHondaK_12_1(TriggerWaveform *s) { s->initialize(FOUR_STROKE_CRANK_SENSOR, SyncEdge::RiseOnly); diff --git a/firmware/controllers/trigger/decoders/trigger_mazda.cpp b/firmware/controllers/trigger/decoders/trigger_mazda.cpp index 86113efd79..74b2072630 100644 --- a/firmware/controllers/trigger/decoders/trigger_mazda.cpp +++ b/firmware/controllers/trigger/decoders/trigger_mazda.cpp @@ -56,7 +56,7 @@ void initializeMazdaMiataNaShape(TriggerWaveform *s) { s->useOnlyPrimaryForSync = true; } -// TT_MIATA_VVT +// trigger_type_e::TT_MIATA_VVT void initializeMazdaMiataNb2Crank(TriggerWaveform *s) { /** * Note how we use 0..180 range while defining FOUR_STROKE_SYMMETRICAL_CRANK_SENSOR trigger diff --git a/firmware/controllers/trigger/decoders/trigger_misc.cpp b/firmware/controllers/trigger/decoders/trigger_misc.cpp index 4c3012302b..10e42e40d1 100644 --- a/firmware/controllers/trigger/decoders/trigger_misc.cpp +++ b/firmware/controllers/trigger/decoders/trigger_misc.cpp @@ -10,7 +10,7 @@ #include "trigger_misc.h" #include "trigger_universal.h" -// TT_FIAT_IAW_P8 +// trigger_type_e::TT_FIAT_IAW_P8 void configureFiatIAQ_P8(TriggerWaveform * s) { s->initialize(FOUR_STROKE_CAM_SENSOR, SyncEdge::Rise); @@ -25,7 +25,7 @@ void configureFiatIAQ_P8(TriggerWaveform * s) { s->setTriggerSynchronizationGap(3); } -// TT_TRI_TACH +// trigger_type_e::TT_TRI_TACH void configureTriTach(TriggerWaveform * s) { s->initialize(FOUR_STROKE_CRANK_SENSOR, SyncEdge::RiseOnly); diff --git a/firmware/controllers/trigger/decoders/trigger_mitsubishi.cpp b/firmware/controllers/trigger/decoders/trigger_mitsubishi.cpp index 7786868320..22d3d4e860 100644 --- a/firmware/controllers/trigger/decoders/trigger_mitsubishi.cpp +++ b/firmware/controllers/trigger/decoders/trigger_mitsubishi.cpp @@ -64,7 +64,7 @@ static void addMitsu93(TriggerWaveform *s, bool addSecondary) { } /** - * TT_MITSUBISHI_4G93 = 11 + * trigger_type_e::TT_MITSUBISHI_4G93 = 11 */ void initializeMitsubishi4G93(TriggerWaveform *s) { s->initialize(FOUR_STROKE_CAM_SENSOR, SyncEdge::Fall); diff --git a/firmware/controllers/trigger/decoders/trigger_renix.cpp b/firmware/controllers/trigger/decoders/trigger_renix.cpp index 09815f00c3..4ec86ff1be 100644 --- a/firmware/controllers/trigger/decoders/trigger_renix.cpp +++ b/firmware/controllers/trigger/decoders/trigger_renix.cpp @@ -30,13 +30,13 @@ static void commonRenix(TriggerWaveform *s) { s->addEventAngle(s->getCycleDuration(), false); } -// TT_RENIX_44_2_2 +// trigger_type_e::TT_RENIX_44_2_2 void initializeRenix44_2_2(TriggerWaveform *s) { s->initialize(FOUR_STROKE_SYMMETRICAL_CRANK_SENSOR, SyncEdge::RiseOnly); commonRenix(s); } -// TT_RENIX_66_2_2_2 +// trigger_type_e::TT_RENIX_66_2_2_2 void initializeRenix66_2_2(TriggerWaveform *s) { s->initialize(FOUR_STROKE_THREE_TIMES_CRANK_SENSOR, SyncEdge::RiseOnly); commonRenix(s); diff --git a/firmware/controllers/trigger/decoders/trigger_structure.cpp b/firmware/controllers/trigger/decoders/trigger_structure.cpp index 6dcfa1191b..e3afbba16e 100644 --- a/firmware/controllers/trigger/decoders/trigger_structure.cpp +++ b/firmware/controllers/trigger/decoders/trigger_structure.cpp @@ -401,165 +401,165 @@ void TriggerWaveform::initializeTriggerWaveform(operation_mode_e triggerOperatio shapeDefinitionError = false; switch (triggerConfig.TriggerType.type) { - case TT_TOOTHED_WHEEL: + case trigger_type_e::TT_TOOTHED_WHEEL: initializeSkippedToothTrigger(this, triggerConfig.TriggerType.customTotalToothCount, triggerConfig.TriggerType.customSkippedToothCount, triggerOperationMode, SyncEdge::RiseOnly); break; - case TT_MAZDA_MIATA_NA: + case trigger_type_e::TT_MAZDA_MIATA_NA: initializeMazdaMiataNaShape(this); break; - case TT_MITSUBISHI_MESS: + case trigger_type_e::TT_MITSUBISHI_MESS: initializeMitsubishi4gMess(this); break; - case TT_MAZDA_MIATA_VVT_TEST: + case trigger_type_e::TT_MAZDA_MIATA_VVT_TEST: initializeMazdaMiataVVtTestShape(this); break; - case TT_SUZUKI_G13B: + case trigger_type_e::TT_SUZUKI_G13B: initializeSuzukiG13B(this); break; - case TT_FORD_TFI_PIP: + case trigger_type_e::TT_FORD_TFI_PIP: configureFordPip(this); break; - case TT_FORD_ST170: + case trigger_type_e::TT_FORD_ST170: configureFordST170(this); break; - case TT_VVT_MIATA_NB: + case trigger_type_e::TT_VVT_MIATA_NB: initializeMazdaMiataVVtCamShape(this); break; - case TT_RENIX_66_2_2_2: + case trigger_type_e::TT_RENIX_66_2_2_2: initializeRenix66_2_2(this); break; - case TT_RENIX_44_2_2: + case trigger_type_e::TT_RENIX_44_2_2: initializeRenix44_2_2(this); break; - case TT_MIATA_VVT: + case trigger_type_e::TT_MIATA_VVT: initializeMazdaMiataNb2Crank(this); break; - case TT_DODGE_NEON_1995: - case TT_DODGE_NEON_1995_ONLY_CRANK: + case trigger_type_e::TT_DODGE_NEON_1995: + case trigger_type_e::TT_DODGE_NEON_1995_ONLY_CRANK: configureNeon1995TriggerWaveformOnlyCrank(this); break; - case TT_DODGE_STRATUS: + case trigger_type_e::TT_DODGE_STRATUS: configureDodgeStratusTriggerWaveform(this); break; - case TT_DODGE_NEON_2003_CAM: + case trigger_type_e::TT_DODGE_NEON_2003_CAM: configureNeon2003TriggerWaveformCam(this); break; - case TT_DODGE_NEON_2003_CRANK: + case trigger_type_e::TT_DODGE_NEON_2003_CRANK: configureNeon2003TriggerWaveformCam(this); // configureNeon2003TriggerWaveformCrank(triggerShape); break; - case TT_FORD_ASPIRE: + case trigger_type_e::TT_FORD_ASPIRE: configureFordAspireTriggerWaveform(this); break; - case TT_VVT_NISSAN_VQ35: + case trigger_type_e::TT_VVT_NISSAN_VQ35: initializeNissanVQvvt(this); break; - case TT_VVT_MITSUBISHI_3A92: + case trigger_type_e::TT_VVT_MITSUBISHI_3A92: initializeVvt3A92(this); break; - case TT_VVT_TOYOTA_4_1: + case trigger_type_e::TT_VVT_TOYOTA_4_1: initializeSkippedToothTrigger(this, 4, 1, triggerOperationMode, SyncEdge::RiseOnly); setTriggerSynchronizationGap3(/*gapIndex*/0, /*from*/1.60, 2.40); setTriggerSynchronizationGap3(/*gapIndex*/1, /*from*/0.75, 1.25); break; - case TT_VVT_MITSUBISHI_6G75: - case TT_NISSAN_QR25: + case trigger_type_e::TT_VVT_MITSUBISHI_6G75: + case trigger_type_e::TT_NISSAN_QR25: initializeNissanQR25crank(this); break; - case TT_NISSAN_VQ30: + case trigger_type_e::TT_NISSAN_VQ30: initializeNissanVQ30cam(this); break; - case TT_NISSAN_VQ35: + case trigger_type_e::TT_NISSAN_VQ35: initializeNissanVQ35crank(this); break; - case TT_NISSAN_MR18_CRANK: + case trigger_type_e::TT_NISSAN_MR18_CRANK: initializeNissanMR18crank(this); break; - case TT_NISSAN_MR18_CAM_VVT: + case trigger_type_e::TT_NISSAN_MR18_CAM_VVT: initializeNissanMRvvt(this); break; - case TT_KAWA_KX450F: + case trigger_type_e::TT_KAWA_KX450F: configureKawaKX450F(this); break; - case TT_SKODA_FAVORIT: + case trigger_type_e::TT_SKODA_FAVORIT: setSkodaFavorit(this); break; - case TT_GM_60_2_2_2: + case trigger_type_e::TT_GM_60_2_2_2: configureGm60_2_2_2(this); break; - case TT_GM_7X: + case trigger_type_e::TT_GM_7X: configureGmTriggerWaveform(this); break; - case TT_MAZDA_DOHC_1_4: + case trigger_type_e::TT_MAZDA_DOHC_1_4: configureMazdaProtegeLx(this); break; - case TT_ONE_PLUS_ONE: + case trigger_type_e::TT_ONE_PLUS_ONE: configureOnePlusOne(this); break; - case TT_3_1_CAM: + case trigger_type_e::TT_3_1_CAM: configure3_1_cam(this); break; - case TT_MERCEDES_2_SEGMENT: + case trigger_type_e::TT_MERCEDES_2_SEGMENT: setMercedesTwoSegment(this); break; - case TT_ONE: + case trigger_type_e::TT_ONE: initializeSkippedToothTrigger(this, 1, 0, triggerOperationMode, SyncEdge::Rise); break; - case TT_MAZDA_SOHC_4: + case trigger_type_e::TT_MAZDA_SOHC_4: configureMazdaProtegeSOHC(this); break; - case TT_DAIHATSU: + case trigger_type_e::TT_DAIHATSU: configureDaihatsu4(this); break; - case TT_VVT_JZ: + case trigger_type_e::TT_VVT_JZ: initializeSkippedToothTrigger(this, 3, 0, triggerOperationMode, SyncEdge::RiseOnly); break; - case TT_36_2_1_1: + case trigger_type_e::TT_36_2_1_1: initialize36_2_1_1(this); break; - case TT_36_2_1: + case trigger_type_e::TT_36_2_1: initialize36_2_1(this); break; - case TT_TOOTHED_WHEEL_32_2: + case trigger_type_e::TT_TOOTHED_WHEEL_32_2: initializeSkippedToothTrigger(this, 32, 2, triggerOperationMode, SyncEdge::RiseOnly); // todo: why is this 32/2 asking for third gap while 60/2 is happy with just two gaps? // method above sets second gap, here we add third @@ -567,139 +567,139 @@ void TriggerWaveform::initializeTriggerWaveform(operation_mode_e triggerOperatio setThirdTriggerSynchronizationGap(1); break; - case TT_TOOTHED_WHEEL_60_2: + case trigger_type_e::TT_TOOTHED_WHEEL_60_2: initializeSkippedToothTrigger(this, 60, 2, triggerOperationMode, SyncEdge::RiseOnly); break; - case TT_TOOTHED_WHEEL_36_2: + case trigger_type_e::TT_TOOTHED_WHEEL_36_2: initializeSkippedToothTrigger(this, 36, 2, triggerOperationMode, SyncEdge::RiseOnly); setTriggerSynchronizationGap3(/*gapIndex*/0, /*from*/1.6, 3.5); setTriggerSynchronizationGap3(/*gapIndex*/1, /*from*/0.7, 1.3); // second gap is not required to synch on perfect signal but is needed to handle to reject cranking transition noise break; - case TT_60_2_VW: + case trigger_type_e::TT_60_2_VW: setVwConfiguration(this); break; - case TT_TOOTHED_WHEEL_36_1: + case trigger_type_e::TT_TOOTHED_WHEEL_36_1: initializeSkippedToothTrigger(this, 36, 1, triggerOperationMode, SyncEdge::RiseOnly); break; - case TT_VVT_BOSCH_QUICK_START: + case trigger_type_e::TT_VVT_BOSCH_QUICK_START: configureQuickStartSenderWheel(this); break; - case TT_VVT_BARRA_3_PLUS_1: + case trigger_type_e::TT_VVT_BARRA_3_PLUS_1: configureBarra3plus1cam(this); break; - case TT_HONDA_K_CAM_4_1: + case trigger_type_e::TT_HONDA_K_CAM_4_1: configureHondaK_4_1(this); break; - case TT_HONDA_K_CRANK_12_1: + case trigger_type_e::TT_HONDA_K_CRANK_12_1: configureHondaK_12_1(this); break; - case TT_SUBARU_EZ30: + case trigger_type_e::TT_SUBARU_EZ30: initializeSubaruEZ30(this); break; - case TT_VVT_MAZDA_SKYACTIV: + case trigger_type_e::TT_VVT_MAZDA_SKYACTIV: initializeMazdaSkyactivCam(this); break; - case TT_BENELLI_TRE: + case trigger_type_e::TT_BENELLI_TRE: configureBenelli(this); break; - case TT_MITSU_4G63_CAM: + case trigger_type_e::TT_MITSU_4G63_CAM: initializeMitsubishi4g63Cam(this); break; - case TT_MITSU_4G9x_CAM: + case trigger_type_e::TT_MITSU_4G9x_CAM: initializeMitsubishi4g9xCam(this); break; - case TT_1_16: + case trigger_type_e::TT_1_16: configureOnePlus16(this); break; - case TT_HONDA_CBR_600: + case trigger_type_e::TT_HONDA_CBR_600: configureHondaCbr600(this); break; - case TT_CHRYSLER_NGC_36_2_2: + case trigger_type_e::TT_CHRYSLER_NGC_36_2_2: configureChryslerNGC_36_2_2(this); break; - case TT_MITSUBISHI_4G93: + case trigger_type_e::TT_MITSUBISHI_4G93: initializeMitsubishi4G93(this); break; - case TT_DODGE_RAM: + case trigger_type_e::TT_DODGE_RAM: initDodgeRam(this); break; - case TT_JEEP_4_CYL: + case trigger_type_e::TT_JEEP_4_CYL: initJeep_XJ_4cyl_2500(this); break; - case TT_JEEP_18_2_2_2: + case trigger_type_e::TT_JEEP_18_2_2_2: initJeep18_2_2_2(this); break; - case TT_SUBARU_7_6: + case trigger_type_e::TT_SUBARU_7_6: initializeSubaru7_6(this); break; - case TT_36_2_2_2: + case trigger_type_e::TT_36_2_2_2: initialize36_2_2_2(this); break; - case TT_2JZ_3_34: + case trigger_type_e::TT_2JZ_3_34: initialize2jzGE3_34_simulation_shape(this); break; - case TT_12_TOOTH_CRANK: + case trigger_type_e::TT_12_TOOTH_CRANK: configure12ToothCrank(this); break; - case TT_NISSAN_SR20VE: + case trigger_type_e::TT_NISSAN_SR20VE: initializeNissanSR20VE_4(this); break; - case TT_ROVER_K: + case trigger_type_e::TT_ROVER_K: initializeRoverK(this); break; - case TT_FIAT_IAW_P8: + case trigger_type_e::TT_FIAT_IAW_P8: configureFiatIAQ_P8(this); break; - case TT_TRI_TACH: + case trigger_type_e::TT_TRI_TACH: configureTriTach(this); break; - case TT_GM_24x: + case trigger_type_e::TT_GM_24x: initGmLS24_5deg(this); break; - case TT_GM_24x_2: + case trigger_type_e::TT_GM_24x_2: initGmLS24_3deg(this); break; - case TT_SUBARU_7_WITHOUT_6: + case trigger_type_e::TT_SUBARU_7_WITHOUT_6: initializeSubaruOnly7(this); break; - case TT_SUBARU_SVX: + case trigger_type_e::TT_SUBARU_SVX: initializeSubaru_SVX(this); break; - case TT_SUBARU_SVX_CRANK_1: + case trigger_type_e::TT_SUBARU_SVX_CRANK_1: initializeSubaru_SVX(this); break; - case TT_SUBARU_SVX_CAM_VVT: + case trigger_type_e::TT_SUBARU_SVX_CAM_VVT: initializeSubaru_SVX(this); break; diff --git a/firmware/controllers/trigger/trigger_central.cpp b/firmware/controllers/trigger/trigger_central.cpp index 87f096b84b..2835c30d8b 100644 --- a/firmware/controllers/trigger/trigger_central.cpp +++ b/firmware/controllers/trigger/trigger_central.cpp @@ -708,7 +708,7 @@ void triggerInfo(void) { getTrigger_type_e(engineConfiguration->trigger.type), engineConfiguration->trigger.type, getSyncEdge(TRIGGER_WAVEFORM(syncEdge)), TRIGGER_WAVEFORM(tdcPosition)); - if (engineConfiguration->trigger.type == TT_TOOTHED_WHEEL) { + if (engineConfiguration->trigger.type == trigger_type_e::TT_TOOTHED_WHEEL) { efiPrintf("total %d/skipped %d", engineConfiguration->trigger.customTotalToothCount, engineConfiguration->trigger.customSkippedToothCount); } diff --git a/firmware/controllers/trigger/trigger_decoder.cpp b/firmware/controllers/trigger/trigger_decoder.cpp index e6c49126dd..98af3ceb39 100644 --- a/firmware/controllers/trigger/trigger_decoder.cpp +++ b/firmware/controllers/trigger/trigger_decoder.cpp @@ -639,7 +639,7 @@ bool TriggerDecoderBase::isSyncPoint(const TriggerWaveform& triggerShape, trigge // Instead of detecting short/long, this logic first checks for "maybe short" and "maybe long", // then simply tests longer vs. shorter instead of absolute value. - if (triggerType == TT_MIATA_VVT) { + if (triggerType == trigger_type_e::TT_MIATA_VVT) { auto secondGap = (float)toothDurations[1] / toothDurations[2]; bool currentGapOk = isInRange(triggerShape.syncronizationRatioFrom[0], (float)triggerSyncGapRatio, triggerShape.syncronizationRatioTo[0]); diff --git a/java_tools/ConfigDefinition.jar b/java_tools/ConfigDefinition.jar index 8fd9ebc7ae1bf6e1bf0e47a2fba4e491a143abc9..1d22059c69a4980aaa8a35bb2b39900277a3bb29 100644 GIT binary patch delta 240462 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%0A)6=esB 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�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

d;+3{mi1%sTAy+;cY|)!98A4%B=- v7(aU%V0)tV7>_*jH6Rt~W^9&E(FUa0HNXgMo`5H?^EN0BW>bQ*u!Q)3LOysS diff --git a/java_tools/configuration_definition/src/main/java/com/rusefi/newparse/ParseState.java b/java_tools/configuration_definition/src/main/java/com/rusefi/newparse/ParseState.java index d89cab2e93..825612d9ac 100644 --- a/java_tools/configuration_definition/src/main/java/com/rusefi/newparse/ParseState.java +++ b/java_tools/configuration_definition/src/main/java/com/rusefi/newparse/ParseState.java @@ -83,9 +83,6 @@ public class ParseState implements DefinitionsState { if (stringValueMap == null) return null; for (Value value : stringValueMap.values()) { - if (value.isForceSize()) - continue; - if (isNumeric(value.getValue())) { valueNameById.put(value.getIntValue(), value.getName()); } else { diff --git a/java_tools/enum2string.jar b/java_tools/enum2string.jar index 8128da5789af0786e5c7dea987e48f35d9298594..168289989d75b3288120844d514676a447772ca5 100644 GIT binary patch delta 15369 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 EzA+NBN|90wbIJKJN# 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 UyfT{Az*v?qXQNW}m(BwI9|{ia+W-In delta 15790 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 diff --git a/java_tools/enum_to_string/src/main/java/com/rusefi/ToJavaEnum.java b/java_tools/enum_to_string/src/main/java/com/rusefi/ToJavaEnum.java index 606b11218d..3c6990d221 100644 --- a/java_tools/enum_to_string/src/main/java/com/rusefi/ToJavaEnum.java +++ b/java_tools/enum_to_string/src/main/java/com/rusefi/ToJavaEnum.java @@ -12,10 +12,6 @@ import java.util.List; import java.util.Map; public class ToJavaEnum { - - public static final String FORCE_2_BYTES_SIZE = "Force_2_bytes_size"; - public static final String FORCE_4_BYTES_SIZE = "Force_4_bytes_size"; - public static void main(String[] args) throws IOException { InvokeReader invokeReader = new InvokeReader(args).invoke(); String outputPath = invokeReader.getOutputPath(); @@ -61,9 +57,7 @@ public class ToJavaEnum { int index = 0; for (Value value : sorted) { int numericValue = value.getIntValueMaybeResolve(registry); - if (index != numericValue - && !value.getName().startsWith(FORCE_2_BYTES_SIZE) - && !value.getName().startsWith(FORCE_4_BYTES_SIZE)) + if (index != numericValue) throw new IllegalStateException("Got explicit ordinal " + numericValue + " instead of ordinal " + index + " in " + value); sb.append("\t" + value.getName() + ",\n"); index++; diff --git a/java_tools/enum_to_string/src/main/java/com/rusefi/VariableRegistry.java b/java_tools/enum_to_string/src/main/java/com/rusefi/VariableRegistry.java index 213d6cef14..be18f1ae3b 100644 --- a/java_tools/enum_to_string/src/main/java/com/rusefi/VariableRegistry.java +++ b/java_tools/enum_to_string/src/main/java/com/rusefi/VariableRegistry.java @@ -110,9 +110,6 @@ public class VariableRegistry { TreeMap valueNameById = new TreeMap<>(); for (Value value : stringValueMap.values()) { - if (value.isForceSize()) - continue; - if (isNumeric(value.getValue())) { valueNameById.put(value.getIntValue(), value.getName()); } else { diff --git a/java_tools/enum_to_string/src/main/java/com/rusefi/enum_reader/Value.java b/java_tools/enum_to_string/src/main/java/com/rusefi/enum_reader/Value.java index 182f2dec2f..c418bc1e9e 100644 --- a/java_tools/enum_to_string/src/main/java/com/rusefi/enum_reader/Value.java +++ b/java_tools/enum_to_string/src/main/java/com/rusefi/enum_reader/Value.java @@ -4,9 +4,6 @@ import com.rusefi.VariableRegistry; import java.util.Objects; -import static com.rusefi.ToJavaEnum.FORCE_2_BYTES_SIZE; -import static com.rusefi.ToJavaEnum.FORCE_4_BYTES_SIZE; - public class Value implements Comparable { private final String name; private final String value; @@ -16,10 +13,6 @@ public class Value implements Comparable { this.value = value; } - public boolean isForceSize() { - return getName().startsWith(FORCE_2_BYTES_SIZE) || getName().startsWith(FORCE_4_BYTES_SIZE); - } - public String getName() { return name; } diff --git a/java_tools/enum_to_string/src/test/java/com/rusefi/EnumToStringTest.java b/java_tools/enum_to_string/src/test/java/com/rusefi/EnumToStringTest.java index 86d1211f35..294c187d9f 100644 --- a/java_tools/enum_to_string/src/test/java/com/rusefi/EnumToStringTest.java +++ b/java_tools/enum_to_string/src/test/java/com/rusefi/EnumToStringTest.java @@ -26,7 +26,6 @@ public class EnumToStringTest { assertTrue(isKeyValueLine("MIN")); assertTrue(isKeyValueLine("MIN = 2,")); assertTrue(isKeyValueLine("MIN = -3,")); - assertTrue(isKeyValueLine("Force_4_bytes_size_operation_mode_e = ENUM_32_BITS,")); assertTrue(isKeyValueLine("MIN = 0x02,")); assertTrue(isKeyValueLine("MIN = 0xa2,")); assertTrue(isKeyValueLine("MIN = 0xB2,")); diff --git a/unit_tests/engine_test_helper.cpp b/unit_tests/engine_test_helper.cpp index 65eb55393b..e373b46024 100644 --- a/unit_tests/engine_test_helper.cpp +++ b/unit_tests/engine_test_helper.cpp @@ -206,7 +206,7 @@ void EngineTestHelper::fireTriggerEventsWithDuration(float durationMs) { /** * Sends specified number of rise/fall trigger events, with specified amount of time between those. * - * This is helpful for TT_ONE trigger wheel decoder and probably other decoders as well. + * This is helpful for trigger_type_e::TT_ONE trigger wheel decoder and probably other decoders as well. */ void EngineTestHelper::fireTriggerEvents2(int count, float durationMs) { for (int i = 0; i < count; i++) { @@ -388,7 +388,7 @@ void EngineTestHelper::executeUntil(int timeUs) { void setupSimpleTestEngineWithMafAndTT_ONE_trigger(EngineTestHelper *eth, injection_mode_e injectionMode) { setCamOperationMode(); - setupSimpleTestEngineWithMaf(eth, injectionMode, TT_ONE); + setupSimpleTestEngineWithMaf(eth, injectionMode, trigger_type_e::TT_ONE); } void setVerboseTrigger(bool isEnabled) { diff --git a/unit_tests/tests/actuators/test_antilag.cpp b/unit_tests/tests/actuators/test_antilag.cpp index 7d53ed7bd7..88f8383d4e 100644 --- a/unit_tests/tests/actuators/test_antilag.cpp +++ b/unit_tests/tests/actuators/test_antilag.cpp @@ -2,7 +2,7 @@ #include "fuel_math.h" TEST(Actuators, AntiLag) { - EngineTestHelper eth(TEST_ENGINE); + EngineTestHelper eth(engine_type_e::TEST_ENGINE); engineConfiguration->antiLagEnabled = true; diff --git a/unit_tests/tests/actuators/test_boost.cpp b/unit_tests/tests/actuators/test_boost.cpp index 0fa34fbfc3..d48a6d2d18 100644 --- a/unit_tests/tests/actuators/test_boost.cpp +++ b/unit_tests/tests/actuators/test_boost.cpp @@ -12,7 +12,7 @@ TEST(BoostControl, Setpoint) { EXPECT_CALL(targetMap, getValue(_, _)) .WillRepeatedly([](float xRpm, float tps) { return tps; }); - EngineTestHelper eth(TEST_ENGINE); + EngineTestHelper eth(engine_type_e::TEST_ENGINE); engineConfiguration->boostType = CLOSED_LOOP; BoostController bc; @@ -32,7 +32,7 @@ TEST(BoostControl, Setpoint) { } TEST(BoostControl, ObservePlant) { - EngineTestHelper eth(TEST_ENGINE); + EngineTestHelper eth(engine_type_e::TEST_ENGINE); BoostController bc; @@ -53,7 +53,7 @@ TEST(BoostControl, OpenLoop) { EXPECT_CALL(openMap, getValue(_, _)) .WillRepeatedly([](float xRpm, float tps) { return tps; }); - EngineTestHelper eth(TEST_ENGINE); + EngineTestHelper eth(engine_type_e::TEST_ENGINE); BoostController bc; @@ -68,7 +68,7 @@ TEST(BoostControl, OpenLoop) { } TEST(BoostControl, TestClosedLoop) { - EngineTestHelper eth(TEST_ENGINE); + EngineTestHelper eth(engine_type_e::TEST_ENGINE); BoostController bc; @@ -107,7 +107,7 @@ TEST(BoostControl, TestClosedLoop) { } TEST(BoostControl, SetOutput) { - EngineTestHelper eth(TEST_ENGINE); + EngineTestHelper eth(engine_type_e::TEST_ENGINE); engineConfiguration->isBoostControlEnabled = true; diff --git a/unit_tests/tests/actuators/test_etb.cpp b/unit_tests/tests/actuators/test_etb.cpp index d66fe18de5..d59396293c 100644 --- a/unit_tests/tests/actuators/test_etb.cpp +++ b/unit_tests/tests/actuators/test_etb.cpp @@ -21,7 +21,7 @@ using ::testing::StrictMock; TEST(etb, initializationNoPedal) { StrictMock mocks[ETB_COUNT]; - EngineTestHelper eth(TEST_ENGINE); + EngineTestHelper eth(engine_type_e::TEST_ENGINE); for (int i = 0; i < ETB_COUNT; i++) { engine->etbControllers[i] = &mocks[i]; @@ -37,7 +37,7 @@ TEST(etb, initializationNoPedal) { TEST(etb, initializationMissingThrottle) { StrictMock mocks[ETB_COUNT]; - EngineTestHelper eth(TEST_ENGINE, [](engine_configuration_s* engineConfiguration) { + EngineTestHelper eth(engine_type_e::TEST_ENGINE, [](engine_configuration_s* engineConfiguration) { engineConfiguration->etbFunctions[0] = DC_None; engineConfiguration->etbFunctions[1] = DC_None; }); @@ -63,7 +63,7 @@ TEST(etb, initializationSingleThrottle) { EXPECT_CALL(mocks[0], isEtbMode()) .WillOnce(Return(TRUE)); - EngineTestHelper eth(TEST_ENGINE, [](engine_configuration_s* engineConfiguration) { + EngineTestHelper eth(engine_type_e::TEST_ENGINE, [](engine_configuration_s* engineConfiguration) { engineConfiguration->etbFunctions[0] = DC_Throttle1; engineConfiguration->etbFunctions[1] = DC_None; }); @@ -91,7 +91,7 @@ TEST(etb, initializationSingleThrottleInSecondSlot) { EXPECT_CALL(mocks[1], isEtbMode()) .WillOnce(Return(TRUE)); - EngineTestHelper eth(TEST_ENGINE, [](engine_configuration_s* engineConfiguration) { + EngineTestHelper eth(engine_type_e::TEST_ENGINE, [](engine_configuration_s* engineConfiguration) { engineConfiguration->etbFunctions[0] = DC_None; engineConfiguration->etbFunctions[1] = DC_Throttle1; }); @@ -121,7 +121,7 @@ TEST(etb, initializationDualThrottle) { EXPECT_CALL(mocks[1], isEtbMode()) .WillOnce(Return(TRUE)); - EngineTestHelper eth(TEST_ENGINE); + EngineTestHelper eth(engine_type_e::TEST_ENGINE); for (int i = 0; i < ETB_COUNT; i++) { engine->etbControllers[i] = &mocks[i]; @@ -152,7 +152,7 @@ TEST(etb, initializationWastegate) { EXPECT_CALL(mocks[0], isEtbMode()) .WillOnce(Return(false)); - EngineTestHelper eth(TEST_ENGINE, [](engine_configuration_s* engineConfiguration) { + EngineTestHelper eth(engine_type_e::TEST_ENGINE, [](engine_configuration_s* engineConfiguration) { engineConfiguration->etbFunctions[0] = DC_Wastegate; engineConfiguration->etbFunctions[1] = DC_None; }); @@ -234,7 +234,7 @@ TEST(etb, initializationNoThrottles) { // This tests the case where you don't want an ETB, and expect everything to go fine EtbController duts[2]; - EngineTestHelper eth(TEST_ENGINE); + EngineTestHelper eth(engine_type_e::TEST_ENGINE); for (int i = 0; i < ETB_COUNT; i++) { engine->etbControllers[i] = &duts[i]; @@ -257,7 +257,7 @@ TEST(etb, initializationNoThrottles) { TEST(etb, idlePlumbing) { StrictMock mocks[ETB_COUNT]; - EngineTestHelper eth(TEST_ENGINE); + EngineTestHelper eth(engine_type_e::TEST_ENGINE); Sensor::setMockValue(SensorType::AcceleratorPedal, 50.0f, true); @@ -271,7 +271,7 @@ TEST(etb, idlePlumbing) { } TEST(etb, testSetpointOnlyPedal) { - EngineTestHelper eth(TEST_ENGINE); + EngineTestHelper eth(engine_type_e::TEST_ENGINE); EtbController etb; @@ -330,7 +330,7 @@ TEST(etb, testSetpointOnlyPedal) { } TEST(etb, setpointSecondThrottleTrim) { - EngineTestHelper eth(TEST_ENGINE); + EngineTestHelper eth(engine_type_e::TEST_ENGINE); // Mock pedal map that's just passthru pedal -> target StrictMock pedalMap; @@ -357,7 +357,7 @@ TEST(etb, setpointSecondThrottleTrim) { } TEST(etb, setpointIdle) { - EngineTestHelper eth(TEST_ENGINE); + EngineTestHelper eth(engine_type_e::TEST_ENGINE); // Use ETB for idle, but don't give it any range (yet) engineConfiguration->etbIdleThrottleRange = 0; @@ -413,7 +413,7 @@ TEST(etb, setpointIdle) { } TEST(etb, setpointRevLimit) { - EngineTestHelper eth(TEST_ENGINE); + EngineTestHelper eth(engine_type_e::TEST_ENGINE); // Configure 5000 limit start, with 750 rpm taper engineConfiguration->etbRevLimitStart = 5000; @@ -488,7 +488,7 @@ TEST(etb, setpointWastegateController) { } TEST(etb, setpointLuaAdder) { - EngineTestHelper eth(TEST_ENGINE); + EngineTestHelper eth(engine_type_e::TEST_ENGINE); // Must have TPS & PPS initialized for ETB setup Sensor::setMockValue(SensorType::Tps1Primary, 0); @@ -570,7 +570,7 @@ TEST(etb, etbTpsSensor) { } TEST(etb, setOutputInvalid) { - EngineTestHelper eth(TEST_ENGINE); + EngineTestHelper eth(engine_type_e::TEST_ENGINE); // Redundant TPS & accelerator pedal required for init Sensor::setMockValue(SensorType::Tps1Primary, 0); @@ -589,7 +589,7 @@ TEST(etb, setOutputInvalid) { } TEST(etb, setOutputValid) { - EngineTestHelper eth(TEST_ENGINE); + EngineTestHelper eth(engine_type_e::TEST_ENGINE); StrictMock motor; // Must have TPS & PPS initialized for ETB setup @@ -609,7 +609,7 @@ TEST(etb, setOutputValid) { } TEST(etb, setOutputValid2) { - EngineTestHelper eth(TEST_ENGINE); + EngineTestHelper eth(engine_type_e::TEST_ENGINE); StrictMock motor; // Must have TPS & PPS initialized for ETB setup @@ -629,7 +629,7 @@ TEST(etb, setOutputValid2) { } TEST(etb, setOutputOutOfRangeHigh) { - EngineTestHelper eth(TEST_ENGINE); + EngineTestHelper eth(engine_type_e::TEST_ENGINE); StrictMock motor; // Must have TPS & PPS initialized for ETB setup @@ -649,7 +649,7 @@ TEST(etb, setOutputOutOfRangeHigh) { } TEST(etb, setOutputOutOfRangeLow) { - EngineTestHelper eth(TEST_ENGINE); + EngineTestHelper eth(engine_type_e::TEST_ENGINE); StrictMock motor; // Must have TPS & PPS initialized for ETB setup @@ -669,7 +669,7 @@ TEST(etb, setOutputOutOfRangeLow) { } TEST(etb, setOutputPauseControl) { - EngineTestHelper eth(TEST_ENGINE); + EngineTestHelper eth(engine_type_e::TEST_ENGINE); StrictMock motor; // Must have TPS & PPS initialized for ETB setup @@ -690,7 +690,7 @@ TEST(etb, setOutputPauseControl) { } TEST(etb, setOutputLimpHome) { - EngineTestHelper eth(TEST_ENGINE); + EngineTestHelper eth(engine_type_e::TEST_ENGINE); StrictMock motor; // Must have TPS & PPS initialized for ETB setup @@ -742,7 +742,7 @@ TEST(etb, closedLoopPid) { extern int timeNowUs; TEST(etb, jamDetection) { - EngineTestHelper eth(TEST_ENGINE); + EngineTestHelper eth(engine_type_e::TEST_ENGINE); pid_s pid = {}; @@ -793,7 +793,7 @@ TEST(etb, jamDetection) { } TEST(etb, openLoopThrottle) { - EngineTestHelper eth(TEST_ENGINE); + EngineTestHelper eth(engine_type_e::TEST_ENGINE); // Redundant TPS & accelerator pedal required for init Sensor::setMockValue(SensorType::Tps1Primary, 0); @@ -815,7 +815,7 @@ TEST(etb, openLoopThrottle) { } TEST(etb, openLoopNonThrottle) { - EngineTestHelper eth(TEST_ENGINE); + EngineTestHelper eth(engine_type_e::TEST_ENGINE); // Redundant TPS & accelerator pedal required for init Sensor::setMockValue(SensorType::Tps1Primary, 0); diff --git a/unit_tests/tests/actuators/test_etb_integrated.cpp b/unit_tests/tests/actuators/test_etb_integrated.cpp index 324ea9c3a1..431168d7ad 100644 --- a/unit_tests/tests/actuators/test_etb_integrated.cpp +++ b/unit_tests/tests/actuators/test_etb_integrated.cpp @@ -24,7 +24,7 @@ static EtbController * initEtbIntegratedTest() { } TEST(etb, integrated) { - EngineTestHelper eth(TEST_ENGINE); // we have a destructor so cannot move EngineTestHelper into utility method + EngineTestHelper eth(engine_type_e::TEST_ENGINE); // we have a destructor so cannot move EngineTestHelper into utility method EtbController *etb = initEtbIntegratedTest(); Sensor::setMockValue(SensorType::AcceleratorPedalPrimary, 40); @@ -50,7 +50,7 @@ TEST(etb, integrated) { extern int timeNowUs; TEST(etb, intermittentTps) { - EngineTestHelper eth(TEST_ENGINE); // we have a destructor so cannot move EngineTestHelper into utility method + EngineTestHelper eth(engine_type_e::TEST_ENGINE); // we have a destructor so cannot move EngineTestHelper into utility method EtbController *etb = initEtbIntegratedTest(); // Tell the sensor checker that the ignition is on @@ -94,7 +94,7 @@ TEST(etb, intermittentTps) { } TEST(etb, intermittentPps) { - EngineTestHelper eth(TEST_ENGINE); // we have a destructor so cannot move EngineTestHelper into utility method + EngineTestHelper eth(engine_type_e::TEST_ENGINE); // we have a destructor so cannot move EngineTestHelper into utility method Sensor::setMockValue(SensorType::AcceleratorPedal, 10, true); EtbController *etb = initEtbIntegratedTest(); diff --git a/unit_tests/tests/actuators/test_fan_control.cpp b/unit_tests/tests/actuators/test_fan_control.cpp index cc3017f53d..0934003a44 100644 --- a/unit_tests/tests/actuators/test_fan_control.cpp +++ b/unit_tests/tests/actuators/test_fan_control.cpp @@ -3,7 +3,7 @@ #include "fan_control.h" TEST(Actuators, Fan) { - EngineTestHelper eth(TEST_ENGINE); + EngineTestHelper eth(engine_type_e::TEST_ENGINE); engineConfiguration->fanOnTemperature = 90; engineConfiguration->fanOffTemperature = 80; diff --git a/unit_tests/tests/actuators/test_fuel_pump.cpp b/unit_tests/tests/actuators/test_fuel_pump.cpp index 0562e21eb8..16a148218b 100644 --- a/unit_tests/tests/actuators/test_fuel_pump.cpp +++ b/unit_tests/tests/actuators/test_fuel_pump.cpp @@ -12,7 +12,7 @@ extern int timeNowUs; TEST(Actuators, FuelPump) { - EngineTestHelper eth(TEST_ENGINE); + EngineTestHelper eth(engine_type_e::TEST_ENGINE); FuelPumpController dut; diff --git a/unit_tests/tests/actuators/test_gppwm.cpp b/unit_tests/tests/actuators/test_gppwm.cpp index 9e33030a27..29a635f0be 100644 --- a/unit_tests/tests/actuators/test_gppwm.cpp +++ b/unit_tests/tests/actuators/test_gppwm.cpp @@ -74,7 +74,7 @@ TEST(GpPwm, OutputOnOff) { } TEST(GpPwm, TestGetOutput) { - EngineTestHelper eth(TEST_ENGINE); + EngineTestHelper eth(engine_type_e::TEST_ENGINE); GppwmChannel ch; gppwm_channel cfg; diff --git a/unit_tests/tests/actuators/test_main_relay.cpp b/unit_tests/tests/actuators/test_main_relay.cpp index eb8f60eb8e..71e098dd76 100644 --- a/unit_tests/tests/actuators/test_main_relay.cpp +++ b/unit_tests/tests/actuators/test_main_relay.cpp @@ -3,7 +3,7 @@ #include "main_relay.h" TEST(Actuators, MainRelay) { - EngineTestHelper eth(TEST_ENGINE); + EngineTestHelper eth(engine_type_e::TEST_ENGINE); MainRelayController dut; diff --git a/unit_tests/tests/actuators/test_tacho.cpp b/unit_tests/tests/actuators/test_tacho.cpp index 14470751ba..d04f318b3d 100644 --- a/unit_tests/tests/actuators/test_tacho.cpp +++ b/unit_tests/tests/actuators/test_tacho.cpp @@ -5,7 +5,7 @@ extern float getTachDuty(void); TEST(Actuators, Tachometer) { // This engine has a tach pin set - we need that - EngineTestHelper eth(FRANKENSO_MAZDA_MIATA_2003); + EngineTestHelper eth(engine_type_e::FRANKENSO_MAZDA_MIATA_2003); // We don't actually care about ign/inj at all, just tach engineConfiguration->isInjectionEnabled = false; @@ -18,7 +18,7 @@ TEST(Actuators, Tachometer) { engineConfiguration->tachPulseDurationAsDutyCycle = true; // Set predictable trigger settings - engineConfiguration->trigger.type = TT_TOOTHED_WHEEL; + engineConfiguration->trigger.type = trigger_type_e::TT_TOOTHED_WHEEL; engineConfiguration->trigger.customTotalToothCount = 8; engineConfiguration->trigger.customSkippedToothCount = 0; setCamOperationMode(); diff --git a/unit_tests/tests/actuators/test_vvt.cpp b/unit_tests/tests/actuators/test_vvt.cpp index a4b1caf201..e88fc28efd 100644 --- a/unit_tests/tests/actuators/test_vvt.cpp +++ b/unit_tests/tests/actuators/test_vvt.cpp @@ -6,7 +6,7 @@ using ::testing::StrictMock; using ::testing::Return; TEST(Vvt, TestSetPoint) { - EngineTestHelper eth(TEST_ENGINE); + EngineTestHelper eth(engine_type_e::TEST_ENGINE); // Set up a mock target map StrictMock targetMap; @@ -25,7 +25,7 @@ TEST(Vvt, TestSetPoint) { } TEST(Vvt, observePlant) { - EngineTestHelper eth(TEST_ENGINE); + EngineTestHelper eth(engine_type_e::TEST_ENGINE); engine->triggerCentral.vvtPosition[0][0] = 23; @@ -43,7 +43,7 @@ TEST(Vvt, openLoop) { } TEST(Vvt, ClosedLoopNotInverted) { - EngineTestHelper eth(TEST_ENGINE); + EngineTestHelper eth(engine_type_e::TEST_ENGINE); VvtController dut; dut.init(0, 0, 0, nullptr); @@ -58,7 +58,7 @@ TEST(Vvt, ClosedLoopNotInverted) { } TEST(Vvt, ClosedLoopInverted) { - EngineTestHelper eth(TEST_ENGINE); + EngineTestHelper eth(engine_type_e::TEST_ENGINE); VvtController dut; dut.init(0, 0, 0, nullptr); diff --git a/unit_tests/tests/ignition_injection/injection_mode_transition.cpp b/unit_tests/tests/ignition_injection/injection_mode_transition.cpp index 427f5a475e..c4b19ef995 100644 --- a/unit_tests/tests/ignition_injection/injection_mode_transition.cpp +++ b/unit_tests/tests/ignition_injection/injection_mode_transition.cpp @@ -30,7 +30,7 @@ static void doRevolution(EngineTestHelper& eth, int periodMs) { // https://github.com/rusefi/rusefi/issues/1592 TEST(fuelControl, transitionIssue1592) { - EngineTestHelper eth(TEST_ENGINE); + EngineTestHelper eth(engine_type_e::TEST_ENGINE); engine->tdcMarkEnabled = false; setupSimpleTestEngineWithMafAndTT_ONE_trigger(ð, IM_SEQUENTIAL); @@ -40,7 +40,7 @@ TEST(fuelControl, transitionIssue1592) { // This is easiest to trip on a wheel that requires sync engineConfiguration->trigger.customTotalToothCount = 6; engineConfiguration->trigger.customSkippedToothCount = 1; - eth.setTriggerType(TT_TOOTHED_WHEEL); + eth.setTriggerType(trigger_type_e::TT_TOOTHED_WHEEL); setCamOperationMode(); engineConfiguration->isFasterEngineSpinUpEnabled = true; diff --git a/unit_tests/tests/ignition_injection/test_dwell_corner_case_issue_796.cpp b/unit_tests/tests/ignition_injection/test_dwell_corner_case_issue_796.cpp index 33fcffcda4..c28dff9016 100644 --- a/unit_tests/tests/ignition_injection/test_dwell_corner_case_issue_796.cpp +++ b/unit_tests/tests/ignition_injection/test_dwell_corner_case_issue_796.cpp @@ -9,7 +9,7 @@ TEST(scheduler, dwellIssue796) { - EngineTestHelper eth(TEST_ENGINE); + EngineTestHelper eth(engine_type_e::TEST_ENGINE); setupSimpleTestEngineWithMafAndTT_ONE_trigger(ð, IM_SEQUENTIAL); eth.fireTriggerEvents2(4 /* count */ , 600 /* ms */); diff --git a/unit_tests/tests/ignition_injection/test_fuelCut.cpp b/unit_tests/tests/ignition_injection/test_fuelCut.cpp index abdeb06e85..3f8ad84b38 100644 --- a/unit_tests/tests/ignition_injection/test_fuelCut.cpp +++ b/unit_tests/tests/ignition_injection/test_fuelCut.cpp @@ -16,7 +16,7 @@ using ::testing::_; #define EXPECT_CUT() EXPECT_FLOAT_EQ(0, engine->engineState.injectionDuration) TEST(fuelCut, coasting) { - EngineTestHelper eth(TEST_ENGINE); + EngineTestHelper eth(engine_type_e::TEST_ENGINE); EXPECT_CALL(*eth.mockAirmass, getAirmass(_, _)) .WillRepeatedly(Return(AirmassResult{0.1008f, 50.0f})); @@ -131,7 +131,7 @@ TEST(fuelCut, coasting) { } TEST(fuelCut, delay) { - EngineTestHelper eth(TEST_ENGINE); + EngineTestHelper eth(engine_type_e::TEST_ENGINE); EXPECT_CALL(*eth.mockAirmass, getAirmass(_, _)) .WillRepeatedly(Return(AirmassResult{0.1008f, 50.0f})); diff --git a/unit_tests/tests/ignition_injection/test_fuel_computer.cpp b/unit_tests/tests/ignition_injection/test_fuel_computer.cpp index a22c971269..438ff3cd3b 100644 --- a/unit_tests/tests/ignition_injection/test_fuel_computer.cpp +++ b/unit_tests/tests/ignition_injection/test_fuel_computer.cpp @@ -14,7 +14,7 @@ public: }; TEST(FuelComputer, getCycleFuel) { - EngineTestHelper eth(TEST_ENGINE); + EngineTestHelper eth(engine_type_e::TEST_ENGINE); MockFuelComputer dut; @@ -30,7 +30,7 @@ TEST(FuelComputer, getCycleFuel) { } TEST(FuelComputer, FlexFuel) { - EngineTestHelper eth(TEST_ENGINE); + EngineTestHelper eth(engine_type_e::TEST_ENGINE); FuelComputer dut; diff --git a/unit_tests/tests/ignition_injection/test_fuel_map.cpp b/unit_tests/tests/ignition_injection/test_fuel_map.cpp index 7b7d94a4a6..834692afca 100644 --- a/unit_tests/tests/ignition_injection/test_fuel_map.cpp +++ b/unit_tests/tests/ignition_injection/test_fuel_map.cpp @@ -16,7 +16,7 @@ using ::testing::FloatNear; TEST(misc, testFuelMap) { printf("Setting up FORD_ASPIRE_1996\r\n"); - EngineTestHelper eth(FORD_ASPIRE_1996); + EngineTestHelper eth(engine_type_e::FORD_ASPIRE_1996); for (int i = 0; i < VBAT_INJECTOR_CURVE_SIZE; i++) { engineConfiguration->injector.battLagCorrBins[i] = i; @@ -129,7 +129,7 @@ static void configureFordAspireTriggerWaveform(TriggerWaveform * s) { TEST(misc, testAngleResolver) { printf("*************************************************** testAngleResolver\r\n"); - EngineTestHelper eth(FORD_ASPIRE_1996); + EngineTestHelper eth(engine_type_e::FORD_ASPIRE_1996); engineConfiguration->globalTriggerAngleOffset = 175; diff --git a/unit_tests/tests/ignition_injection/test_fuel_math.cpp b/unit_tests/tests/ignition_injection/test_fuel_math.cpp index 90fda2c895..07117c9967 100644 --- a/unit_tests/tests/ignition_injection/test_fuel_math.cpp +++ b/unit_tests/tests/ignition_injection/test_fuel_math.cpp @@ -10,7 +10,7 @@ using ::testing::InSequence; using ::testing::_; TEST(FuelMath, getStandardAirCharge) { - EngineTestHelper eth(TEST_ENGINE); + EngineTestHelper eth(engine_type_e::TEST_ENGINE); // Miata 1839cc 4cyl engineConfiguration->displacement = 1.839f; @@ -37,7 +37,7 @@ TEST(FuelMath, getStandardAirCharge) { } TEST(AirmassModes, AlphaNNormal) { - EngineTestHelper eth(TEST_ENGINE); + EngineTestHelper eth(engine_type_e::TEST_ENGINE); // 4 cylinder 4 liter = easy math engineConfiguration->displacement = 4.0f; engineConfiguration->cylindersCount = 4; @@ -61,7 +61,7 @@ TEST(AirmassModes, AlphaNNormal) { } TEST(AirmassModes, AlphaNFailedTps) { - EngineTestHelper eth(TEST_ENGINE); + EngineTestHelper eth(engine_type_e::TEST_ENGINE); // Shouldn't get called StrictMock veTable; @@ -78,7 +78,7 @@ TEST(AirmassModes, AlphaNFailedTps) { } TEST(AirmassModes, MafNormal) { - EngineTestHelper eth(FORD_ASPIRE_1996); + EngineTestHelper eth(engine_type_e::FORD_ASPIRE_1996); engineConfiguration->fuelAlgorithm = LM_REAL_MAF; engineConfiguration->injector.flow = 200; @@ -119,7 +119,7 @@ TEST(AirmassModes, VeOverride) { } }; - EngineTestHelper eth(TEST_ENGINE); + EngineTestHelper eth(engine_type_e::TEST_ENGINE); DummyAirmassModel dut(veTable); // Use default mode - will call with 10 @@ -148,7 +148,7 @@ TEST(AirmassModes, FallbackMap) { EXPECT_CALL(mapFallback, getValue(5678, 20)).WillOnce(Return(75)); } - EngineTestHelper eth(TEST_ENGINE); + EngineTestHelper eth(engine_type_e::TEST_ENGINE); SpeedDensityAirmass dut(veTable, mapFallback); @@ -167,7 +167,7 @@ TEST(AirmassModes, FallbackMap) { void setInjectionMode(int value); TEST(FuelMath, testDifferentInjectionModes) { - EngineTestHelper eth(TEST_ENGINE); + EngineTestHelper eth(engine_type_e::TEST_ENGINE); setupSimpleTestEngineWithMafAndTT_ONE_trigger(ð); EXPECT_CALL(*eth.mockAirmass, getAirmass(_, _)) @@ -192,7 +192,7 @@ TEST(FuelMath, testDifferentInjectionModes) { } TEST(FuelMath, deadtime) { - EngineTestHelper eth(TEST_ENGINE); + EngineTestHelper eth(engine_type_e::TEST_ENGINE); setupSimpleTestEngineWithMafAndTT_ONE_trigger(ð); @@ -212,7 +212,7 @@ TEST(FuelMath, deadtime) { } TEST(FuelMath, CylinderFuelTrim) { - EngineTestHelper eth(TEST_ENGINE); + EngineTestHelper eth(engine_type_e::TEST_ENGINE); EXPECT_CALL(*eth.mockAirmass, getAirmass(_, _)) .WillRepeatedly(Return(AirmassResult{1, 50.0f})); @@ -242,7 +242,7 @@ struct MockIdle : public MockIdleController { }; TEST(FuelMath, IdleVeTable) { - EngineTestHelper eth(TEST_ENGINE); + EngineTestHelper eth(engine_type_e::TEST_ENGINE); MockAirmass dut; diff --git a/unit_tests/tests/ignition_injection/test_fuel_wall_wetting.cpp b/unit_tests/tests/ignition_injection/test_fuel_wall_wetting.cpp index d49b64492a..858d4c4370 100644 --- a/unit_tests/tests/ignition_injection/test_fuel_wall_wetting.cpp +++ b/unit_tests/tests/ignition_injection/test_fuel_wall_wetting.cpp @@ -16,7 +16,7 @@ struct MockWallController : public IWallFuelController { }; TEST(fuel, testWallWettingEnrichmentMath) { - EngineTestHelper eth(FORD_ASPIRE_1996); + EngineTestHelper eth(engine_type_e::FORD_ASPIRE_1996); MockWallController wallController; @@ -62,12 +62,12 @@ TEST(fuel, testWallWettingEnrichmentMath) { TEST(fuel, testWallWettingEnrichmentScheduling) { - EngineTestHelper eth(FORD_ASPIRE_1996); + EngineTestHelper eth(engine_type_e::FORD_ASPIRE_1996); engineConfiguration->isFasterEngineSpinUpEnabled = false; setCrankOperationMode(); - eth.setTriggerType(TT_ONE); + eth.setTriggerType(trigger_type_e::TT_ONE); eth.fireTriggerEvents2(/* count */ 4, 25 /* ms */); diff --git a/unit_tests/tests/ignition_injection/test_ignition_scheduling.cpp b/unit_tests/tests/ignition_injection/test_ignition_scheduling.cpp index 847364b024..d1cb38929b 100644 --- a/unit_tests/tests/ignition_injection/test_ignition_scheduling.cpp +++ b/unit_tests/tests/ignition_injection/test_ignition_scheduling.cpp @@ -11,7 +11,7 @@ using ::testing::_; TEST(ignition, twoCoils) { - EngineTestHelper eth(FRANKENSO_BMW_M73_F); + EngineTestHelper eth(engine_type_e::FRANKENSO_BMW_M73_F); // let's recalculate with zero timing so that we can focus on relation advance between cylinders setArrayValues(engine->engineState.timingAdvance, 0.0f); @@ -43,7 +43,7 @@ TEST(ignition, twoCoils) { } TEST(ignition, trailingSpark) { - EngineTestHelper eth(TEST_ENGINE); + EngineTestHelper eth(engine_type_e::TEST_ENGINE); engineConfiguration->isFasterEngineSpinUpEnabled = false; /** @@ -127,7 +127,7 @@ TEST(ignition, trailingSpark) { } TEST(ignition, CylinderTimingTrim) { - EngineTestHelper eth(TEST_ENGINE); + EngineTestHelper eth(engine_type_e::TEST_ENGINE); // Base timing 15 degrees setTable(config->ignitionTable, 15); diff --git a/unit_tests/tests/ignition_injection/test_injector_model.cpp b/unit_tests/tests/ignition_injection/test_injector_model.cpp index 1ef3f43e00..67196f21b4 100644 --- a/unit_tests/tests/ignition_injection/test_injector_model.cpp +++ b/unit_tests/tests/ignition_injection/test_injector_model.cpp @@ -106,7 +106,7 @@ TEST(InjectorModel, nonLinearFordMode) { } TEST(InjectorModel, nonlinearPolynomial) { - EngineTestHelper eth(TEST_ENGINE); + EngineTestHelper eth(engine_type_e::TEST_ENGINE); InjectorModel dut; engineConfiguration->applyNonlinearBelowPulse = 10; @@ -130,7 +130,7 @@ TEST(InjectorModel, nonlinearPolynomial) { } TEST(InjectorModel, Deadtime) { - EngineTestHelper eth(TEST_ENGINE); + EngineTestHelper eth(engine_type_e::TEST_ENGINE); // Some test data in the injector correction table for (size_t i = 0; i < efi::size(engineConfiguration->injector.battLagCorr); i++) { @@ -172,7 +172,7 @@ TEST_P(FlowRateFixture, PressureRatio) { StrictMock dut; EXPECT_CALL(dut, getFuelDifferentialPressure()).WillOnce(Return(400 * pressureRatio)); - EngineTestHelper eth(TEST_ENGINE); + EngineTestHelper eth(engine_type_e::TEST_ENGINE); // Use injector compensation engineConfiguration->injectorCompensationMode = ICM_SensedRailPressure; @@ -187,7 +187,7 @@ TEST_P(FlowRateFixture, PressureRatio) { TEST(InjectorModel, NegativePressureDelta) { StrictMock dut; - EngineTestHelper eth(TEST_ENGINE); + EngineTestHelper eth(engine_type_e::TEST_ENGINE); // Use injector compensation engineConfiguration->injectorCompensationMode = ICM_SensedRailPressure; @@ -204,7 +204,7 @@ TEST(InjectorModel, NegativePressureDelta) { TEST(InjectorModel, VariableInjectorFlowModeNone) { StrictMock dut; - EngineTestHelper eth(TEST_ENGINE); + EngineTestHelper eth(engine_type_e::TEST_ENGINE); engineConfiguration->injectorCompensationMode = ICM_None; @@ -215,7 +215,7 @@ TEST(InjectorModel, VariableInjectorFlowModeNone) { TEST(InjectorModel, RailPressureFixed) { InjectorModel dut; - EngineTestHelper eth(TEST_ENGINE); + EngineTestHelper eth(engine_type_e::TEST_ENGINE); // Reference pressure is 350kpa engineConfiguration->fuelReferencePressure = 350; @@ -234,7 +234,7 @@ TEST(InjectorModel, RailPressureFixed) { TEST(InjectorModel, RailPressureSensedAbsolute) { InjectorModel dut; - EngineTestHelper eth(TEST_ENGINE); + EngineTestHelper eth(engine_type_e::TEST_ENGINE); // Reference pressure is 350kpa engineConfiguration->injectorCompensationMode = ICM_SensedRailPressure; @@ -254,7 +254,7 @@ TEST(InjectorModel, RailPressureSensedAbsolute) { TEST(InjectorModel, RailPressureSensedGauge) { InjectorModel dut; - EngineTestHelper eth(TEST_ENGINE); + EngineTestHelper eth(engine_type_e::TEST_ENGINE); // Reference pressure is 350kpa engineConfiguration->injectorCompensationMode = ICM_SensedRailPressure; @@ -275,7 +275,7 @@ TEST(InjectorModel, RailPressureSensedGauge) { TEST(InjectorModel, RailPressureSensedDifferential) { InjectorModel dut; - EngineTestHelper eth(TEST_ENGINE); + EngineTestHelper eth(engine_type_e::TEST_ENGINE); // Reference pressure is 350kpa engineConfiguration->injectorCompensationMode = ICM_SensedRailPressure; @@ -293,7 +293,7 @@ TEST(InjectorModel, RailPressureSensedDifferential) { TEST(InjectorModel, FailedPressureSensor) { InjectorModel dut; - EngineTestHelper eth(TEST_ENGINE); + EngineTestHelper eth(engine_type_e::TEST_ENGINE); // Reference pressure is 350kpa engineConfiguration->injectorCompensationMode = ICM_SensedRailPressure; @@ -311,7 +311,7 @@ TEST(InjectorModel, FailedPressureSensor) { TEST(InjectorModel, MissingPressureSensor) { InjectorModel dut; - EngineTestHelper eth(TEST_ENGINE); + EngineTestHelper eth(engine_type_e::TEST_ENGINE); // Reference pressure is 350kpa engineConfiguration->injectorCompensationMode = ICM_SensedRailPressure; diff --git a/unit_tests/tests/ignition_injection/test_multispark.cpp b/unit_tests/tests/ignition_injection/test_multispark.cpp index ef84a8479f..7c86025797 100644 --- a/unit_tests/tests/ignition_injection/test_multispark.cpp +++ b/unit_tests/tests/ignition_injection/test_multispark.cpp @@ -9,7 +9,7 @@ #include "advance_map.h" TEST(Multispark, DefaultConfiguration) { - EngineTestHelper eth(TEST_ENGINE); + EngineTestHelper eth(engine_type_e::TEST_ENGINE); EXPECT_EQ(0, getMultiSparkCount(0 )); EXPECT_EQ(0, getMultiSparkCount(100 )); @@ -37,7 +37,7 @@ static void multisparkCfg() { } TEST(Multispark, EnabledNoMaxRpm) { - EngineTestHelper eth(TEST_ENGINE); + EngineTestHelper eth(engine_type_e::TEST_ENGINE); multisparkCfg(); @@ -62,7 +62,7 @@ TEST(Multispark, EnabledNoMaxRpm) { } TEST(Multispark, RpmLimit) { - EngineTestHelper eth(TEST_ENGINE); + EngineTestHelper eth(engine_type_e::TEST_ENGINE); multisparkCfg(); diff --git a/unit_tests/tests/ignition_injection/test_one_cylinder_logic.cpp b/unit_tests/tests/ignition_injection/test_one_cylinder_logic.cpp index 1e3f29f0ee..6293a87ad5 100644 --- a/unit_tests/tests/ignition_injection/test_one_cylinder_logic.cpp +++ b/unit_tests/tests/ignition_injection/test_one_cylinder_logic.cpp @@ -7,7 +7,7 @@ #include "spark_logic.h" TEST(issues, issueOneCylinderSpecialCase968) { - EngineTestHelper eth(GY6_139QMB); + EngineTestHelper eth(engine_type_e::GY6_139QMB); setTable(config->injectionPhase, -180.0f); engineConfiguration->isFasterEngineSpinUpEnabled = false; engine->tdcMarkEnabled = false; @@ -16,7 +16,7 @@ TEST(issues, issueOneCylinderSpecialCase968) { setCrankOperationMode(); - eth.setTriggerType(TT_ONE); + eth.setTriggerType(trigger_type_e::TT_ONE); ASSERT_EQ( 0, engine->executor.size()) << "start"; diff --git a/unit_tests/tests/ignition_injection/test_startOfCrankingPrimingPulse.cpp b/unit_tests/tests/ignition_injection/test_startOfCrankingPrimingPulse.cpp index 55219400da..931ca6c9db 100644 --- a/unit_tests/tests/ignition_injection/test_startOfCrankingPrimingPulse.cpp +++ b/unit_tests/tests/ignition_injection/test_startOfCrankingPrimingPulse.cpp @@ -8,7 +8,7 @@ #include "pch.h" TEST(engine, testPlainCrankingWithoutAdvancedFeatures) { - EngineTestHelper eth(TEST_ENGINE); + EngineTestHelper eth(engine_type_e::TEST_ENGINE); setTable(config->injectionPhase, -180.0f); engineConfiguration->isFasterEngineSpinUpEnabled = false; engine->tdcMarkEnabled = false; @@ -34,7 +34,7 @@ TEST(engine, testPlainCrankingWithoutAdvancedFeatures) { TEST(priming, startScheduling) { - EngineTestHelper eth(TEST_ENGINE); + EngineTestHelper eth(engine_type_e::TEST_ENGINE); ASSERT_EQ( 0, Sensor::getOrZero(SensorType::Rpm)) << "RPM=0"; @@ -45,7 +45,7 @@ TEST(priming, startScheduling) { } TEST(priming, duration) { - EngineTestHelper eth(TEST_ENGINE); + EngineTestHelper eth(engine_type_e::TEST_ENGINE); MockInjectorModel2 injectorModel; engine->module().set(&injectorModel); diff --git a/unit_tests/tests/lua/test_lookup.cpp b/unit_tests/tests/lua/test_lookup.cpp index 32a5ee8fbc..2f27c0e48d 100644 --- a/unit_tests/tests/lua/test_lookup.cpp +++ b/unit_tests/tests/lua/test_lookup.cpp @@ -2,7 +2,7 @@ #include "value_lookup.h" TEST(LuaBasic, configLookup) { - EngineTestHelper eth(FORD_ESCORT_GT); + EngineTestHelper eth(engine_type_e::FORD_ESCORT_GT); { const char * name = "ignitionDwellForCrankingMs"; setConfigValueByName(name, 1.6); diff --git a/unit_tests/tests/lua/test_lua_hooks.cpp b/unit_tests/tests/lua/test_lua_hooks.cpp index e18c2471c4..10388b960a 100644 --- a/unit_tests/tests/lua/test_lua_hooks.cpp +++ b/unit_tests/tests/lua/test_lua_hooks.cpp @@ -23,7 +23,7 @@ TEST(LuaHooks, TestCrc8) { } TEST(LuaHooks, TestGetCalibration) { - EngineTestHelper eth(TEST_ENGINE); + EngineTestHelper eth(engine_type_e::TEST_ENGINE); const char* sourceCode = R"( function testFunc() @@ -35,7 +35,7 @@ TEST(LuaHooks, TestGetCalibration) { } TEST(LuaHooks, TestSetCalibration) { - EngineTestHelper eth(TEST_ENGINE); + EngineTestHelper eth(engine_type_e::TEST_ENGINE); const char* sourceCode = R"( function testFunc() @@ -92,7 +92,7 @@ TEST(LuaHooks, Table3d) { end )"; - EngineTestHelper eth(TEST_ENGINE); + EngineTestHelper eth(engine_type_e::TEST_ENGINE); setTable(config->scriptTable2, (uint8_t)33); EXPECT_EQ(testLuaReturnsNumber(tableTest), 33); diff --git a/unit_tests/tests/lua/test_lua_vin.cpp b/unit_tests/tests/lua/test_lua_vin.cpp index 14f862d403..79527e883e 100644 --- a/unit_tests/tests/lua/test_lua_vin.cpp +++ b/unit_tests/tests/lua/test_lua_vin.cpp @@ -9,7 +9,7 @@ TEST(LuaVin, Test) { - EngineTestHelper eth(TEST_CRANK_ENGINE); + EngineTestHelper eth(engine_type_e::TEST_CRANK_ENGINE); strcpy(engineConfiguration->vinNumber, "GM123"); diff --git a/unit_tests/tests/lua/test_lua_with_engine.cpp b/unit_tests/tests/lua/test_lua_with_engine.cpp index 769e59a319..37b31919fe 100644 --- a/unit_tests/tests/lua/test_lua_with_engine.cpp +++ b/unit_tests/tests/lua/test_lua_with_engine.cpp @@ -19,7 +19,7 @@ end )"; TEST(LuaHooks, TestCurve) { - EngineTestHelper eth(TEST_ENGINE); + EngineTestHelper eth(engine_type_e::TEST_ENGINE); strcpy(engineConfiguration->scriptCurveName[3], "hello"); setLinearCurve(config->scriptCurve4, 500, 600, 1); diff --git a/unit_tests/tests/sensor/test_frequency_sensor.cpp b/unit_tests/tests/sensor/test_frequency_sensor.cpp index 66248ce5b6..83d3dfc17e 100644 --- a/unit_tests/tests/sensor/test_frequency_sensor.cpp +++ b/unit_tests/tests/sensor/test_frequency_sensor.cpp @@ -50,7 +50,7 @@ public: */ TEST_F(FrequencySensorTest, testValidWithPwm) { ASSERT_TRUE(dut.Register()); - EngineTestHelper eth(TEST_ENGINE); + EngineTestHelper eth(engine_type_e::TEST_ENGINE); // Should be invalid - not set yet { diff --git a/unit_tests/tests/sensor/test_sensor_init.cpp b/unit_tests/tests/sensor/test_sensor_init.cpp index 8ff49b29e9..f455c5689b 100644 --- a/unit_tests/tests/sensor/test_sensor_init.cpp +++ b/unit_tests/tests/sensor/test_sensor_init.cpp @@ -24,7 +24,7 @@ static void postToFuncSensor(Sensor* s, float value) { } TEST(SensorInit, Tps) { - EngineTestHelper eth(TEST_ENGINE); + EngineTestHelper eth(engine_type_e::TEST_ENGINE); engineConfiguration->tpsMin = 200; // 1 volt engineConfiguration->tpsMax = 800; // 4 volts @@ -50,7 +50,7 @@ TEST(SensorInit, Tps) { } TEST(SensorInit, TpsValuesTooClose) { - EngineTestHelper eth(TEST_ENGINE); + EngineTestHelper eth(engine_type_e::TEST_ENGINE); // Should fail, 0.49 volts apart engineConfiguration->tpsMin = 200; // 1.00 volt @@ -97,7 +97,7 @@ TEST(SensorInit, TpsValuesTooClose) { } TEST(SensorInit, Pedal) { - EngineTestHelper eth(TEST_ENGINE); + EngineTestHelper eth(engine_type_e::TEST_ENGINE); engineConfiguration->throttlePedalPositionAdcChannel = EFI_ADC_0; engineConfiguration->throttlePedalUpVoltage = 1; @@ -124,7 +124,7 @@ TEST(SensorInit, Pedal) { } TEST(SensorInit, DriverIntentNoPedal) { - EngineTestHelper eth(TEST_ENGINE); + EngineTestHelper eth(engine_type_e::TEST_ENGINE); // We have no pedal - so we should get the TPS engineConfiguration->throttlePedalPositionAdcChannel = EFI_ADC_NONE; @@ -145,7 +145,7 @@ TEST(SensorInit, DriverIntentNoPedal) { TEST(SensorInit, DriverIntentWithPedal) { - EngineTestHelper eth(TEST_ENGINE); + EngineTestHelper eth(engine_type_e::TEST_ENGINE); // We have a pedal, so we should get it engineConfiguration->throttlePedalPositionAdcChannel = EFI_ADC_0; @@ -164,7 +164,7 @@ TEST(SensorInit, DriverIntentWithPedal) { } TEST(SensorInit, OilPressure) { - EngineTestHelper eth(TEST_ENGINE); + EngineTestHelper eth(engine_type_e::TEST_ENGINE); engineConfiguration->oilPressure.hwChannel = EFI_ADC_0; engineConfiguration->oilPressure.v1 = 1; @@ -189,7 +189,7 @@ TEST(SensorInit, OilPressure) { } TEST(SensorInit, Clt) { - EngineTestHelper eth(TEST_ENGINE); + EngineTestHelper eth(engine_type_e::TEST_ENGINE); // 2003 neon sensor engineConfiguration->clt.config = {0, 30, 100, 32500, 7550, 700, 2700}; @@ -212,7 +212,7 @@ TEST(SensorInit, Clt) { } TEST(SensorInit, Lambda) { - EngineTestHelper eth(TEST_ENGINE); + EngineTestHelper eth(engine_type_e::TEST_ENGINE); // No channel -> no sensor initLambda(); @@ -233,7 +233,7 @@ TEST(SensorInit, Lambda) { } TEST(SensorInit, Map) { - EngineTestHelper eth(TEST_ENGINE); + EngineTestHelper eth(engine_type_e::TEST_ENGINE); engineConfiguration->map.sensor.hwChannel = EFI_ADC_4; initMap(); diff --git a/unit_tests/tests/sensor/test_turbocharger_speed_converter.cpp b/unit_tests/tests/sensor/test_turbocharger_speed_converter.cpp index 4c2fdbe2ff..695727301c 100644 --- a/unit_tests/tests/sensor/test_turbocharger_speed_converter.cpp +++ b/unit_tests/tests/sensor/test_turbocharger_speed_converter.cpp @@ -1,7 +1,7 @@ #include "pch.h" #include "turbocharger_speed_converter.h" -static constexpr engine_type_e ENGINE_TEST_HELPER = TEST_ENGINE; +static constexpr engine_type_e ENGINE_TEST_HELPER = engine_type_e::TEST_ENGINE; class TurbochargerSpeedConverterTest : public ::testing::Test { diff --git a/unit_tests/tests/sensor/test_vehicle_speed_converter.cpp b/unit_tests/tests/sensor/test_vehicle_speed_converter.cpp index 46cd8e86a5..be3e717784 100644 --- a/unit_tests/tests/sensor/test_vehicle_speed_converter.cpp +++ b/unit_tests/tests/sensor/test_vehicle_speed_converter.cpp @@ -3,7 +3,7 @@ float GetVssFor(float revPerKm, float axle, float teeth, float hz) { - EngineTestHelper eth(TEST_ENGINE); + EngineTestHelper eth(engine_type_e::TEST_ENGINE); VehicleSpeedConverter dut; diff --git a/unit_tests/tests/test_accel_enrichment.cpp b/unit_tests/tests/test_accel_enrichment.cpp index d4cca79a32..e2b4458d62 100644 --- a/unit_tests/tests/test_accel_enrichment.cpp +++ b/unit_tests/tests/test_accel_enrichment.cpp @@ -15,7 +15,7 @@ TEST(fuel, testTpsAccelEnrichmentMath) { printf("====================================================================================== testAccelEnrichment\r\n"); - EngineTestHelper eth(FORD_ASPIRE_1996); + EngineTestHelper eth(engine_type_e::FORD_ASPIRE_1996); engine->rpmCalculator.setRpmValue(600); engine->periodicFastCallback(); @@ -40,14 +40,14 @@ TEST(fuel, testTpsAccelEnrichmentMath) { } TEST(fuel, testTpsAccelEnrichmentScheduling) { - EngineTestHelper eth(FORD_ASPIRE_1996); + EngineTestHelper eth(engine_type_e::FORD_ASPIRE_1996); setCrankOperationMode(); engineConfiguration->tpsAccelEnrichmentThreshold = 5; engineConfiguration->tpsAccelLookback = 2; - eth.setTriggerType(TT_ONE); + eth.setTriggerType(trigger_type_e::TT_ONE); Sensor::setMockValue(SensorType::Tps1, 0); @@ -97,7 +97,7 @@ static void doFractionalTpsIteration(int period, int divisor, int numCycles, std TEST(fuel, testAccelEnrichmentFractionalTps) { printf("====================================================================================== testAccelEnrichmentFractionalTps\r\n"); - EngineTestHelper eth(FORD_ASPIRE_1996); + EngineTestHelper eth(engine_type_e::FORD_ASPIRE_1996); // setup engineConfiguration->tpsAccelEnrichmentThreshold = 5; diff --git a/unit_tests/tests/test_can_serial.cpp b/unit_tests/tests/test_can_serial.cpp index 03f69ce281..53b434d0f0 100644 --- a/unit_tests/tests/test_can_serial.cpp +++ b/unit_tests/tests/test_can_serial.cpp @@ -55,7 +55,7 @@ public: TestCanStreamerState() : CanStreamerState(&streamer) {} void test(const std::vector & dataList, const std::vector & frames, int fifoLeftoverSize, const std::vector & receiveChunks) { - EngineTestHelper eth(TEST_ENGINE); + EngineTestHelper eth(engine_type_e::TEST_ENGINE); size_t totalSize = 0; std::string totalData; diff --git a/unit_tests/tests/test_can_wideband.cpp b/unit_tests/tests/test_can_wideband.cpp index d7a360f736..370dfe7b42 100644 --- a/unit_tests/tests/test_can_wideband.cpp +++ b/unit_tests/tests/test_can_wideband.cpp @@ -99,7 +99,7 @@ TEST(CanWideband, DecodeValidAemFormat) { TEST(CanWideband, DecodeRusefiStandard) { - EngineTestHelper eth(TEST_ENGINE); + EngineTestHelper eth(engine_type_e::TEST_ENGINE); AemXSeriesWideband dut(0, SensorType::Lambda1); dut.Register(); @@ -139,7 +139,7 @@ TEST(CanWideband, DecodeRusefiStandard) TEST(CanWideband, DecodeRusefiStandardWrongVersion) { - EngineTestHelper eth(TEST_ENGINE); + EngineTestHelper eth(engine_type_e::TEST_ENGINE); AemXSeriesWideband dut(0, SensorType::Lambda1); dut.Register(); diff --git a/unit_tests/tests/test_change_engine_type.cpp b/unit_tests/tests/test_change_engine_type.cpp index 65d6f40218..f93b191b79 100644 --- a/unit_tests/tests/test_change_engine_type.cpp +++ b/unit_tests/tests/test_change_engine_type.cpp @@ -13,7 +13,7 @@ TEST(misc, changeEngineType) { /** * this configuration has triggerInputDebugPins defined */ - EngineTestHelper eth (FORD_ASPIRE_1996); + EngineTestHelper eth(engine_type_e::FORD_ASPIRE_1996); brain_pin_e brainPin = engineConfiguration->triggerInputDebugPins[0]; ASSERT_TRUE(brainPin != Gpio::Unassigned); @@ -25,7 +25,7 @@ TEST(misc, changeEngineType) { // above we have asserted that triggerInputDebugPins is in fact used // now let's change into engine type without triggerInputDebugPins and assert shut down - setEngineType((int)CITROEN_TU3JP); + setEngineType(engine_type_e::CITROEN_TU3JP); ASSERT_TRUE(activeConfiguration.triggerInputDebugPins[0] == Gpio::Unassigned); ASSERT_TRUE(engineConfiguration->triggerInputDebugPins[0] == Gpio::Unassigned); diff --git a/unit_tests/tests/test_dynoview.cpp b/unit_tests/tests/test_dynoview.cpp index 7337a3f478..08b0aa01b7 100644 --- a/unit_tests/tests/test_dynoview.cpp +++ b/unit_tests/tests/test_dynoview.cpp @@ -17,7 +17,7 @@ void printResults(DynoView *dut) { TEST(DynoView, VSS_T1) { - EngineTestHelper eth(TEST_ENGINE); + EngineTestHelper eth(engine_type_e::TEST_ENGINE); DynoView dut; @@ -36,7 +36,7 @@ TEST(DynoView, VSS_T1) { } TEST(DynoView, algo) { - EngineTestHelper eth(TEST_ENGINE); + EngineTestHelper eth(engine_type_e::TEST_ENGINE); DynoView dut; @@ -60,7 +60,7 @@ TEST(DynoView, algo) { } TEST(DynoView, VSS_fast) { - EngineTestHelper eth(TEST_ENGINE); + EngineTestHelper eth(engine_type_e::TEST_ENGINE); DynoView dut; @@ -83,7 +83,7 @@ TEST(DynoView, VSS_fast) { TEST(DynoView, VSS_Torque) { - EngineTestHelper eth(TEST_ENGINE); + EngineTestHelper eth(engine_type_e::TEST_ENGINE); DynoView dut; diff --git a/unit_tests/tests/test_engine_math.cpp b/unit_tests/tests/test_engine_math.cpp index 313c3ca75b..f9d83adcc9 100644 --- a/unit_tests/tests/test_engine_math.cpp +++ b/unit_tests/tests/test_engine_math.cpp @@ -13,7 +13,7 @@ TEST(misc, testIgnitionPlanning) { printf("*************************************************** testIgnitionPlanning\r\n"); - EngineTestHelper eth(FORD_ESCORT_GT); + EngineTestHelper eth(engine_type_e::FORD_ESCORT_GT); engine->periodicFastCallback(); assertEqualsM("testIgnitionPlanning_AFR", 13.5, engine->fuelComputer.targetAFR); @@ -25,7 +25,7 @@ TEST(misc, testEngineMath) { printf("*************************************************** testEngineMath\r\n"); // todo: let's see if we can make 'engine' unneeded in this test? - EngineTestHelper eth(FORD_ESCORT_GT); + EngineTestHelper eth(engine_type_e::FORD_ESCORT_GT); setCamOperationMode(); engineConfiguration->fuelAlgorithm = LM_SPEED_DENSITY; diff --git a/unit_tests/tests/test_gear_detector.cpp b/unit_tests/tests/test_gear_detector.cpp index b028dd1ffc..c5ca7cf87f 100644 --- a/unit_tests/tests/test_gear_detector.cpp +++ b/unit_tests/tests/test_gear_detector.cpp @@ -1,7 +1,7 @@ #include "pch.h" float GetGearRatioFor(float revPerKm, float axle, float kph, float rpm) { - EngineTestHelper eth(TEST_ENGINE); + EngineTestHelper eth(engine_type_e::TEST_ENGINE); engineConfiguration->driveWheelRevPerKm = revPerKm; engineConfiguration->finalGearRatio = axle; @@ -29,7 +29,7 @@ TEST(GearDetector, ComputeGearRatio) { TEST(GearDetector, GetRpmInGear) { - EngineTestHelper eth(TEST_ENGINE); + EngineTestHelper eth(engine_type_e::TEST_ENGINE); engineConfiguration->driveWheelRevPerKm = 507; engineConfiguration->finalGearRatio = 4.10f; @@ -68,7 +68,7 @@ TEST(GearDetector, GetRpmInGear) { } TEST(GearDetector, DetermineGearSingleSpeed) { - EngineTestHelper eth(TEST_ENGINE); + EngineTestHelper eth(engine_type_e::TEST_ENGINE); auto& dut = engine->module().unmock(); engineConfiguration->totalGearsCount = 1; @@ -92,7 +92,7 @@ TEST(GearDetector, DetermineGearSingleSpeed) { } TEST(GearDetector, DetermineGear5Speed) { - EngineTestHelper eth(TEST_ENGINE); + EngineTestHelper eth(engine_type_e::TEST_ENGINE); auto& dut = engine->module().unmock(); engineConfiguration->totalGearsCount = 5; @@ -136,7 +136,7 @@ TEST(GearDetector, DetermineGear5Speed) { } TEST(GearDetector, MiataNb6Speed) { - EngineTestHelper eth(TEST_ENGINE); + EngineTestHelper eth(engine_type_e::TEST_ENGINE); auto& dut = engine->module().unmock(); engineConfiguration->totalGearsCount = 6; @@ -164,7 +164,7 @@ TEST(GearDetector, MiataNb6Speed) { } TEST(GearDetector, DetermineGear8Speed) { - EngineTestHelper eth(TEST_ENGINE); + EngineTestHelper eth(engine_type_e::TEST_ENGINE); auto& dut = engine->module().unmock(); // ZF 8HP 70 @@ -203,7 +203,7 @@ TEST(GearDetector, DetermineGear8Speed) { } TEST(GearDetector, ParameterValidation) { - EngineTestHelper eth(TEST_ENGINE); + EngineTestHelper eth(engine_type_e::TEST_ENGINE); auto& dut = engine->module().unmock(); // Defaults should work diff --git a/unit_tests/tests/test_gpio.cpp b/unit_tests/tests/test_gpio.cpp index 47f0b7d4d5..889a543ae0 100644 --- a/unit_tests/tests/test_gpio.cpp +++ b/unit_tests/tests/test_gpio.cpp @@ -1,7 +1,7 @@ #include "pch.h" TEST(gpio, testPinInitNonInverted) { - EngineTestHelper eth(TEST_ENGINE); + EngineTestHelper eth(engine_type_e::TEST_ENGINE); OutputPin dut; @@ -16,7 +16,7 @@ TEST(gpio, testPinInitNonInverted) { } TEST(gpio, testPinInitInverted) { - EngineTestHelper eth(TEST_ENGINE); + EngineTestHelper eth(engine_type_e::TEST_ENGINE); OutputPin dut; diff --git a/unit_tests/tests/test_hardware_reinit.cpp b/unit_tests/tests/test_hardware_reinit.cpp index b658029e2d..f0f92591be 100644 --- a/unit_tests/tests/test_hardware_reinit.cpp +++ b/unit_tests/tests/test_hardware_reinit.cpp @@ -1,7 +1,7 @@ #include "pch.h" TEST(hardware, reinit) { - EngineTestHelper eth(FRANKENSO_MIATA_NA6_MAP); + EngineTestHelper eth(engine_type_e::FRANKENSO_MIATA_NA6_MAP); ButtonDebounce::stopConfigurationList(); ButtonDebounce::startConfigurationList(); @@ -10,6 +10,6 @@ TEST(hardware, reinit) { ButtonDebounce::startConfigurationList(); - resetConfigurationExt(nullptr, DODGE_NEON_1995); - resetConfigurationExt(nullptr, FRANKENSO_MIATA_NA6_MAP); + resetConfigurationExt(nullptr, engine_type_e::DODGE_NEON_1995); + resetConfigurationExt(nullptr, engine_type_e::FRANKENSO_MIATA_NA6_MAP); } diff --git a/unit_tests/tests/test_hpfp.cpp b/unit_tests/tests/test_hpfp.cpp index e1f5853c4b..bd3b6f92ca 100755 --- a/unit_tests/tests/test_hpfp.cpp +++ b/unit_tests/tests/test_hpfp.cpp @@ -7,7 +7,7 @@ using ::testing::_; using ::testing::StrictMock; TEST(HPFP, Lobe) { - EngineTestHelper eth(TEST_ENGINE); + EngineTestHelper eth(engine_type_e::TEST_ENGINE); engineConfiguration->hpfpCam = HPFP_CAM_NONE; engineConfiguration->hpfpPeakPos = 123; @@ -51,7 +51,7 @@ TEST(HPFP, Lobe) { } TEST(HPFP, InjectionReplacementFuel) { - EngineTestHelper eth(TEST_ENGINE); + EngineTestHelper eth(engine_type_e::TEST_ENGINE); engineConfiguration->cylindersCount = 4; engineConfiguration->hpfpCamLobes = 4; @@ -104,7 +104,7 @@ TEST(HPFP, InjectionReplacementFuel) { } TEST(HPFP, PI) { - EngineTestHelper eth(TEST_ENGINE); + EngineTestHelper eth(engine_type_e::TEST_ENGINE); engineConfiguration->cylindersCount = 4; engineConfiguration->hpfpCamLobes = 4; @@ -161,7 +161,7 @@ TEST(HPFP, PI) { } TEST(HPFP, Angle) { - EngineTestHelper eth(TEST_ENGINE); + EngineTestHelper eth(engine_type_e::TEST_ENGINE); engineConfiguration->cylindersCount = 4; engineConfiguration->hpfpCamLobes = 4; @@ -207,7 +207,7 @@ TEST(HPFP, Angle) { } TEST(HPFP, Schedule) { - EngineTestHelper eth(TEST_ENGINE); + EngineTestHelper eth(engine_type_e::TEST_ENGINE); engineConfiguration->cylindersCount = 4; engineConfiguration->hpfpCamLobes = 4; diff --git a/unit_tests/tests/test_hpfp_integrated.cpp b/unit_tests/tests/test_hpfp_integrated.cpp index b415d9b6a9..fcdb18131c 100644 --- a/unit_tests/tests/test_hpfp_integrated.cpp +++ b/unit_tests/tests/test_hpfp_integrated.cpp @@ -8,7 +8,7 @@ #include "pch.h" TEST(HPFP, IntegratedSchedule) { - EngineTestHelper eth(TEST_ENGINE, [](engine_configuration_s* engineConfiguration) { + EngineTestHelper eth(engine_type_e::TEST_ENGINE, [](engine_configuration_s* engineConfiguration) { engineConfiguration->hpfpValvePin = Gpio::A2; // arbitrary }); @@ -19,7 +19,7 @@ TEST(HPFP, IntegratedSchedule) { engineConfiguration->trigger.customTotalToothCount = 16; engineConfiguration->trigger.customSkippedToothCount = 0; - eth.setTriggerType(TT_TOOTHED_WHEEL); + eth.setTriggerType(trigger_type_e::TT_TOOTHED_WHEEL); setCamOperationMode(); engineConfiguration->isFasterEngineSpinUpEnabled = true; diff --git a/unit_tests/tests/test_idle_controller.cpp b/unit_tests/tests/test_idle_controller.cpp index 42e1b79741..8968f7a77e 100644 --- a/unit_tests/tests/test_idle_controller.cpp +++ b/unit_tests/tests/test_idle_controller.cpp @@ -18,7 +18,7 @@ using ::testing::_; using ICP = IIdleController::Phase; TEST(idle_v2, timingPid) { - EngineTestHelper eth(TEST_ENGINE); + EngineTestHelper eth(engine_type_e::TEST_ENGINE); IdleController dut; engineConfiguration->useIdleTimingPidControl = true; @@ -50,7 +50,7 @@ TEST(idle_v2, timingPid) { } TEST(idle_v2, testTargetRpm) { - EngineTestHelper eth(TEST_ENGINE); + EngineTestHelper eth(engine_type_e::TEST_ENGINE); IdleController dut; for (size_t i = 0; i < efi::size(config->cltIdleRpmBins); i++) { @@ -63,7 +63,7 @@ TEST(idle_v2, testTargetRpm) { } TEST(idle_v2, testDeterminePhase) { - EngineTestHelper eth(TEST_ENGINE); + EngineTestHelper eth(engine_type_e::TEST_ENGINE); IdleController dut; // TPS threshold 5% for easy test @@ -108,7 +108,7 @@ TEST(idle_v2, testDeterminePhase) { } TEST(idle_v2, crankingOpenLoop) { - EngineTestHelper eth(TEST_ENGINE); + EngineTestHelper eth(engine_type_e::TEST_ENGINE); IdleController dut; engineConfiguration->crankingIACposition = 50; @@ -133,7 +133,7 @@ TEST(idle_v2, crankingOpenLoop) { } TEST(idle_v2, runningOpenLoopBasic) { - EngineTestHelper eth(TEST_ENGINE); + EngineTestHelper eth(engine_type_e::TEST_ENGINE); IdleController dut; engineConfiguration->manIdlePosition = 50; @@ -148,7 +148,7 @@ TEST(idle_v2, runningOpenLoopBasic) { } TEST(idle_v2, runningFanAcBump) { - EngineTestHelper eth(TEST_ENGINE); + EngineTestHelper eth(engine_type_e::TEST_ENGINE); IdleController dut; engineConfiguration->manIdlePosition = 50; @@ -186,7 +186,7 @@ TEST(idle_v2, runningFanAcBump) { } TEST(idle_v2, runningOpenLoopTpsTaper) { - EngineTestHelper eth(TEST_ENGINE); + EngineTestHelper eth(engine_type_e::TEST_ENGINE); IdleController dut; // Zero out base tempco table @@ -208,7 +208,7 @@ TEST(idle_v2, runningOpenLoopTpsTaper) { } TEST(idle_v2, runningOpenLoopRpmTaper) { - EngineTestHelper eth(TEST_ENGINE); + EngineTestHelper eth(engine_type_e::TEST_ENGINE); IdleController dut; // Zero out base tempco table @@ -236,7 +236,7 @@ struct MockOpenLoopIdler : public IdleController { }; TEST(idle_v2, testOpenLoopCranking) { - EngineTestHelper eth(TEST_ENGINE); + EngineTestHelper eth(engine_type_e::TEST_ENGINE); StrictMock dut; engineConfiguration->overrideCrankingIacSetting = true; @@ -248,7 +248,7 @@ TEST(idle_v2, testOpenLoopCranking) { } TEST(idle_v2, openLoopRunningTaper) { - EngineTestHelper eth(TEST_ENGINE); + EngineTestHelper eth(engine_type_e::TEST_ENGINE); StrictMock dut; EXPECT_CALL(dut, getRunningOpenLoop(0, 30, SensorResult(0))).WillRepeatedly(Return(25)); @@ -272,7 +272,7 @@ TEST(idle_v2, openLoopRunningTaper) { } TEST(idle_v2, getCrankingTaperFraction) { - EngineTestHelper eth(TEST_ENGINE); + EngineTestHelper eth(engine_type_e::TEST_ENGINE); StrictMock dut; engineConfiguration->afterCrankingIACtaperDuration = 500; @@ -300,7 +300,7 @@ TEST(idle_v2, getCrankingTaperFraction) { } TEST(idle_v2, openLoopCoastingTable) { - EngineTestHelper eth(TEST_ENGINE); + EngineTestHelper eth(engine_type_e::TEST_ENGINE); IdleController dut; // enable & configure feature @@ -317,7 +317,7 @@ TEST(idle_v2, openLoopCoastingTable) { extern int timeNowUs; TEST(idle_v2, closedLoopBasic) { - EngineTestHelper eth(TEST_ENGINE); + EngineTestHelper eth(engine_type_e::TEST_ENGINE); IdleController dut; dut.init(); @@ -344,7 +344,7 @@ TEST(idle_v2, closedLoopBasic) { } TEST(idle_v2, closedLoopDeadzone) { - EngineTestHelper eth(TEST_ENGINE); + EngineTestHelper eth(engine_type_e::TEST_ENGINE); IdleController dut; dut.init(); @@ -380,7 +380,7 @@ struct IntegrationIdleMock : public IdleController { }; TEST(idle_v2, IntegrationManual) { - EngineTestHelper eth(TEST_ENGINE); + EngineTestHelper eth(engine_type_e::TEST_ENGINE); StrictMock dut; SensorResult expectedTps = 1; @@ -411,7 +411,7 @@ TEST(idle_v2, IntegrationManual) { } TEST(idle_v2, IntegrationAutomatic) { - EngineTestHelper eth(TEST_ENGINE); + EngineTestHelper eth(engine_type_e::TEST_ENGINE); StrictMock dut; engineConfiguration->idleMode = IM_AUTO; @@ -447,7 +447,7 @@ TEST(idle_v2, IntegrationAutomatic) { } TEST(idle_v2, IntegrationClamping) { - EngineTestHelper eth(TEST_ENGINE); + EngineTestHelper eth(engine_type_e::TEST_ENGINE); StrictMock dut; engineConfiguration->idleMode = IM_AUTO; diff --git a/unit_tests/tests/test_knock.cpp b/unit_tests/tests/test_knock.cpp index 1292dfca30..2a5c36bc0a 100644 --- a/unit_tests/tests/test_knock.cpp +++ b/unit_tests/tests/test_knock.cpp @@ -15,7 +15,7 @@ struct MockKnockController : public KnockControllerBase { }; TEST(Knock, Retards) { - EngineTestHelper eth(TEST_ENGINE); + EngineTestHelper eth(engine_type_e::TEST_ENGINE); // Aggression of 10% engineConfiguration->knockRetardAggression = 10; @@ -48,7 +48,7 @@ TEST(Knock, Retards) { } TEST(Knock, Reapply) { - EngineTestHelper eth(TEST_ENGINE); + EngineTestHelper eth(engine_type_e::TEST_ENGINE); MockKnockController dut; dut.onFastCallback(); diff --git a/unit_tests/tests/test_launch.cpp b/unit_tests/tests/test_launch.cpp index 4070b9cb9f..ae9abb703e 100644 --- a/unit_tests/tests/test_launch.cpp +++ b/unit_tests/tests/test_launch.cpp @@ -3,7 +3,7 @@ #include "launch_control.h" TEST(LaunchControl, TpsCondition) { - EngineTestHelper eth(TEST_ENGINE); + EngineTestHelper eth(engine_type_e::TEST_ENGINE); LaunchControlBase dut; @@ -24,7 +24,7 @@ TEST(LaunchControl, TpsCondition) { TEST(LaunchControl, VSSCondition) { - EngineTestHelper eth(TEST_ENGINE); + EngineTestHelper eth(engine_type_e::TEST_ENGINE); LaunchControlBase dut; @@ -41,7 +41,7 @@ TEST(LaunchControl, VSSCondition) { } TEST(LaunchControl, RPMCondition) { - EngineTestHelper eth(TEST_ENGINE); + EngineTestHelper eth(engine_type_e::TEST_ENGINE); LaunchControlBase dut; @@ -53,7 +53,7 @@ TEST(LaunchControl, RPMCondition) { } TEST(LaunchControl, SwitchInputCondition) { - EngineTestHelper eth(TEST_ENGINE); + EngineTestHelper eth(engine_type_e::TEST_ENGINE); LaunchControlBase dut; @@ -95,7 +95,7 @@ TEST(LaunchControl, SwitchInputCondition) { } TEST(LaunchControl, CombinedCondition) { - EngineTestHelper eth(TEST_ENGINE); + EngineTestHelper eth(engine_type_e::TEST_ENGINE); LaunchControlBase dut; @@ -138,7 +138,7 @@ static void setDefaultLaunchParameters() { } TEST(LaunchControl, CompleteRun) { - EngineTestHelper eth(TEST_ENGINE); + EngineTestHelper eth(engine_type_e::TEST_ENGINE); initLaunchControl(); diff --git a/unit_tests/tests/test_limp.cpp b/unit_tests/tests/test_limp.cpp index f62d68d9c2..4aea57ce08 100644 --- a/unit_tests/tests/test_limp.cpp +++ b/unit_tests/tests/test_limp.cpp @@ -21,7 +21,7 @@ TEST(limp, testFatalError) { } TEST(limp, revLimit) { - EngineTestHelper eth(TEST_ENGINE); + EngineTestHelper eth(engine_type_e::TEST_ENGINE); engineConfiguration->rpmHardLimit = 2500; @@ -44,7 +44,7 @@ TEST(limp, revLimit) { } TEST(limp, revLimitCltBased) { - EngineTestHelper eth(TEST_ENGINE); + EngineTestHelper eth(engine_type_e::TEST_ENGINE); engineConfiguration->rpmHardLimit = 2500; @@ -94,7 +94,7 @@ TEST(limp, revLimitCltBased) { } TEST(limp, boostCut) { - EngineTestHelper eth(TEST_ENGINE); + EngineTestHelper eth(engine_type_e::TEST_ENGINE); // Cut above 100kPa engineConfiguration->boostCutPressure = 100; @@ -131,7 +131,7 @@ TEST(limp, boostCut) { extern int timeNowUs; TEST(limp, oilPressureFailureCase) { - EngineTestHelper eth(TEST_ENGINE); + EngineTestHelper eth(engine_type_e::TEST_ENGINE); engineConfiguration->minOilPressureAfterStart = 200; LimpManager dut; @@ -164,7 +164,7 @@ TEST(limp, oilPressureFailureCase) { } TEST(limp, oilPressureSuccessCase) { - EngineTestHelper eth(TEST_ENGINE); + EngineTestHelper eth(engine_type_e::TEST_ENGINE); engineConfiguration->minOilPressureAfterStart = 200; LimpManager dut; diff --git a/unit_tests/tests/test_start_stop.cpp b/unit_tests/tests/test_start_stop.cpp index 8e391a86ce..da3be3fe37 100644 --- a/unit_tests/tests/test_start_stop.cpp +++ b/unit_tests/tests/test_start_stop.cpp @@ -9,7 +9,7 @@ TEST(start, startStop) { std::unordered_map sensorVals = {{ SensorType::AcceleratorPedal, 0 }}; - EngineTestHelper eth(PROTEUS_BMW_M73, sensorVals); + EngineTestHelper eth(engine_type_e::PROTEUS_BMW_M73, sensorVals); eth.moveTimeForwardAndInvokeEventsSec(1); // '0' time has special meaning for implementation so let's move forward // this is a pull-up, so 'true' on start-up diff --git a/unit_tests/tests/test_stft.cpp b/unit_tests/tests/test_stft.cpp index af02ab2301..18190312dd 100644 --- a/unit_tests/tests/test_stft.cpp +++ b/unit_tests/tests/test_stft.cpp @@ -77,7 +77,7 @@ TEST(ClosedLoopFuel, CellSelection) { } TEST(ClosedLoopFuel, afrLimits) { - EngineTestHelper eth(TEST_ENGINE); + EngineTestHelper eth(engine_type_e::TEST_ENGINE); engineConfiguration->stft.minAfr = 10; // 10.0 AFR engineConfiguration->stft.maxAfr = 18; // 18.0 AFR diff --git a/unit_tests/tests/test_tunerstudio.cpp b/unit_tests/tests/test_tunerstudio.cpp index 75eb08413c..0f75b9cca9 100644 --- a/unit_tests/tests/test_tunerstudio.cpp +++ b/unit_tests/tests/test_tunerstudio.cpp @@ -68,7 +68,7 @@ TEST(binary, testWriteCrc) { } TEST(TunerstudioCommands, writeChunkEngineConfig) { - EngineTestHelper eth(TEST_ENGINE); + EngineTestHelper eth(engine_type_e::TEST_ENGINE); ::testing::NiceMock channel; uint8_t* configBytes = reinterpret_cast(config); diff --git a/unit_tests/tests/trigger/test_2jz_vvt.cpp b/unit_tests/tests/trigger/test_2jz_vvt.cpp index db1311855b..23c012245d 100644 --- a/unit_tests/tests/trigger/test_2jz_vvt.cpp +++ b/unit_tests/tests/trigger/test_2jz_vvt.cpp @@ -8,10 +8,10 @@ #include "pch.h" TEST(sensors, test2jz) { - EngineTestHelper eth(TOYOTA_2JZ_GTE_VVTi); + EngineTestHelper eth(engine_type_e::TOYOTA_2JZ_GTE_VVTi); engineConfiguration->isFasterEngineSpinUpEnabled = false; - eth.setTriggerType(TT_ONE); + eth.setTriggerType(trigger_type_e::TT_ONE); ASSERT_EQ( 0, Sensor::getOrZero(SensorType::Rpm)) << "test2jz RPM"; for (int i = 0; i < 2;i++) { diff --git a/unit_tests/tests/trigger/test_all_triggers.cpp b/unit_tests/tests/trigger/test_all_triggers.cpp index eef10a47c1..b59d9d6694 100644 --- a/unit_tests/tests/trigger/test_all_triggers.cpp +++ b/unit_tests/tests/trigger/test_all_triggers.cpp @@ -4,12 +4,12 @@ #include "pch.h" // uncomment to test starting from specific trigger -//#define TEST_FROM_TRIGGER_ID ((int)TT_MAZDA_MIATA_NA) +//#define TEST_FROM_TRIGGER_ID ((int)trigger_type_e::TT_MAZDA_MIATA_NA) // uncomment to test only newest trigger -//#define TEST_FROM_TRIGGER_ID ((int)TT_UNUSED - 1) +//#define TEST_FROM_TRIGGER_ID ((int)trigger_type_e::TT_UNUSED - 1) #define TEST_FROM_TRIGGER_ID 1 -#define TEST_TO_TRIGGER_ID TT_UNUSED +#define TEST_TO_TRIGGER_ID (int)trigger_type_e::TT_UNUSED // uncomment to test only one trigger //#define TEST_TO_TRIGGER_ID (TEST_FROM_TRIGGER_ID + 1) @@ -33,7 +33,7 @@ struct TriggerExportHelper static TriggerExportHelper exportHelper; -class AllTriggersFixture : public ::testing::TestWithParam { +class AllTriggersFixture : public ::testing::TestWithParam { }; INSTANTIATE_TEST_SUITE_P( @@ -41,7 +41,7 @@ INSTANTIATE_TEST_SUITE_P( AllTriggersFixture, // Test all triggers from the first valid trigger thru the last // (Skip index 0, that's custom toothed wheel which is covered by others) - ::testing::Range((trigger_type_e)TEST_FROM_TRIGGER_ID, (trigger_type_e)TEST_TO_TRIGGER_ID) + ::testing::Range(TEST_FROM_TRIGGER_ID, TEST_TO_TRIGGER_ID) ); extern bool printTriggerDebug; @@ -52,7 +52,7 @@ TEST_P(AllTriggersFixture, TestTrigger) { //printTriggerDebug = true; //printTriggerTrace = true; - auto tt = GetParam(); + auto tt = (trigger_type_e)GetParam(); auto fp = exportHelper.fp; printf("Exporting %s\r\n", getTrigger_type_e(tt)); diff --git a/unit_tests/tests/trigger/test_cam_vvt_input.cpp b/unit_tests/tests/trigger/test_cam_vvt_input.cpp index 08f8a90a8b..58f99cc055 100644 --- a/unit_tests/tests/trigger/test_cam_vvt_input.cpp +++ b/unit_tests/tests/trigger/test_cam_vvt_input.cpp @@ -13,9 +13,9 @@ extern WarningCodeState unitTestWarningCodeState; extern WaveChart waveChart; TEST(trigger, testNoStartUpWarningsNoSyncronizationTrigger) { - EngineTestHelper eth(TEST_ENGINE); + EngineTestHelper eth(engine_type_e::TEST_ENGINE); // one tooth does not need synchronization it just counts tooth - eth.setTriggerType(TT_ONE); + eth.setTriggerType(trigger_type_e::TT_ONE); ASSERT_EQ( 0, round(Sensor::getOrZero(SensorType::Rpm))) << "testNoStartUpWarnings RPM"; eth.fireTriggerEvents2(/*count*/10, /*duration*/50); @@ -24,11 +24,11 @@ TEST(trigger, testNoStartUpWarningsNoSyncronizationTrigger) { } TEST(trigger, testNoStartUpWarnings) { - EngineTestHelper eth(TEST_ENGINE); + EngineTestHelper eth(engine_type_e::TEST_ENGINE); // for this test we need a trigger with isSynchronizationNeeded=true engineConfiguration->trigger.customTotalToothCount = 3; engineConfiguration->trigger.customSkippedToothCount = 1; - eth.setTriggerType(TT_TOOTHED_WHEEL); + eth.setTriggerType(trigger_type_e::TT_TOOTHED_WHEEL); ASSERT_EQ( 0, round(Sensor::getOrZero(SensorType::Rpm))) << "testNoStartUpWarnings RPM"; for (int i = 0;i < 10;i++) { @@ -58,7 +58,7 @@ TEST(trigger, testNoStartUpWarnings) { } TEST(trigger, testNoisyInput) { - EngineTestHelper eth(TEST_ENGINE); + EngineTestHelper eth(engine_type_e::TEST_ENGINE); ASSERT_EQ( 0, round(Sensor::getOrZero(SensorType::Rpm))) << "testNoisyInput RPM"; @@ -80,13 +80,13 @@ TEST(trigger, testNoisyInput) { TEST(trigger, testCamInput) { // setting some weird engine - EngineTestHelper eth(FORD_ESCORT_GT); + EngineTestHelper eth(engine_type_e::FORD_ESCORT_GT); // changing to 'ONE TOOTH' trigger on CRANK with CAM/VVT setCrankOperationMode(); engineConfiguration->vvtMode[0] = VVT_FIRST_HALF; engineConfiguration->vvtOffsets[0] = 360; - eth.setTriggerType(TT_ONE); + eth.setTriggerType(trigger_type_e::TT_ONE); engineConfiguration->camInputs[0] = Gpio::A10; // we just need to indicate that we have CAM ASSERT_EQ( 0, round(Sensor::getOrZero(SensorType::Rpm))) << "testCamInput RPM"; @@ -132,7 +132,7 @@ TEST(trigger, testCamInput) { } TEST(trigger, testNB2CamInput) { - EngineTestHelper eth(FRANKENSO_MAZDA_MIATA_2003); + EngineTestHelper eth(engine_type_e::FRANKENSO_MAZDA_MIATA_2003); engineConfiguration->isFasterEngineSpinUpEnabled = false; diff --git a/unit_tests/tests/trigger/test_fasterEngineSpinningUp.cpp b/unit_tests/tests/trigger/test_fasterEngineSpinningUp.cpp index 8ad4867d19..d7452c56b5 100644 --- a/unit_tests/tests/trigger/test_fasterEngineSpinningUp.cpp +++ b/unit_tests/tests/trigger/test_fasterEngineSpinningUp.cpp @@ -7,7 +7,7 @@ #include "pch.h" TEST(cranking, testFasterEngineSpinningUp) { - EngineTestHelper eth(TEST_ENGINE); + EngineTestHelper eth(engine_type_e::TEST_ENGINE); setTable(config->injectionPhase, -180.0f); engine->tdcMarkEnabled = false; // turn on FasterEngineSpinUp mode @@ -39,7 +39,7 @@ TEST(cranking, testFasterEngineSpinningUp) { // check all events starting from now // advance 1 revolution - // because we have trivial TT_ONE trigger here synchronization would happen with just one rise front + // because we have trivial trigger_type_e::TT_ONE trigger here synchronization would happen with just one rise front eth.fireRise(200); // check if the mode is changed @@ -104,11 +104,11 @@ TEST(cranking, testFasterEngineSpinningUp) { } static void doTestFasterEngineSpinningUp60_2(int startUpDelayMs, int rpm1, int expectedRpm) { - EngineTestHelper eth(TEST_ENGINE); + EngineTestHelper eth(engine_type_e::TEST_ENGINE); // turn on FasterEngineSpinUp mode engineConfiguration->isFasterEngineSpinUpEnabled = true; - setupSimpleTestEngineWithMaf(ð, IM_SEQUENTIAL, TT_TOOTHED_WHEEL_60_2); + setupSimpleTestEngineWithMaf(ð, IM_SEQUENTIAL, trigger_type_e::TT_TOOTHED_WHEEL_60_2); eth.moveTimeForwardMs(startUpDelayMs); // fire 30 tooth rise/fall signals diff --git a/unit_tests/tests/trigger/test_injection_scheduling.cpp b/unit_tests/tests/trigger/test_injection_scheduling.cpp index 68158e642b..112222791e 100644 --- a/unit_tests/tests/trigger/test_injection_scheduling.cpp +++ b/unit_tests/tests/trigger/test_injection_scheduling.cpp @@ -9,7 +9,7 @@ using ::testing::InSequence; TEST(injectionScheduling, InjectionIsScheduled) { StrictMock mockExec; - EngineTestHelper eth(TEST_ENGINE); + EngineTestHelper eth(engine_type_e::TEST_ENGINE); engine->executor.setMockExecutor(&mockExec); efitick_t nowNt = 1000000; @@ -49,7 +49,7 @@ TEST(injectionScheduling, InjectionIsScheduled) { TEST(injectionScheduling, InjectionIsScheduledBeforeWraparound) { StrictMock mockExec; - EngineTestHelper eth(TEST_ENGINE); + EngineTestHelper eth(engine_type_e::TEST_ENGINE); engine->executor.setMockExecutor(&mockExec); efitick_t nowNt = 1000000; @@ -88,7 +88,7 @@ TEST(injectionScheduling, InjectionIsScheduledBeforeWraparound) { TEST(injectionScheduling, InjectionIsScheduledAfterWraparound) { StrictMock mockExec; - EngineTestHelper eth(TEST_ENGINE); + EngineTestHelper eth(engine_type_e::TEST_ENGINE); engine->executor.setMockExecutor(&mockExec); efitick_t nowNt = 1000000; @@ -128,7 +128,7 @@ TEST(injectionScheduling, InjectionNotScheduled) { // StrictMock since we expect no scheduler calls! StrictMock mockExec; - EngineTestHelper eth(TEST_ENGINE); + EngineTestHelper eth(engine_type_e::TEST_ENGINE); engine->executor.setMockExecutor(&mockExec); efitick_t nowNt = 1000000; diff --git a/unit_tests/tests/trigger/test_map_cam.cpp b/unit_tests/tests/trigger/test_map_cam.cpp index 549c1596a7..56d7020361 100644 --- a/unit_tests/tests/trigger/test_map_cam.cpp +++ b/unit_tests/tests/trigger/test_map_cam.cpp @@ -6,7 +6,7 @@ TEST(trigger, map_cam_by_magic_point) { - EngineTestHelper eth(TEST_CRANK_ENGINE); + EngineTestHelper eth(engine_type_e::TEST_CRANK_ENGINE); engineConfiguration->isFasterEngineSpinUpEnabled = false; engineConfiguration->camInputs[0] = Gpio::A0; diff --git a/unit_tests/tests/trigger/test_miata_na_tdc.cpp b/unit_tests/tests/trigger/test_miata_na_tdc.cpp index 19aeee28fa..64b3223ede 100644 --- a/unit_tests/tests/trigger/test_miata_na_tdc.cpp +++ b/unit_tests/tests/trigger/test_miata_na_tdc.cpp @@ -4,7 +4,7 @@ #include "trigger_emulator_algo.h" TEST(miata, miata_na_tdc) { - EngineTestHelper eth(FRANKENSO_MIATA_NA6_MAP); + EngineTestHelper eth(engine_type_e::FRANKENSO_MIATA_NA6_MAP); engineConfiguration->alwaysInstantRpm = true; #define TEST_REVOLUTIONS 6 diff --git a/unit_tests/tests/trigger/test_nissan_vq_vvt.cpp b/unit_tests/tests/trigger/test_nissan_vq_vvt.cpp index 729581231e..20d391bd65 100644 --- a/unit_tests/tests/trigger/test_nissan_vq_vvt.cpp +++ b/unit_tests/tests/trigger/test_nissan_vq_vvt.cpp @@ -71,7 +71,7 @@ TEST(nissan, vq_vvt) { // hold a reference to the heap allocated scheduling events until the test is done std::vector> ptrs; - EngineTestHelper eth (HELLEN_121_NISSAN_6_CYL); + EngineTestHelper eth(engine_type_e::HELLEN_121_NISSAN_6_CYL); engineConfiguration->isFasterEngineSpinUpEnabled = false; engineConfiguration->isIgnitionEnabled = false; engineConfiguration->isInjectionEnabled = false; diff --git a/unit_tests/tests/trigger/test_override_gaps.cpp b/unit_tests/tests/trigger/test_override_gaps.cpp index e7fbad3f72..b1bdc347ea 100644 --- a/unit_tests/tests/trigger/test_override_gaps.cpp +++ b/unit_tests/tests/trigger/test_override_gaps.cpp @@ -8,7 +8,7 @@ #include "pch.h" TEST(subaru, overrideGap) { - EngineTestHelper eth(FRANKENSO_MIATA_NA6_MAP); + EngineTestHelper eth(engine_type_e::FRANKENSO_MIATA_NA6_MAP); engineConfiguration->overrideTriggerGaps = true; engineConfiguration->gapTrackingLengthOverride = 2; @@ -17,7 +17,7 @@ TEST(subaru, overrideGap) { engineConfiguration->triggerGapOverrideFrom[1] = 0.75; engineConfiguration->triggerGapOverrideTo[1] = 1.25; - eth.setTriggerType(TT_SUBARU_7_WITHOUT_6); + eth.setTriggerType(trigger_type_e::TT_SUBARU_7_WITHOUT_6); ASSERT_EQ(2, engine->triggerCentral.triggerShape.gapTrackingLength); diff --git a/unit_tests/tests/trigger/test_quad_cam.cpp b/unit_tests/tests/trigger/test_quad_cam.cpp index 13fd07fa0c..c4c1c5bf55 100644 --- a/unit_tests/tests/trigger/test_quad_cam.cpp +++ b/unit_tests/tests/trigger/test_quad_cam.cpp @@ -7,7 +7,7 @@ TEST(trigger, testQuadCam) { // setting some weird engine - EngineTestHelper eth(FORD_ESCORT_GT); + EngineTestHelper eth(engine_type_e::FORD_ESCORT_GT); engineConfiguration->isFasterEngineSpinUpEnabled = false; engineConfiguration->alwaysInstantRpm = true; @@ -20,7 +20,7 @@ TEST(trigger, testQuadCam) { engineConfiguration->camInputs[0] = Gpio::A10; // we just need to indicate that we have CAM // this crank trigger would be easier to test, crank shape is less important for this test - eth.setTriggerType(TT_ONE); + eth.setTriggerType(trigger_type_e::TT_ONE); ASSERT_EQ(0, Sensor::getOrZero(SensorType::Rpm)); diff --git a/unit_tests/tests/trigger/test_real_4b11.cpp b/unit_tests/tests/trigger/test_real_4b11.cpp index fbac02eadb..caeb1dc38e 100644 --- a/unit_tests/tests/trigger/test_real_4b11.cpp +++ b/unit_tests/tests/trigger/test_real_4b11.cpp @@ -10,11 +10,11 @@ TEST(real4b11, running) { CsvReader reader(1, /* vvtCount */ 0); reader.open("tests/trigger/resources/4b11-running.csv"); - EngineTestHelper eth(TEST_ENGINE); + EngineTestHelper eth(engine_type_e::TEST_ENGINE); engineConfiguration->isFasterEngineSpinUpEnabled = true; engineConfiguration->alwaysInstantRpm = true; - eth.setTriggerType(TT_36_2_1); + eth.setTriggerType(trigger_type_e::TT_36_2_1); int eventCount = 0; bool gotRpm = false; @@ -46,11 +46,11 @@ TEST(real4b11, runningDoubledEdge) { // This log has an extra duplicate edge at 5.393782 seconds (hand added) reader.open("tests/trigger/resources/4b11-running-doubled-edge.csv"); - EngineTestHelper eth(TEST_ENGINE); + EngineTestHelper eth(engine_type_e::TEST_ENGINE); engineConfiguration->isFasterEngineSpinUpEnabled = true; engineConfiguration->alwaysInstantRpm = true; - eth.setTriggerType(TT_36_2_1); + eth.setTriggerType(trigger_type_e::TT_36_2_1); int eventCount = 0; bool gotRpm = false; diff --git a/unit_tests/tests/trigger/test_real_4g93.cpp b/unit_tests/tests/trigger/test_real_4g93.cpp index d3520ec753..3c8ebab886 100644 --- a/unit_tests/tests/trigger/test_real_4g93.cpp +++ b/unit_tests/tests/trigger/test_real_4g93.cpp @@ -10,7 +10,7 @@ TEST(real4g93, cranking) { CsvReader reader(1, /* vvtCount */ 1); reader.open("tests/trigger/resources/4g93-cranking.csv"); - EngineTestHelper eth(TEST_ENGINE); + EngineTestHelper eth(engine_type_e::TEST_ENGINE); engineConfiguration->isFasterEngineSpinUpEnabled = true; engineConfiguration->alwaysInstantRpm = true; @@ -21,7 +21,7 @@ TEST(real4g93, cranking) { engineConfiguration->trigger.customTotalToothCount = 2; engineConfiguration->trigger.customSkippedToothCount = 0; engineConfiguration->skippedWheelOnCam = false; - eth.setTriggerType(TT_TOOTHED_WHEEL); + eth.setTriggerType(trigger_type_e::TT_TOOTHED_WHEEL); bool gotRpm = false; bool gotSync = false; @@ -60,13 +60,13 @@ TEST(real4g93, crankingOn11) { CsvReader reader(2, /* vvtCount */ 0); reader.open("tests/trigger/resources/4g93-cranking.csv"); - EngineTestHelper eth(TEST_ENGINE); + EngineTestHelper eth(engine_type_e::TEST_ENGINE); engineConfiguration->isFasterEngineSpinUpEnabled = true; engineConfiguration->alwaysInstantRpm = true; engineConfiguration->isPhaseSyncRequiredForIgnition = true; - eth.setTriggerType(TT_MITSUBISHI_4G93); + eth.setTriggerType(trigger_type_e::TT_MITSUBISHI_4G93); bool gotRpm = false; while (reader.haveMore()) { @@ -90,11 +90,11 @@ TEST(real4g93, crankingCamOnly) { CsvReader reader(1, /* vvtCount */ 0); reader.open("tests/trigger/resources/4g93-cranking-cam-only.csv"); - EngineTestHelper eth(TEST_ENGINE); + EngineTestHelper eth(engine_type_e::TEST_ENGINE); engineConfiguration->isFasterEngineSpinUpEnabled = true; engineConfiguration->alwaysInstantRpm = true; - eth.setTriggerType(TT_MITSU_4G9x_CAM); + eth.setTriggerType(trigger_type_e::TT_MITSU_4G9x_CAM); bool gotRpm = false; bool gotSync = false; diff --git a/unit_tests/tests/trigger/test_real_cranking_miata_NA.cpp b/unit_tests/tests/trigger/test_real_cranking_miata_NA.cpp index 0694f216d7..c91a6c0256 100644 --- a/unit_tests/tests/trigger/test_real_cranking_miata_NA.cpp +++ b/unit_tests/tests/trigger/test_real_cranking_miata_NA.cpp @@ -15,7 +15,7 @@ TEST(cranking, realCrankingFromFile) { // this logic data file has first trigger channel in second column and second trigger channel in first column reader.open("tests/trigger/resources/cranking_na_3.csv", REVERSE_ORDER); - EngineTestHelper eth (FRANKENSO_MIATA_NA6_MAP); + EngineTestHelper eth(engine_type_e::FRANKENSO_MIATA_NA6_MAP); engineConfiguration->alwaysInstantRpm = true; ssize_t read; diff --git a/unit_tests/tests/trigger/test_real_cranking_miata_na6.cpp b/unit_tests/tests/trigger/test_real_cranking_miata_na6.cpp index e066bb3f24..28661cfecc 100644 --- a/unit_tests/tests/trigger/test_real_cranking_miata_na6.cpp +++ b/unit_tests/tests/trigger/test_real_cranking_miata_na6.cpp @@ -35,7 +35,7 @@ static void fireTriggerEvent(EngineTestHelper*eth, double timestampS, TriggerWhe } TEST(cranking, hardcodedRealCranking) { - EngineTestHelper eth(FRANKENSO_MIATA_NA6_MAP); + EngineTestHelper eth(engine_type_e::FRANKENSO_MIATA_NA6_MAP); engineConfiguration->alwaysInstantRpm = true; #define EVENT(timestamp, channel, value) { fireTriggerEvent(ð, timestamp, channel, value); } @@ -169,7 +169,7 @@ TEST(cranking, naCrankFromFile) { CsvReader reader(2, /* vvtCount */ 0); reader.open("tests/trigger/resources/cranking_na_4.csv", REVERSE_ORDER); - EngineTestHelper eth(FRANKENSO_MIATA_NA6_MAP); + EngineTestHelper eth(engine_type_e::FRANKENSO_MIATA_NA6_MAP); engineConfiguration->alwaysInstantRpm = true; while (reader.haveMore()) { diff --git a/unit_tests/tests/trigger/test_real_cranking_nissan_vq40.cpp b/unit_tests/tests/trigger/test_real_cranking_nissan_vq40.cpp index 6b0dc0e234..7afcdeb472 100644 --- a/unit_tests/tests/trigger/test_real_cranking_nissan_vq40.cpp +++ b/unit_tests/tests/trigger/test_real_cranking_nissan_vq40.cpp @@ -12,7 +12,7 @@ static void test(int engineSyncCam, float camOffsetAdd) { CsvReader reader(1, /* vvtCount */ 2); reader.open("tests/trigger/resources/nissan_vq40_cranking-1.csv"); - EngineTestHelper eth (HELLEN_121_NISSAN_6_CYL); + EngineTestHelper eth(engine_type_e::HELLEN_121_NISSAN_6_CYL); engineConfiguration->isFasterEngineSpinUpEnabled = false; engineConfiguration->alwaysInstantRpm = true; diff --git a/unit_tests/tests/trigger/test_real_gm_24x.cpp b/unit_tests/tests/trigger/test_real_gm_24x.cpp index 47922e19a0..4c1aac36aa 100644 --- a/unit_tests/tests/trigger/test_real_gm_24x.cpp +++ b/unit_tests/tests/trigger/test_real_gm_24x.cpp @@ -6,11 +6,11 @@ TEST(crankingGm24x, gmRealCrankingFromFile) { CsvReader reader(1, /* vvtCount */ 0); reader.open("tests/trigger/resources/gm_24x_cranking.csv"); - EngineTestHelper eth(TEST_ENGINE); + EngineTestHelper eth(engine_type_e::TEST_ENGINE); engineConfiguration->isFasterEngineSpinUpEnabled = true; engineConfiguration->alwaysInstantRpm = true; - eth.setTriggerType(TT_GM_24x); + eth.setTriggerType(trigger_type_e::TT_GM_24x); int eventCount = 0; bool gotRpm = false; diff --git a/unit_tests/tests/trigger/test_real_k20.cpp b/unit_tests/tests/trigger/test_real_k20.cpp index f6525f791a..ecf5a919af 100644 --- a/unit_tests/tests/trigger/test_real_k20.cpp +++ b/unit_tests/tests/trigger/test_real_k20.cpp @@ -12,7 +12,7 @@ TEST(realk20, cranking) { reader.open("tests/trigger/resources/civic-K20-cranking.csv", NORMAL_ORDER, REVERSE_ORDER); reader.twoBanksSingleCamMode = false; - EngineTestHelper eth (PROTEUS_HONDA_K); + EngineTestHelper eth(engine_type_e::PROTEUS_HONDA_K); while (reader.haveMore()) { reader.processLine(ð); diff --git a/unit_tests/tests/trigger/test_real_k24a2.cpp b/unit_tests/tests/trigger/test_real_k24a2.cpp index a18ac0c721..a478f01662 100644 --- a/unit_tests/tests/trigger/test_real_k24a2.cpp +++ b/unit_tests/tests/trigger/test_real_k24a2.cpp @@ -6,11 +6,11 @@ static void doTest(const char* testFile, int expectedRpm) { CsvReader reader(/* triggerCount */ 1, /* vvtCount */ 0); reader.open(testFile); - EngineTestHelper eth(TEST_ENGINE); + EngineTestHelper eth(engine_type_e::TEST_ENGINE); engineConfiguration->isFasterEngineSpinUpEnabled = true; engineConfiguration->alwaysInstantRpm = true; - eth.setTriggerType(TT_HONDA_K_CRANK_12_1); + eth.setTriggerType(trigger_type_e::TT_HONDA_K_CRANK_12_1); while (reader.haveMore()) { reader.processLine(ð); diff --git a/unit_tests/tests/trigger/test_real_nb2_cranking.cpp b/unit_tests/tests/trigger/test_real_nb2_cranking.cpp index 12dbf7b5df..3e0db3526e 100644 --- a/unit_tests/tests/trigger/test_real_nb2_cranking.cpp +++ b/unit_tests/tests/trigger/test_real_nb2_cranking.cpp @@ -12,7 +12,7 @@ TEST(realCrankingNB2, normalCranking) { CsvReader reader(1, /* vvtCount */ 1); reader.open("tests/trigger/resources/nb2-cranking-good.csv"); - EngineTestHelper eth (HELLEN_NB2); + EngineTestHelper eth(engine_type_e::HELLEN_NB2); engineConfiguration->alwaysInstantRpm = true; while (reader.haveMore()) { @@ -37,7 +37,7 @@ TEST(realCrankingNB2, crankingMissingInjector) { CsvReader reader(1, /* vvtCount */ 1); reader.open("tests/trigger/resources/nb2-cranking-good-missing-injector-1.csv"); - EngineTestHelper eth (HELLEN_NB2); + EngineTestHelper eth(engine_type_e::HELLEN_NB2); engineConfiguration->alwaysInstantRpm = true; while (reader.haveMore()) { diff --git a/unit_tests/tests/trigger/test_real_volkswagen.cpp b/unit_tests/tests/trigger/test_real_volkswagen.cpp index 2d6160fe19..a3261ee82f 100644 --- a/unit_tests/tests/trigger/test_real_volkswagen.cpp +++ b/unit_tests/tests/trigger/test_real_volkswagen.cpp @@ -13,9 +13,9 @@ TEST(crankingVW, vwRealCrankingFromFile) { CsvReader reader(1, /* vvtCount */ 0); reader.open("tests/trigger/resources/nick_1.csv"); - EngineTestHelper eth (VW_ABA); + EngineTestHelper eth(engine_type_e::VW_ABA); engineConfiguration->alwaysInstantRpm = true; - eth.setTriggerType(TT_60_2_VW); + eth.setTriggerType(trigger_type_e::TT_60_2_VW); while (reader.haveMore()) { reader.processLine(ð); @@ -26,9 +26,9 @@ TEST(crankingVW, vwRealCrankingFromFile) { } TEST(crankingVW, crankingTwiceWithGap) { - EngineTestHelper eth (VW_ABA); + EngineTestHelper eth(engine_type_e::VW_ABA); engineConfiguration->alwaysInstantRpm = true; - eth.setTriggerType(TT_60_2_VW); + eth.setTriggerType(trigger_type_e::TT_60_2_VW); { CsvReader reader(1, /* vvtCount */ 0); diff --git a/unit_tests/tests/trigger/test_rpm_multiplier.cpp b/unit_tests/tests/trigger/test_rpm_multiplier.cpp index 02c4d3b978..018f0cc194 100644 --- a/unit_tests/tests/trigger/test_rpm_multiplier.cpp +++ b/unit_tests/tests/trigger/test_rpm_multiplier.cpp @@ -10,10 +10,10 @@ #include "pch.h" static void runRpmTest(bool isTwoStroke, bool isCam, int expected) { - EngineTestHelper eth(TEST_ENGINE); + EngineTestHelper eth(engine_type_e::TEST_ENGINE); engineConfiguration->twoStroke = isTwoStroke; engineConfiguration->skippedWheelOnCam = isCam; - eth.setTriggerType(TT_ONE); + eth.setTriggerType(trigger_type_e::TT_ONE); eth.smartFireTriggerEvents2(/*count*/200, /*delay*/ 40); ASSERT_EQ(expected, Sensor::getOrZero(SensorType::Rpm)); diff --git a/unit_tests/tests/trigger/test_symmetrical_crank.cpp b/unit_tests/tests/trigger/test_symmetrical_crank.cpp index f337b18f32..fb08a51ce7 100644 --- a/unit_tests/tests/trigger/test_symmetrical_crank.cpp +++ b/unit_tests/tests/trigger/test_symmetrical_crank.cpp @@ -15,7 +15,7 @@ static void postFourEvents(EngineTestHelper *eth, float mult) { } TEST(engine, testAngleLogicInSymmetricalCrankIssue2980) { - EngineTestHelper eth(FRANKENSO_MAZDA_MIATA_2003); + EngineTestHelper eth(engine_type_e::FRANKENSO_MAZDA_MIATA_2003); TriggerFormDetails *triggerForm = &engine->triggerCentral.triggerFormDetails; @@ -44,7 +44,7 @@ TEST(engine, testAngleLogicInSymmetricalCrankIssue2980) { TEST(engine, testSymmetricalCrank) { - EngineTestHelper eth(FRANKENSO_MAZDA_MIATA_2003); + EngineTestHelper eth(engine_type_e::FRANKENSO_MAZDA_MIATA_2003); // this test is not about isFasterEngineSpinUpEnabled so let's disable it to simplify things engineConfiguration->isFasterEngineSpinUpEnabled = false; diff --git a/unit_tests/tests/trigger/test_trigger_decoder.cpp b/unit_tests/tests/trigger/test_trigger_decoder.cpp index c8c480c7ca..dbf2187ab7 100644 --- a/unit_tests/tests/trigger/test_trigger_decoder.cpp +++ b/unit_tests/tests/trigger/test_trigger_decoder.cpp @@ -44,16 +44,16 @@ static int getTriggerZeroEventIndex(engine_type_e engineType) { } TEST(trigger, testSkipped2_0) { - EngineTestHelper eth(TEST_ENGINE); + EngineTestHelper eth(engine_type_e::TEST_ENGINE); // for this test we need a trigger with isSynchronizationNeeded=true engineConfiguration->trigger.customTotalToothCount = 2; engineConfiguration->trigger.customSkippedToothCount = 0; - eth.setTriggerType(TT_TOOTHED_WHEEL); + eth.setTriggerType(trigger_type_e::TT_TOOTHED_WHEEL); ASSERT_EQ( 0, round(Sensor::getOrZero(SensorType::Rpm))) << "testNoStartUpWarnings RPM"; } TEST(trigger, testSomethingWeird) { - EngineTestHelper eth(FORD_INLINE_6_1995); + EngineTestHelper eth(engine_type_e::FORD_INLINE_6_1995); TriggerDecoderBase state_("test"); TriggerDecoderBase *sta = &state_; @@ -80,9 +80,9 @@ TEST(trigger, testSomethingWeird) { } TEST(trigger, test1995FordInline6TriggerDecoder) { - ASSERT_EQ( 0, getTriggerZeroEventIndex(FORD_INLINE_6_1995)) << "triggerIndex "; + ASSERT_EQ( 0, getTriggerZeroEventIndex(engine_type_e::FORD_INLINE_6_1995)) << "triggerIndex "; - EngineTestHelper eth(FORD_INLINE_6_1995); + EngineTestHelper eth(engine_type_e::FORD_INLINE_6_1995); engineConfiguration->isFasterEngineSpinUpEnabled = false; setWholeTimingTable(-13); @@ -110,7 +110,7 @@ TEST(trigger, test1995FordInline6TriggerDecoder) { } TEST(misc, testGetCoilDutyCycleIssue977) { - EngineTestHelper eth(FORD_ASPIRE_1996); + EngineTestHelper eth(engine_type_e::FORD_ASPIRE_1996); int rpm = 2000; engine->rpmCalculator.setRpmValue(rpm); @@ -122,9 +122,9 @@ TEST(misc, testGetCoilDutyCycleIssue977) { TEST(misc, testFordAspire) { printf("*************************************************** testFordAspire\r\n"); - ASSERT_EQ( 4, getTriggerZeroEventIndex(FORD_ASPIRE_1996)) << "getTriggerZeroEventIndex"; + ASSERT_EQ( 4, getTriggerZeroEventIndex(engine_type_e::FORD_ASPIRE_1996)) << "getTriggerZeroEventIndex"; - EngineTestHelper eth(FORD_ASPIRE_1996); + EngineTestHelper eth(engine_type_e::FORD_ASPIRE_1996); ASSERT_EQ( 4, getTriggerCentral()->triggerShape.getTriggerWaveformSynchPointIndex()) << "getTriggerWaveformSynchPointIndex"; @@ -169,7 +169,7 @@ static void assertREqualsM(const char *msg, void *expected, void *actual) { extern bool_t debugSignalExecutor; TEST(misc, testRpmCalculator) { - EngineTestHelper eth(FORD_INLINE_6_1995); + EngineTestHelper eth(engine_type_e::FORD_INLINE_6_1995); setTable(config->injectionPhase, -180.0f); @@ -316,7 +316,7 @@ TEST(misc, testRpmCalculator) { } TEST(trigger, testAnotherTriggerDecoder) { - testTriggerDecoder2("Miata 2003", FRANKENSO_MAZDA_MIATA_2003, 3, 0.38888889, 0.0); + testTriggerDecoder2("Miata 2003", engine_type_e::FRANKENSO_MAZDA_MIATA_2003, 3, 0.38888889, 0.0); } TEST(trigger, testTriggerDecoder) { @@ -338,34 +338,34 @@ TEST(trigger, testTriggerDecoder) { } printf("====================================================================================== testTriggerDecoder part 2\r\n"); - testTriggerDecoder2("Dodge Neon 1995", DODGE_NEON_1995, 0, 0.4931, 0.2070); + testTriggerDecoder2("Dodge Neon 1995", engine_type_e::DODGE_NEON_1995, 0, 0.4931, 0.2070); - testTriggerDecoder2("ford aspire", FORD_ASPIRE_1996, 4, 0.0000, 0.5); + testTriggerDecoder2("ford aspire", engine_type_e::FORD_ASPIRE_1996, 4, 0.0000, 0.5); - testTriggerDecoder2("dodge ram", DODGE_RAM, 16, 0.5000, 0.06); + testTriggerDecoder2("dodge ram", engine_type_e::DODGE_RAM, 16, 0.5000, 0.06); - testTriggerDecoder2("Miata NB2", HELLEN_NB2, 3, 0.3888888955, 0); + testTriggerDecoder2("Miata NB2", engine_type_e::HELLEN_NB2, 3, 0.3888888955, 0); printf("====================================================================================== testTriggerDecoder part 3\r\n"); - testTriggerDecoder2("test 2/1 both", TEST_ISSUE_366_BOTH, 0, 0.2500, 0.0); - testTriggerDecoder2("test 2/1 rise", TEST_ISSUE_366_RISE, 0, 0.0000, 0.0); + testTriggerDecoder2("test 2/1 both", engine_type_e::TEST_ISSUE_366_BOTH, 0, 0.2500, 0.0); + testTriggerDecoder2("test 2/1 rise", engine_type_e::TEST_ISSUE_366_RISE, 0, 0.0000, 0.0); - testTriggerDecoder2("test engine", TEST_ENGINE, 0, 0.7500, 0.2500); - testTriggerDecoder2("testGY6_139QMB", GY6_139QMB, 0, 0.4375, 0.0); - testTriggerDecoder2("testSubary", SUBARU_2003_WRX, 0, 0.4000, 0.0); + testTriggerDecoder2("test engine", engine_type_e::TEST_ENGINE, 0, 0.7500, 0.2500); + testTriggerDecoder2("testGY6_139QMB", engine_type_e::GY6_139QMB, 0, 0.4375, 0.0); + testTriggerDecoder2("testSubary", engine_type_e::SUBARU_2003_WRX, 0, 0.4000, 0.0); - testTriggerDecoder2("testFordEscortGt", FORD_ESCORT_GT, 0, 0.8096, 0.3844); + testTriggerDecoder2("testFordEscortGt", engine_type_e::FORD_ESCORT_GT, 0, 0.8096, 0.3844); - testTriggerDecoder2("NISSAN_PRIMERA", NISSAN_PRIMERA, 2, 0.9611, 0.0); + testTriggerDecoder2("NISSAN_PRIMERA", engine_type_e::NISSAN_PRIMERA, 2, 0.9611, 0.0); - testTriggerDecoder2("test1+1", DEFAULT_FRANKENSO, 0, 0.7500, 0.2500); + testTriggerDecoder2("test1+1", engine_type_e::DEFAULT_FRANKENSO, 0, 0.7500, 0.2500); - testTriggerDecoder2("testCitroen", CITROEN_TU3JP, 0, 0.4833, 0); + testTriggerDecoder2("testCitroen", engine_type_e::CITROEN_TU3JP, 0, 0.4833, 0); - testTriggerDecoder2("testMitsu", MITSU_4G93, 9, 0.3553, 0.3752); + testTriggerDecoder2("testMitsu", engine_type_e::MITSU_4G93, 9, 0.3553, 0.3752); { - EngineTestHelper eth(MITSU_4G93); + EngineTestHelper eth(engine_type_e::MITSU_4G93); eth.persistentConfig.engineConfiguration.sensorChartMode = SC_DETAILED_RPM; @@ -373,14 +373,14 @@ TEST(trigger, testTriggerDecoder) { } - testTriggerDecoder2("citroen", CITROEN_TU3JP, 0, 0.4833, 0.0, 2.9994); + testTriggerDecoder2("citroen", engine_type_e::CITROEN_TU3JP, 0, 0.4833, 0.0, 2.9994); - testTriggerDecoder2("CAMARO_4", CAMARO_4, 40, 0.5, 0); + testTriggerDecoder2("CAMARO_4", engine_type_e::CAMARO_4, 40, 0.5, 0); - testTriggerDecoder2("neon NGC4", DODGE_NEON_2003_CRANK, 6, 0.5000, 0.0, CHRYSLER_NGC4_GAP); + testTriggerDecoder2("neon NGC4", engine_type_e::DODGE_NEON_2003_CRANK, 6, 0.5000, 0.0, CHRYSLER_NGC4_GAP); { - EngineTestHelper eth(DODGE_NEON_2003_CRANK); + EngineTestHelper eth(engine_type_e::DODGE_NEON_2003_CRANK); printf("!!!!!!!!!!!!!!!!!! Now trying with only rising edges !!!!!!!!!!!!!!!!!\r\n"); @@ -389,9 +389,9 @@ TEST(trigger, testTriggerDecoder) { } - testTriggerDecoder2("sachs", SACHS, 0, 0.4800, 0.000); + testTriggerDecoder2("sachs", engine_type_e::SACHS, 0, 0.4800, 0.000); - testTriggerDecoder2("vw ABA", VW_ABA, 0, 0.51666, 0.0); + testTriggerDecoder2("vw ABA", engine_type_e::VW_ABA, 0, 0.51666, 0.0); } static void assertInjectionEventBase(const char *msg, InjectionEvent *ev, int injectorIndex, int eventIndex, angle_t angleOffset) { @@ -540,7 +540,7 @@ static void setArray(float* p, size_t count, float value) { void doTestFuelSchedulerBug299smallAndMedium(int startUpDelayMs) { printf("*************************************************** testFuelSchedulerBug299 small to medium\r\n"); - EngineTestHelper eth(TEST_ENGINE); + EngineTestHelper eth(engine_type_e::TEST_ENGINE); setTable(config->injectionPhase, -180.0f); engineConfiguration->isFasterEngineSpinUpEnabled = false; engine->tdcMarkEnabled = false; @@ -788,7 +788,7 @@ TEST(big, testFuelSchedulerBug299smallAndMedium) { } TEST(big, testTwoWireBatch) { - EngineTestHelper eth(TEST_ENGINE); + EngineTestHelper eth(engine_type_e::TEST_ENGINE); setTable(config->injectionPhase, -180.0f); setupSimpleTestEngineWithMafAndTT_ONE_trigger(ð); EXPECT_CALL(*eth.mockAirmass, getAirmass(_, _)) @@ -817,7 +817,7 @@ TEST(big, testTwoWireBatch) { TEST(big, testSequential) { - EngineTestHelper eth(TEST_ENGINE); + EngineTestHelper eth(engine_type_e::TEST_ENGINE); setTable(config->injectionPhase, -180.0f); EXPECT_CALL(*eth.mockAirmass, getAirmass(_, _)) .WillRepeatedly(Return(AirmassResult{0.1008f, 50.0f})); @@ -845,7 +845,7 @@ TEST(big, testSequential) { } TEST(big, testFuelSchedulerBug299smallAndLarge) { - EngineTestHelper eth(TEST_ENGINE); + EngineTestHelper eth(engine_type_e::TEST_ENGINE); setTable(config->injectionPhase, -180.0f); engineConfiguration->isFasterEngineSpinUpEnabled = false; engine->tdcMarkEnabled = false; @@ -964,7 +964,7 @@ TEST(big, testFuelSchedulerBug299smallAndLarge) { TEST(big, testSparkReverseOrderBug319) { printf("*************************************************** testSparkReverseOrderBug319 small to medium\r\n"); - EngineTestHelper eth(TEST_ENGINE); + EngineTestHelper eth(engine_type_e::TEST_ENGINE); engineConfiguration->isFasterEngineSpinUpEnabled = false; engine->tdcMarkEnabled = false; @@ -979,7 +979,7 @@ TEST(big, testSparkReverseOrderBug319) { // this is needed to update injectorLag engine->updateSlowSensors(); - eth.setTriggerType(TT_ONE); + eth.setTriggerType(trigger_type_e::TT_ONE); eth.engine.periodicFastCallback(); setWholeTimingTable(0); @@ -1069,7 +1069,7 @@ TEST(big, testSparkReverseOrderBug319) { TEST(big, testMissedSpark299) { printf("*************************************************** testMissedSpark299\r\n"); - EngineTestHelper eth(TEST_ENGINE); + EngineTestHelper eth(engine_type_e::TEST_ENGINE); engineConfiguration->ignitionMode = IM_WASTED_SPARK; setupSimpleTestEngineWithMafAndTT_ONE_trigger(ð); engineConfiguration->isIgnitionEnabled = true; diff --git a/unit_tests/tests/trigger/test_trigger_decoder_2.cpp b/unit_tests/tests/trigger/test_trigger_decoder_2.cpp index 05cdbc4d18..e7ea4c9ae5 100644 --- a/unit_tests/tests/trigger/test_trigger_decoder_2.cpp +++ b/unit_tests/tests/trigger/test_trigger_decoder_2.cpp @@ -41,7 +41,7 @@ static auto makeTriggerShape(operation_mode_e mode, const TriggerConfiguration& #define doTooth(dut, shape, cfg, t) dut.decodeTriggerEvent("", shape, nullptr, cfg, SHAFT_PRIMARY_RISING, t) TEST(TriggerDecoder, FindsFirstSyncPoint) { - MockTriggerConfiguration cfg({TT_TOOTHED_WHEEL, 4, 1}); + MockTriggerConfiguration cfg({trigger_type_e::TT_TOOTHED_WHEEL, 4, 1}); cfg.update(); auto shape = makeTriggerShape(FOUR_STROKE_CAM_SENSOR, cfg); @@ -84,7 +84,7 @@ TEST(TriggerDecoder, FindsFirstSyncPoint) { TEST(TriggerDecoder, FindsSyncPointMultipleRevolutions) { - MockTriggerConfiguration cfg({TT_TOOTHED_WHEEL, 4, 1}); + MockTriggerConfiguration cfg({trigger_type_e::TT_TOOTHED_WHEEL, 4, 1}); cfg.update(); auto shape = makeTriggerShape(FOUR_STROKE_CAM_SENSOR, cfg); @@ -134,7 +134,7 @@ TEST(TriggerDecoder, FindsSyncPointMultipleRevolutions) { } TEST(TriggerDecoder, TooManyTeeth_CausesError) { - MockTriggerConfiguration cfg({TT_TOOTHED_WHEEL, 4, 1}); + MockTriggerConfiguration cfg({trigger_type_e::TT_TOOTHED_WHEEL, 4, 1}); cfg.update(); auto shape = makeTriggerShape(FOUR_STROKE_CAM_SENSOR, cfg); @@ -212,7 +212,7 @@ TEST(TriggerDecoder, TooManyTeeth_CausesError) { } TEST(TriggerDecoder, NotEnoughTeeth_CausesError) { - MockTriggerConfiguration cfg({TT_TOOTHED_WHEEL, 4, 1}); + MockTriggerConfiguration cfg({trigger_type_e::TT_TOOTHED_WHEEL, 4, 1}); cfg.update(); auto shape = makeTriggerShape(FOUR_STROKE_CAM_SENSOR, cfg); @@ -289,7 +289,7 @@ TEST(TriggerDecoder, NotEnoughTeeth_CausesError) { } TEST(TriggerDecoder, PrimaryDecoderNoDisambiguation) { - MockTriggerConfiguration cfg({TT_TOOTHED_WHEEL, 4, 1}); + MockTriggerConfiguration cfg({trigger_type_e::TT_TOOTHED_WHEEL, 4, 1}); cfg.update(); auto shape = makeTriggerShape(FOUR_STROKE_CAM_SENSOR, cfg); @@ -320,7 +320,7 @@ TEST(TriggerDecoder, PrimaryDecoderNoDisambiguation) { } TEST(TriggerDecoder, PrimaryDecoderNeedsDisambiguation) { - MockTriggerConfiguration cfg({TT_TOOTHED_WHEEL, 4, 1}); + MockTriggerConfiguration cfg({trigger_type_e::TT_TOOTHED_WHEEL, 4, 1}); cfg.update(); auto shape = makeTriggerShape(FOUR_STROKE_CRANK_SENSOR, cfg); diff --git a/unit_tests/tests/trigger/test_trigger_input_adc.cpp b/unit_tests/tests/trigger/test_trigger_input_adc.cpp index 89ef0d77c3..e8d93c0f08 100644 --- a/unit_tests/tests/trigger/test_trigger_input_adc.cpp +++ b/unit_tests/tests/trigger/test_trigger_input_adc.cpp @@ -72,7 +72,7 @@ static void simulateTrigger(TriggerAdcDetector &trigAdcState, CsvReader &reader, TEST(big, testTriggerInputAdc) { printf("====================================================================================== testTriggerInputAdc\r\n"); - EngineTestHelper eth(TEST_ENGINE); + EngineTestHelper eth(engine_type_e::TEST_ENGINE); engineConfiguration->ignitionMode = IM_WASTED_SPARK; @@ -80,7 +80,7 @@ TEST(big, testTriggerInputAdc) { engineConfiguration->analogInputDividerCoefficient = 2.0f; // we'll test on 60-2 wheel - eth.setTriggerType(TT_TOOTHED_WHEEL_60_2); + eth.setTriggerType(trigger_type_e::TT_TOOTHED_WHEEL_60_2); ASSERT_EQ(0, engine->triggerCentral.triggerState.totalTriggerErrorCounter); ASSERT_EQ(0, Sensor::getOrZero(SensorType::Rpm)) << "testTriggerInputAdc RPM #1"; diff --git a/unit_tests/tests/trigger/test_trigger_multi_sync.cpp b/unit_tests/tests/trigger/test_trigger_multi_sync.cpp index 39ddd8190e..5e78015505 100644 --- a/unit_tests/tests/trigger/test_trigger_multi_sync.cpp +++ b/unit_tests/tests/trigger/test_trigger_multi_sync.cpp @@ -11,6 +11,6 @@ // TEST(trigger, miataNA) { // TriggerWaveform naShape; // initializeMazdaMiataNaShape(&naShape); -// EngineTestHelper eth(FRANKENSO_MIATA_NA6_MAP); +// EngineTestHelper eth(engine_type_e::FRANKENSO_MIATA_NA6_MAP); // // todo: https://github.com/rusefi/rusefi/issues/679 // } diff --git a/unit_tests/tests/trigger/test_trigger_skipped_wheel.cpp b/unit_tests/tests/trigger/test_trigger_skipped_wheel.cpp index 1db114e74a..1991b0cd33 100644 --- a/unit_tests/tests/trigger/test_trigger_skipped_wheel.cpp +++ b/unit_tests/tests/trigger/test_trigger_skipped_wheel.cpp @@ -3,10 +3,10 @@ #include "trigger_decoder.h" TEST(trigger, testCustomSkipped) { - EngineTestHelper eth(TEST_ENGINE); + EngineTestHelper eth(engine_type_e::TEST_ENGINE); engineConfiguration->trigger.customTotalToothCount = 24; engineConfiguration->trigger.customSkippedToothCount = 2; - eth.setTriggerType(TT_TOOTHED_WHEEL); + eth.setTriggerType(trigger_type_e::TT_TOOTHED_WHEEL); } diff --git a/unit_tests/tests/util/test_timer.cpp b/unit_tests/tests/util/test_timer.cpp index bfbf24c838..cc7785b2d4 100644 --- a/unit_tests/tests/util/test_timer.cpp +++ b/unit_tests/tests/util/test_timer.cpp @@ -2,7 +2,7 @@ #include "timer.h" TEST(util, timer) { - EngineTestHelper eth(TEST_ENGINE); + EngineTestHelper eth(engine_type_e::TEST_ENGINE); Timer timer; ASSERT_TRUE(timer.hasElapsedSec(3)); timer.reset();