diff --git a/firmware/config/engines/dodge_ram.cpp b/firmware/config/engines/dodge_ram.cpp new file mode 100644 index 0000000000..b2fe8b3a1a --- /dev/null +++ b/firmware/config/engines/dodge_ram.cpp @@ -0,0 +1,29 @@ +/* + * @file dodge_ram.cpp + * + * set_engine_type 31 + * + * @date Apr 22, 2015 + * @author Andrey Belomutskiy, (c) 2012-2015 + */ + +#include "main.h" +#include "dodge_ram.h" + +EXTERN_ENGINE +; + +void setDodgeRam1996(DECLARE_ENGINE_PARAMETER_F) { + board_configuration_s * boardConfiguration = &engineConfiguration->bc; + + setOperationMode(engineConfiguration, FOUR_STROKE_CAM_SENSOR); + engineConfiguration->trigger.type = TT_ONE_PLUS_TOOTHED_WHEEL_60_2; + + + //Base engine setting + engineConfiguration->specs.cylindersCount = 8; + engineConfiguration->specs.firingOrder = FO_1_8_4_3_6_5_7_2; + + boardConfiguration->triggerInputPins[0] = GPIOC_6; + boardConfiguration->triggerInputPins[1] = GPIOA_8; +} diff --git a/firmware/config/engines/dodge_ram.h b/firmware/config/engines/dodge_ram.h new file mode 100644 index 0000000000..1bd8093a3c --- /dev/null +++ b/firmware/config/engines/dodge_ram.h @@ -0,0 +1,15 @@ +/* + * @file dodge_ram.h + * + * @date Apr 22, 2015 + * @author Andrey Belomutskiy, (c) 2012-2015 + */ + +#ifndef CONFIG_ENGINES_DODGE_RAM_H_ +#define CONFIG_ENGINES_DODGE_RAM_H_ + +#include "engine.h" + +void setDodgeRam1996(DECLARE_ENGINE_PARAMETER_F); + +#endif /* CONFIG_ENGINES_DODGE_RAM_H_ */ diff --git a/firmware/config/engines/engines.mk b/firmware/config/engines/engines.mk index f7b445e800..c02c37e65b 100644 --- a/firmware/config/engines/engines.mk +++ b/firmware/config/engines/engines.mk @@ -25,5 +25,6 @@ ENGINES_SRC_CPP = $(PROJECT_DIR)/config/engines/ford_aspire.cpp \ $(PROJECT_DIR)/config/engines/sachs.cpp \ $(PROJECT_DIR)/config/engines/test_engine.cpp \ $(PROJECT_DIR)/config/engines/mitsubishi.cpp \ - $(PROJECT_DIR)/config/engines/gm_2_2.cpp + $(PROJECT_DIR)/config/engines/gm_2_2.cpp \ + $(PROJECT_DIR)/config/engines/dodge_ram.cpp \ No newline at end of file diff --git a/firmware/config/engines/gm_2_2.cpp b/firmware/config/engines/gm_2_2.cpp index 66f2889a63..5f9c40cddb 100644 --- a/firmware/config/engines/gm_2_2.cpp +++ b/firmware/config/engines/gm_2_2.cpp @@ -21,6 +21,4 @@ void setGm2_2(DECLARE_ENGINE_PARAMETER_F) { boardConfiguration->triggerInputPins[0] = GPIOC_6; boardConfiguration->triggerInputPins[1] = GPIOA_8; - } - diff --git a/firmware/controllers/algo/auto_generated_enums.cpp b/firmware/controllers/algo/auto_generated_enums.cpp index b16c72a8ba..53fbe042f2 100644 --- a/firmware/controllers/algo/auto_generated_enums.cpp +++ b/firmware/controllers/algo/auto_generated_enums.cpp @@ -18,6 +18,8 @@ case SACHS: return "SACHS"; case GM_2_2: return "GM_2_2"; +case DODGE_RAM: + return "DODGE_RAM"; case BMW_E34: return "BMW_E34"; case CITROEN_TU3JP: @@ -121,6 +123,8 @@ case TT_ONE_PLUS_TOOTHED_WHEEL_60_2: return "TT_ONE_PLUS_TOOTHED_WHEEL_60_2"; case TT_ONE: return "TT_ONE"; +case TT_DODGE_RAM: + return "TT_DODGE_RAM"; } return NULL; } diff --git a/firmware/controllers/algo/engine_configuration.cpp b/firmware/controllers/algo/engine_configuration.cpp index 00673740b8..aec1331c27 100644 --- a/firmware/controllers/algo/engine_configuration.cpp +++ b/firmware/controllers/algo/engine_configuration.cpp @@ -55,6 +55,7 @@ #include "test_engine.h" #include "sachs.h" #include "gm_2_2.h" +#include "dodge_ram.h" EXTERN_ENGINE; @@ -719,6 +720,9 @@ void resetConfigurationExt(Logging * logger, engine_type_e engineType DECLARE_EN case GM_2_2: setGm2_2(PASS_ENGINE_PARAMETER_F); break; + case DODGE_RAM: + setDodgeRam1996(PASS_ENGINE_PARAMETER_F); + break; case TEST_ENGINE: setTestEngineConfiguration(PASS_ENGINE_PARAMETER_F); break; diff --git a/firmware/controllers/algo/rusefi_enums.h b/firmware/controllers/algo/rusefi_enums.h index 0d96b89dca..cb23a6df11 100644 --- a/firmware/controllers/algo/rusefi_enums.h +++ b/firmware/controllers/algo/rusefi_enums.h @@ -97,7 +97,9 @@ typedef enum { GM_2_2 = 30, - ET_UNUSED = 31, + DODGE_RAM = 31, + + ET_UNUSED = 32, Force_4b_engine_type = ENUM_32_BITS, } engine_type_e; @@ -132,6 +134,8 @@ typedef enum { TT_ONE_PLUS_TOOTHED_WHEEL_60_2 = 17, TT_ONE = 18, + TT_DODGE_RAM = 19, + Force_4b_trigger_type = ENUM_32_BITS, } trigger_type_e; diff --git a/firmware/controllers/settings.cpp b/firmware/controllers/settings.cpp index a094b690c4..0b4b301a79 100644 --- a/firmware/controllers/settings.cpp +++ b/firmware/controllers/settings.cpp @@ -174,6 +174,8 @@ const char* getConfigurationName(engine_type_e engineType) { return "SACHS"; case GM_2_2: return "GM_2_2"; + case DODGE_RAM: + return "DODGE_RAM"; case MAZDA_626: return "Mazda626"; default: