diff --git a/firmware/config/boards/kinetis/config/controllers/algo/auto_generated_enums.cpp b/firmware/config/boards/kinetis/config/controllers/algo/auto_generated_enums.cpp index 15385a2f0d..c2e6f9e4b3 100644 --- a/firmware/config/boards/kinetis/config/controllers/algo/auto_generated_enums.cpp +++ b/firmware/config/boards/kinetis/config/controllers/algo/auto_generated_enums.cpp @@ -609,6 +609,8 @@ case BMW_M73_M: return "BMW_M73_M"; case BMW_M73_PROTEUS: return "BMW_M73_P"; +case BMW_M73_MRE: + return "BMW_M73_MRE"; case MIATA_1996: return "MIATA_1996"; case MIATA_NA6_MAP: diff --git a/firmware/config/engines/bmw_m73.cpp b/firmware/config/engines/bmw_m73.cpp index ab9a8a2ee3..cf9d50a627 100644 --- a/firmware/config/engines/bmw_m73.cpp +++ b/firmware/config/engines/bmw_m73.cpp @@ -65,12 +65,12 @@ * @author Andrey Belomutskiy, (c) 2012-2020 */ -#include "engine_template.h" +#include "bmw_m73.h" #include "custom_engine.h" EXTERN_CONFIG; -static void m73engine(DECLARE_CONFIG_PARAMETER_SIGNATURE) { +void m73engine(DECLARE_CONFIG_PARAMETER_SIGNATURE) { // 13641435991 injector engineConfiguration->injector.flow = 180; // cc/min, who knows if this number is real - no good source of info @@ -186,15 +186,18 @@ GPIOA_6 // PWM pin engineConfiguration->etbIo[0].controlPin1 = GPIO_UNASSIGNED; // DIR pin - engineConfiguration->etbIo[0].directionPin1 = GPIOC_9; - engineConfiguration->etbIo[0].directionPin2 = GPIOC_8; + engineConfiguration->etbIo[0].directionPin1 = GPIOC_8; + engineConfiguration->etbIo[0].directionPin2 = GPIOC_9; CONFIG(etb_use_two_wires) = true; // PWM pin engineConfiguration->etbIo[1].controlPin1 = GPIO_UNASSIGNED; // DIR pin - engineConfiguration->etbIo[1].directionPin1 = GPIOB_8; - engineConfiguration->etbIo[1].directionPin2 = GPIOB_9; + engineConfiguration->etbIo[1].directionPin1 = GPIOB_9; + engineConfiguration->etbIo[1].directionPin2 = GPIOB_8; + + CONFIG(tps2Min) = CONFIG(tpsMin); + CONFIG(tps2Max) = CONFIG(tpsMax); engineConfiguration->injectionPins[0] = GPIO_UNASSIGNED; diff --git a/firmware/config/engines/bmw_m73.h b/firmware/config/engines/bmw_m73.h index 120ebbb34f..5d4c68f206 100644 --- a/firmware/config/engines/bmw_m73.h +++ b/firmware/config/engines/bmw_m73.h @@ -1,5 +1,5 @@ /* - * @file engine_template.h + * @file bmw_m73.h * * @date Nov 1, 2019 * @author Andrey Belomutskiy, (c) 2012-2020 @@ -9,6 +9,10 @@ #include "engine_configuration.h" +void m73engine(DECLARE_CONFIG_PARAMETER_SIGNATURE); + void setEngineBMW_M73_Frankenso(DECLARE_CONFIG_PARAMETER_SIGNATURE); void setEngineBMW_M73_Manhattan(DECLARE_CONFIG_PARAMETER_SIGNATURE); void setEngineBMW_M73_Proteus(DECLARE_CONFIG_PARAMETER_SIGNATURE); + +void setEngineBMW_M73_microRusEfi(DECLARE_CONFIG_PARAMETER_SIGNATURE); diff --git a/firmware/config/engines/bmw_m73_mre.cpp b/firmware/config/engines/bmw_m73_mre.cpp new file mode 100644 index 0000000000..fbc2c492a2 --- /dev/null +++ b/firmware/config/engines/bmw_m73_mre.cpp @@ -0,0 +1,14 @@ +/* + * @file bmw_m73_mre.cpp + * + * + * BMW_M73_MRE + * set engine_type 104 + * + */ + +#include "bmw_m73.h" + +void setEngineBMW_M73_microRusEfi(DECLARE_CONFIG_PARAMETER_SIGNATURE) { + +} diff --git a/firmware/config/engines/engines.mk b/firmware/config/engines/engines.mk index 6352602767..2b857e14e0 100644 --- a/firmware/config/engines/engines.mk +++ b/firmware/config/engines/engines.mk @@ -5,6 +5,7 @@ ENGINES_SRC_CPP = $(PROJECT_DIR)/config/engines/ford_aspire.cpp \ $(PROJECT_DIR)/config/engines/custom_engine.cpp \ $(PROJECT_DIR)/config/engines/bmw_e34.cpp \ $(PROJECT_DIR)/config/engines/bmw_m73.cpp \ + $(PROJECT_DIR)/config/engines/bmw_m73_mre.cpp \ $(PROJECT_DIR)/config/engines/mazda_miata.cpp \ $(PROJECT_DIR)/config/engines/mazda_miata_base_maps.cpp \ $(PROJECT_DIR)/config/engines/mazda_miata_1_6.cpp \ diff --git a/firmware/controllers/algo/auto_generated_enums.cpp b/firmware/controllers/algo/auto_generated_enums.cpp index 666efbd60d..588b59576f 100644 --- a/firmware/controllers/algo/auto_generated_enums.cpp +++ b/firmware/controllers/algo/auto_generated_enums.cpp @@ -717,6 +717,8 @@ case BMW_M73_F: return "BMW_M73_F"; case BMW_M73_M: return "BMW_M73_M"; +case BMW_M73_MRE: + return "BMW_M73_MRE"; case BMW_M73_PROTEUS: return "BMW_M73_P"; case MRE_BOARD_TEST: diff --git a/firmware/controllers/algo/engine_configuration.cpp b/firmware/controllers/algo/engine_configuration.cpp index 9e62b96499..367d32bd59 100644 --- a/firmware/controllers/algo/engine_configuration.cpp +++ b/firmware/controllers/algo/engine_configuration.cpp @@ -1145,6 +1145,7 @@ void resetConfigurationExt(Logging * logger, configuration_callback_t boardCallb case BMW_M73_M: setEngineBMW_M73_Manhattan(PASS_CONFIG_PARAMETER_SIGNATURE); break; + case BMW_M73_MRE: case BMW_M73_PROTEUS: setEngineBMW_M73_Proteus(PASS_CONFIG_PARAMETER_SIGNATURE); break; diff --git a/firmware/controllers/algo/rusefi_enums.h b/firmware/controllers/algo/rusefi_enums.h index 493d5d67c4..3c313448ce 100644 --- a/firmware/controllers/algo/rusefi_enums.h +++ b/firmware/controllers/algo/rusefi_enums.h @@ -195,6 +195,8 @@ typedef enum { TEST_33816 = 103, + BMW_M73_MRE = 104, + Force_4_bytes_size_engine_type = ENUM_32_BITS, } engine_type_e; diff --git a/firmware/controllers/engine_controller.cpp b/firmware/controllers/engine_controller.cpp index 768af7b50f..ff12cb10eb 100644 --- a/firmware/controllers/engine_controller.cpp +++ b/firmware/controllers/engine_controller.cpp @@ -849,6 +849,6 @@ int getRusEfiVersion(void) { if (initBootloader() != 0) return 123; #endif /* EFI_BOOTLOADER_INCLUDE_CODE */ - return 201200310; + return 201200311; } #endif /* EFI_UNIT_TEST */