diff --git a/firmware/config/engines/bmw_e34.cpp b/firmware/config/engines/bmw_e34.cpp index 7b804e3139..328fb6d6d1 100644 --- a/firmware/config/engines/bmw_e34.cpp +++ b/firmware/config/engines/bmw_e34.cpp @@ -21,7 +21,16 @@ void setBmwE43(engine_configuration_s *engineConfiguration) { engineConfiguration->triggerConfig.triggerType = TT_TOOTHED_WHEEL_60_2; engineConfiguration->cylindersCount = 6; engineConfiguration->firingOrder = FO_1_THEN_5_THEN_3_THEN_6_THEN_2_THEN_4; - engineConfiguration->injectionMode = IM_BATCH; + engineConfiguration->injectionMode = IM_SIMULTANEOUS; engineConfiguration->ignitionMode = IM_WASTED_SPARK; + board_configuration_s *bc = &engineConfiguration->bc; + + bc->ignitionPins[0] = GPIOC_7; // #1 + bc->ignitionPins[1] = GPIO_NONE; // #2 + bc->ignitionPins[2] = GPIOE_4; // #3 + bc->ignitionPins[3] = GPIO_NONE; // #4 + bc->ignitionPins[4] = GPIOC_9; // #5 + bc->ignitionPins[5] = GPIO_NONE; // #6 + } diff --git a/firmware/controllers/settings.cpp b/firmware/controllers/settings.cpp index 966fff6e62..26a4e331b1 100644 --- a/firmware/controllers/settings.cpp +++ b/firmware/controllers/settings.cpp @@ -142,13 +142,13 @@ void printConfiguration(engine_configuration_s *engineConfiguration, engine_conf for (int i = 0; i < engineConfiguration->cylindersCount; i++) { brain_pin_e brainPin = boardConfiguration->injectionPins[i]; - scheduleMsg(&logger, "injection %d @ %s", i, hwPortname(brainPin)); + scheduleMsg(&logger, "injection #%d @ %s", (1 + i), hwPortname(brainPin)); } scheduleMsg(&logger, "ignitionPins: mode %s", pinModeToString(boardConfiguration->ignitionPinMode)); for (int i = 0; i < engineConfiguration->cylindersCount; i++) { brain_pin_e brainPin = boardConfiguration->ignitionPins[i]; - scheduleMsg(&logger, "ignition %d @ %s", i, hwPortname(brainPin)); + scheduleMsg(&logger, "ignition #%d @ %s", (1 + i), hwPortname(brainPin)); } scheduleMsg(&logger, "boardTestModeJumperPin: %s", hwPortname(boardConfiguration->boardTestModeJumperPin)); @@ -446,7 +446,7 @@ static void setPotSpi(int spi) { } static void setIgnitionPin(const char *indexStr, const char *pinName) { - int index = atoi(indexStr); + int index = atoi(indexStr) - 1; // convert from human index into software index if (index < 0 || index > IGNITION_PIN_COUNT) return; brain_pin_e pin = parseBrainPin(pinName); @@ -482,7 +482,7 @@ static void setFuelPumpPin(const char *pinName) { } static void setInjectionPin(const char *indexStr, const char *pinName) { - int index = atoi(indexStr); + int index = atoi(indexStr) - 1; // convert from human index into software index if (index < 0 || index > INJECTION_PIN_COUNT) return; brain_pin_e pin = parseBrainPin(pinName);