diff --git a/firmware/config/boards/subaru_eg33/board_configuration.cpp b/firmware/config/boards/subaru_eg33/board_configuration.cpp index b70f9fe704..06a70d0f4c 100644 --- a/firmware/config/boards/subaru_eg33/board_configuration.cpp +++ b/firmware/config/boards/subaru_eg33/board_configuration.cpp @@ -207,14 +207,6 @@ void setBoardDefaultConfiguration() { engineConfiguration->knockBankCyl5 = 0; engineConfiguration->knockBankCyl6 = 1; - /* Cylinder to bank mapping */ - engineConfiguration->cylinderBankSelect[1 - 1] = 0; - engineConfiguration->cylinderBankSelect[2 - 1] = 1; - engineConfiguration->cylinderBankSelect[3 - 1] = 0; - engineConfiguration->cylinderBankSelect[4 - 1] = 1; - engineConfiguration->cylinderBankSelect[5 - 1] = 0; - engineConfiguration->cylinderBankSelect[6 - 1] = 1; - /* Misc settings */ engineConfiguration->acSwitch = Gpio::MC33972_PIN_22; engineConfiguration->acSwitchMode = PI_DEFAULT; diff --git a/firmware/config/engines/subaru.cpp b/firmware/config/engines/subaru.cpp index 4e878c35e1..27c64dbaf1 100644 --- a/firmware/config/engines/subaru.cpp +++ b/firmware/config/engines/subaru.cpp @@ -12,6 +12,7 @@ #include "subaru.h" #include "custom_engine.h" +#include "defaults.h" void setSubaru2003Wrx() { setFrankenso_01_LCD(engineConfiguration); @@ -71,6 +72,7 @@ void setSubaruEG33Defaults() { engineConfiguration->useOnlyRisingEdgeForTrigger = true; engineConfiguration->specs.cylindersCount = 6; + setLeftRightBanksNeedBetterName(); engineConfiguration->specs.firingOrder = FO_1_6_3_2_5_4; engineConfiguration->ignitionMode = IM_INDIVIDUAL_COILS; diff --git a/firmware/controllers/algo/defaults/default_base_engine.cpp b/firmware/controllers/algo/defaults/default_base_engine.cpp index d562a266d0..498a8b60ce 100644 --- a/firmware/controllers/algo/defaults/default_base_engine.cpp +++ b/firmware/controllers/algo/defaults/default_base_engine.cpp @@ -13,6 +13,13 @@ static void setDefaultAlternatorParameters() { engineConfiguration->alternatorControl.periodMs = 100; } +/* Cylinder to bank mapping */ +void setLeftRightBanksNeedBetterName() { + for (int i = 0;ispecs.cylindersCount;i++) { + engineConfiguration->cylinderBankSelect[i] = i % 2; + } +} + void setDefaultBaseEngine() { // Base Engine Settings engineConfiguration->specs.cylindersCount = 4; diff --git a/firmware/controllers/algo/defaults/defaults.h b/firmware/controllers/algo/defaults/defaults.h index cf7f9ff3f5..014fbd4816 100644 --- a/firmware/controllers/algo/defaults/defaults.h +++ b/firmware/controllers/algo/defaults/defaults.h @@ -1,4 +1,8 @@ +/** + * file defaults.h + */ +void setLeftRightBanksNeedBetterName(); void setDefaultBaseEngine(); void setDefaultFuel(); void setDefaultIgnition();