diff --git a/firmware/config/engines/bmw_e34.cpp b/firmware/config/engines/bmw_e34.cpp index fa1dd5d76a..84e9f1f2bf 100644 --- a/firmware/config/engines/bmw_e34.cpp +++ b/firmware/config/engines/bmw_e34.cpp @@ -15,6 +15,9 @@ #include "bmw_e34.h" void setBmwE34(engine_configuration_s *engineConfiguration) { + board_configuration_s * boardConfiguration = &engineConfiguration->bc; + + boardConfiguration->tunerStudioThreadPeriod = 50; engineConfiguration->rpmHardLimit = 6000; setOperationMode(engineConfiguration, FOUR_STROKE_CRANK_SENSOR); @@ -65,6 +68,17 @@ void setBmwE34(engine_configuration_s *engineConfiguration) { bc->triggerErrorPin = GPIOE_3; + engineConfiguration->clutchUpPin = GPIOD_3; + engineConfiguration->clutchUpPinMode = PI_PULLUP; + + boardConfiguration->idleValvePin = GPIOC_13; + boardConfiguration->idleSolenoidFrequency = 300; + + // turbocharger boost control solenoid: TODO output: GPIOE_6 + // water injection #1 TODO GPIOD_7 + // water injection #2 TODO GPIOE_2 + + /** * emulating the 60-0 trigger takes some resources, let's keep it slow by default * rpm 200 diff --git a/firmware/config/engines/dodge_neon.cpp b/firmware/config/engines/dodge_neon.cpp index 14831e1ad4..9ba8815fab 100644 --- a/firmware/config/engines/dodge_neon.cpp +++ b/firmware/config/engines/dodge_neon.cpp @@ -90,8 +90,8 @@ static float dodge_map_advance_table[16][16] = { }; -void setDodgeNeon1995EngineConfiguration(engine_configuration_s *engineConfiguration, - board_configuration_s *boardConfiguration) { +void setDodgeNeon1995EngineConfiguration(engine_configuration_s *engineConfiguration) { + board_configuration_s * boardConfiguration = &engineConfiguration->bc; engineConfiguration->trigger.type = TT_DODGE_NEON_1995; @@ -181,8 +181,8 @@ void setDodgeNeon1995EngineConfiguration(engine_configuration_s *engineConfigura engineConfiguration->analogChartFrequency = 7; } -void setDodgeNeonNGCEngineConfiguration(engine_configuration_s *engineConfiguration, - board_configuration_s *boardConfiguration) { +void setDodgeNeonNGCEngineConfiguration(engine_configuration_s *engineConfiguration) { + board_configuration_s * boardConfiguration = &engineConfiguration->bc; engineConfiguration->trigger.type = TT_DODGE_NEON_2003; setFrankenso_01_LCD(boardConfiguration); setFrankenso0_1_joystick(engineConfiguration); diff --git a/firmware/config/engines/dodge_neon.h b/firmware/config/engines/dodge_neon.h index f2ebe2aca5..7417d7682f 100644 --- a/firmware/config/engines/dodge_neon.h +++ b/firmware/config/engines/dodge_neon.h @@ -13,11 +13,9 @@ #include "engine_configuration.h" -void setDodgeNeon1995EngineConfiguration(engine_configuration_s *engineConfiguration, - board_configuration_s *boardConfiguration); +void setDodgeNeon1995EngineConfiguration(engine_configuration_s *engineConfiguration); -void setDodgeNeonNGCEngineConfiguration(engine_configuration_s *engineConfiguration, - board_configuration_s *boardConfiguration); +void setDodgeNeonNGCEngineConfiguration(engine_configuration_s *engineConfiguration); #endif /* EFI_SUPPORT_DODGE_NEON */ diff --git a/firmware/config/engines/ford_aspire.cpp b/firmware/config/engines/ford_aspire.cpp index d15cd4deb4..3351d59b6f 100644 --- a/firmware/config/engines/ford_aspire.cpp +++ b/firmware/config/engines/ford_aspire.cpp @@ -75,7 +75,8 @@ static void setDefaultAspireMaps(engine_configuration_s *engineConfiguration) { copyTimingTable(default_aspire_timing_table, engineConfiguration->ignitionTable); } -void setFordAspireEngineConfiguration(engine_configuration_s *engineConfiguration, board_configuration_s *boardConfiguration) { +void setFordAspireEngineConfiguration(engine_configuration_s *engineConfiguration) { + board_configuration_s * boardConfiguration = &engineConfiguration->bc; engineConfiguration->tpsMin = 100; engineConfiguration->tpsMax = 750; diff --git a/firmware/config/engines/ford_aspire.h b/firmware/config/engines/ford_aspire.h index 22d4b423cd..090acf3213 100644 --- a/firmware/config/engines/ford_aspire.h +++ b/firmware/config/engines/ford_aspire.h @@ -14,6 +14,6 @@ #include "engine_configuration.h" -void setFordAspireEngineConfiguration(engine_configuration_s *engineConfiguration, board_configuration_s *boardConfiguration); +void setFordAspireEngineConfiguration(engine_configuration_s *engineConfiguration); #endif /* FORD_ASPIRE_H_ */ diff --git a/firmware/controllers/algo/engine_configuration.cpp b/firmware/controllers/algo/engine_configuration.cpp index 184ce41a14..03cdb3cde6 100644 --- a/firmware/controllers/algo/engine_configuration.cpp +++ b/firmware/controllers/algo/engine_configuration.cpp @@ -556,15 +556,15 @@ void resetConfigurationExt(Logging * logger, engine_type_e engineType, Engine *e break; #if EFI_SUPPORT_DODGE_NEON || defined(__DOXYGEN__) case DODGE_NEON_1995: - setDodgeNeon1995EngineConfiguration(engineConfiguration, boardConfiguration); + setDodgeNeon1995EngineConfiguration(engineConfiguration); break; case DODGE_NEON_2003: - setDodgeNeonNGCEngineConfiguration(engineConfiguration, boardConfiguration); + setDodgeNeonNGCEngineConfiguration(engineConfiguration); break; #endif /* EFI_SUPPORT_DODGE_NEON */ #if EFI_SUPPORT_FORD_ASPIRE || defined(__DOXYGEN__) case FORD_ASPIRE_1996: - setFordAspireEngineConfiguration(engineConfiguration, boardConfiguration); + setFordAspireEngineConfiguration(engineConfiguration); break; #endif /* EFI_SUPPORT_FORD_ASPIRE */ #if EFI_SUPPORT_FORD_FIESTA || defined(__DOXYGEN__) diff --git a/java_console/autotest/src/com/rusefi/AutoTest.java b/java_console/autotest/src/com/rusefi/AutoTest.java index 4180976e61..454aa9edb4 100644 --- a/java_console/autotest/src/com/rusefi/AutoTest.java +++ b/java_console/autotest/src/com/rusefi/AutoTest.java @@ -24,6 +24,7 @@ public class AutoTest { static void mainTestBody() { sendCommand("fl 1"); // just in case it was disabled testMitsu(); + testBmwE34(); testCitroenBerlingo(); testMazda626(); test2003DodgeNeon(); @@ -34,6 +35,13 @@ public class AutoTest { testFordFiesta(); } + private static void testBmwE34() { + setEngineType(25); + String msg = "BMW"; + IoUtil.changeRpm(1200); + // todo: add more content + } + private static void testMitsu() { setEngineType(16); String msg = "Mitsubishi";