diff --git a/firmware/config/engines/hyundai.cpp b/firmware/config/engines/hyundai.cpp index 5ea9e73a71..b108956400 100644 --- a/firmware/config/engines/hyundai.cpp +++ b/firmware/config/engines/hyundai.cpp @@ -9,6 +9,7 @@ #include "hyundai.h" #include "proteus_meta.h" +#include "defaults.h" static void set201xHyundai() { setPPSCalibration(0.73, 4.0, 0.34, 1.86); @@ -28,6 +29,9 @@ void setHyundaiPb() { engineConfiguration->globalTriggerAngleOffset = 90; set201xHyundai(); + // Injectors flow 1214 cc/min at 100 bar pressure + engineConfiguration->injector.flow = 1214; + setGDIFueling(); engineConfiguration->map.sensor.type = MT_CUSTOM; engineConfiguration->map.sensor.lowValue = 20; diff --git a/firmware/config/engines/vw_b6.cpp b/firmware/config/engines/vw_b6.cpp index 2daf4234ff..2cc8718b64 100644 --- a/firmware/config/engines/vw_b6.cpp +++ b/firmware/config/engines/vw_b6.cpp @@ -47,15 +47,8 @@ static void commonPassatB6() { // Injectors flow 1214 cc/min at 100 bar pressure engineConfiguration->injector.flow = 1214; - // Use high pressure sensor - engineConfiguration->injectorPressureType = IPT_High; - // Automatic compensation of injector flow based on rail pressure - engineConfiguration->injectorCompensationMode = ICM_SensedRailPressure; - // Reference rail pressure is 10 000 kPa = 100 bar - engineConfiguration->fuelReferencePressure = 10000; - //setting "flat" 0.2 ms injector's lag time - setArrayValues(engineConfiguration->injector.battLagCorr, 0.2); - + setGDIFueling(); + strcpy(engineConfiguration->engineMake, ENGINE_MAKE_VAG); strcpy(engineConfiguration->engineCode, "BPY"); strcpy(engineConfiguration->vehicleName, "test"); diff --git a/firmware/controllers/algo/defaults/default_base_engine.cpp b/firmware/controllers/algo/defaults/default_base_engine.cpp index 8330841583..4284f7a9b7 100644 --- a/firmware/controllers/algo/defaults/default_base_engine.cpp +++ b/firmware/controllers/algo/defaults/default_base_engine.cpp @@ -14,6 +14,17 @@ static void setDefaultAlternatorParameters() { engineConfiguration->alternatorControl.periodMs = 100; } +void setGDIFueling() { + // Use high pressure sensor + engineConfiguration->injectorPressureType = IPT_High; + // Automatic compensation of injector flow based on rail pressure + engineConfiguration->injectorCompensationMode = ICM_SensedRailPressure; + // Reference rail pressure is 10 000 kPa = 100 bar + engineConfiguration->fuelReferencePressure = 10000; + //setting "flat" 0.2 ms injector's lag time + setArrayValues(engineConfiguration->injector.battLagCorr, 0.2); +} + /* Cylinder to bank mapping */ void setLeftRightBanksNeedBetterName() { for (size_t i = 0; i < engineConfiguration->cylindersCount; i++) { diff --git a/firmware/controllers/algo/defaults/defaults.h b/firmware/controllers/algo/defaults/defaults.h index c1f202f31b..b83aec7860 100644 --- a/firmware/controllers/algo/defaults/defaults.h +++ b/firmware/controllers/algo/defaults/defaults.h @@ -7,6 +7,7 @@ void setDefaultBaseEngine(); void setDefaultFuel(); void setDefaultIgnition(); void setDefaultCranking(); +void setGDIFueling(); void setPPSInputs(adc_channel_e pps1, adc_channel_e pps2); void setPPSCalibration(float primaryUp, float primaryDown, float secondaryUp, float secondaryDown);