diff --git a/firmware/config/boards/hellen/cypress/board_configuration.cpp b/firmware/config/boards/hellen/cypress/board_configuration.cpp index 2eff6d746e..b75cf323e1 100644 --- a/firmware/config/boards/hellen/cypress/board_configuration.cpp +++ b/firmware/config/boards/hellen/cypress/board_configuration.cpp @@ -42,7 +42,7 @@ void setBoardConfigurationOverrides(void) { engineConfiguration->specs.displacement = 1.645; engineConfiguration->injector.flow = 200; - engineConfiguration->cranking.baseFuel = 5; // ??? + engineConfiguration->cranking.baseFuel = 25; // ??? engineConfiguration->crankingChargeAngle = 70; engineConfiguration->cranking.rpm = 600; diff --git a/firmware/config/boards/kinetis/board_configuration.cpp b/firmware/config/boards/kinetis/board_configuration.cpp index a7f81c473f..b265190b46 100644 --- a/firmware/config/boards/kinetis/board_configuration.cpp +++ b/firmware/config/boards/kinetis/board_configuration.cpp @@ -43,7 +43,7 @@ void setBoardConfigurationOverrides(void) { engineConfiguration->specs.displacement = 1.645; engineConfiguration->injector.flow = 200; - engineConfiguration->cranking.baseFuel = 5; // ??? + engineConfiguration->cranking.baseFuel = 25; // ??? engineConfiguration->crankingChargeAngle = 70; engineConfiguration->cranking.rpm = 600; diff --git a/firmware/config/boards/prometheus/board_configuration.cpp b/firmware/config/boards/prometheus/board_configuration.cpp index f8d3f2cf5e..3a6074df42 100644 --- a/firmware/config/boards/prometheus/board_configuration.cpp +++ b/firmware/config/boards/prometheus/board_configuration.cpp @@ -43,7 +43,7 @@ static void setPrometheusDefaults(DECLARE_ENGINE_PARAMETER_SIGNATURE) { engineConfiguration->specs.displacement = 1.645; engineConfiguration->injector.flow = 200; - engineConfiguration->cranking.baseFuel = 5; // ??? + engineConfiguration->cranking.baseFuel = 25; // ??? engineConfiguration->crankingChargeAngle = 70; engineConfiguration->cranking.rpm = 600; diff --git a/firmware/config/engines/bmw_m73.cpp b/firmware/config/engines/bmw_m73.cpp index 3e41627bbf..31612c7f56 100644 --- a/firmware/config/engines/bmw_m73.cpp +++ b/firmware/config/engines/bmw_m73.cpp @@ -107,7 +107,7 @@ void m73engine(DECLARE_CONFIG_PARAMETER_SIGNATURE) { engineConfiguration->ignitionMode = IM_TWO_COILS; // set cranking_fuel 15 - engineConfiguration->cranking.baseFuel = 15; + engineConfiguration->cranking.baseFuel = 30; } diff --git a/firmware/config/engines/bmw_m73_mre.cpp b/firmware/config/engines/bmw_m73_mre.cpp index dcb2ad4fc3..ccb1e382cf 100644 --- a/firmware/config/engines/bmw_m73_mre.cpp +++ b/firmware/config/engines/bmw_m73_mre.cpp @@ -117,7 +117,7 @@ void setEngineBMW_M73_microRusEfi(DECLARE_CONFIG_PARAMETER_SIGNATURE) { // this large engine seems to crank at around only 150 RPM? And happily idle at 400RPM? engineConfiguration->cranking.rpm = 280; - CONFIG(crankingTimingAngle) = 15; + CONFIG(crankingTimingAngle) = 30; // I am too lazy to add MAP sensor engineConfiguration->fuelAlgorithm = LM_ALPHA_N_2; diff --git a/firmware/config/engines/mazda_626.cpp b/firmware/config/engines/mazda_626.cpp index eba7ed5006..9302fe5575 100644 --- a/firmware/config/engines/mazda_626.cpp +++ b/firmware/config/engines/mazda_626.cpp @@ -54,7 +54,7 @@ void setMazda626EngineConfiguration(DECLARE_CONFIG_PARAMETER_SIGNATURE) { engineConfiguration->crankingChargeAngle = 70; // set cranking_fuel 9 - engineConfiguration->cranking.baseFuel = 2.5; + engineConfiguration->cranking.baseFuel = 30; engineConfiguration->rpmHardLimit = 7400; diff --git a/firmware/config/engines/mazda_miata.cpp b/firmware/config/engines/mazda_miata.cpp index 8c8294f7b4..fe6e18832d 100644 --- a/firmware/config/engines/mazda_miata.cpp +++ b/firmware/config/engines/mazda_miata.cpp @@ -75,13 +75,6 @@ static const ignition_table_t miataNA8_maf_advance_table = { {/*0 engineLoad=1. +29.712, /*12 5760.0*/+28.651, /*13 6173.0*/+28.045, /*14 6586.0*/+27.228, /*15 7000.0*/+27.784 } }; #endif -static void setDefaultCrankingFuel(engine_configuration_s *engineConfiguration) { - // todo: set cranking parameters method based on injectors and displacement? - - // set cranking_fuel 5 - engineConfiguration->cranking.baseFuel = 5; -} - EXTERN_ENGINE; static void commonMiataNa(DECLARE_CONFIG_PARAMETER_SIGNATURE) { @@ -108,7 +101,7 @@ static void commonMiataNa(DECLARE_CONFIG_PARAMETER_SIGNATURE) { engineConfiguration->ignitionPins[3] = GPIO_UNASSIGNED; engineConfiguration->ignitionPinMode = OM_DEFAULT; - setDefaultCrankingFuel(engineConfiguration); + engineConfiguration->cranking.baseFuel = 24; engineConfiguration->triggerSimulatorPinModes[0] = OM_OPENDRAIN; engineConfiguration->triggerSimulatorPinModes[1] = OM_OPENDRAIN; diff --git a/firmware/config/engines/mazda_miata_1_6.cpp b/firmware/config/engines/mazda_miata_1_6.cpp index 35abc20528..c193178703 100644 --- a/firmware/config/engines/mazda_miata_1_6.cpp +++ b/firmware/config/engines/mazda_miata_1_6.cpp @@ -220,25 +220,23 @@ static void setMiataNA6_settings(DECLARE_CONFIG_PARAMETER_SIGNATURE) { // chartsize 200 engineConfiguration->engineChartSize = 200; - // maybe adjust CLT correction? - // set cranking_fuel 8 - engineConfiguration->cranking.baseFuel = 1; - config->crankingFuelCoef[0] = 28; // base cranking fuel adjustment coefficient + engineConfiguration->cranking.baseFuel = 24; + config->crankingFuelCoef[0] = 2.8; // base cranking fuel adjustment coefficient config->crankingFuelBins[0] = -20; // temperature in C - config->crankingFuelCoef[1] = 22; + config->crankingFuelCoef[1] = 2.2; config->crankingFuelBins[1] = -10; - config->crankingFuelCoef[2] = 18; + config->crankingFuelCoef[2] = 1.8; config->crankingFuelBins[2] = 5; - config->crankingFuelCoef[3] = 15; + config->crankingFuelCoef[3] = 1.5; config->crankingFuelBins[3] = 30; - config->crankingFuelCoef[4] = 10; + config->crankingFuelCoef[4] = 1.0; config->crankingFuelBins[4] = 35; - config->crankingFuelCoef[5] = 10; + config->crankingFuelCoef[5] = 1.0; config->crankingFuelBins[5] = 50; - config->crankingFuelCoef[6] = 10; + config->crankingFuelCoef[6] = 1.0; config->crankingFuelBins[6] = 65; - config->crankingFuelCoef[7] = 10; + config->crankingFuelCoef[7] = 1.0; config->crankingFuelBins[7] = 90; engineConfiguration->specs.displacement = 1.6; diff --git a/firmware/config/engines/mazda_miata_custom_hunchback.cpp b/firmware/config/engines/mazda_miata_custom_hunchback.cpp index 86d71cedbd..435e2b58ba 100644 --- a/firmware/config/engines/mazda_miata_custom_hunchback.cpp +++ b/firmware/config/engines/mazda_miata_custom_hunchback.cpp @@ -110,9 +110,7 @@ void setMazdaMiata2003EngineConfigurationNaFuelRail(DECLARE_CONFIG_PARAMETER_SIG setEgoSensor(ES_14Point7_Free PASS_CONFIG_PARAMETER_SUFFIX); - - // set cranking_fuel 9 - engineConfiguration->cranking.baseFuel = 9; // higher value for return system NA conversion since lower fuel pressure + engineConfiguration->cranking.baseFuel = 27; // higher value for return system NA conversion since lower fuel pressure engineConfiguration->vbattDividerCoeff = 9.30; // actual value on my new board engineConfiguration->useConstantDwellDuringCranking = true; diff --git a/firmware/config/engines/mazda_miata_vvt.cpp b/firmware/config/engines/mazda_miata_vvt.cpp index e8e06752fe..d78e62bbc2 100644 --- a/firmware/config/engines/mazda_miata_vvt.cpp +++ b/firmware/config/engines/mazda_miata_vvt.cpp @@ -419,7 +419,7 @@ void setMazdaMiata2003EngineConfiguration(DECLARE_CONFIG_PARAMETER_SIGNATURE) { // set cranking_timing_angle 10 engineConfiguration->crankingTimingAngle = 10; // set cranking_fuel 4 - engineConfiguration->cranking.baseFuel = 4; // this value for return-less NB miata fuel system, higher pressure + engineConfiguration->cranking.baseFuel = 27; // this value for return-less NB miata fuel system, higher pressure /** * Saab attempt @@ -531,25 +531,23 @@ void setMazdaMiata2003EngineConfiguration(DECLARE_CONFIG_PARAMETER_SIGNATURE) { engineConfiguration->etb.minValue = -60; engineConfiguration->etb.maxValue = 50; - engineConfiguration->cranking.baseFuel = 1; - config->crankingFuelCoef[0] = 28; // base cranking fuel adjustment coefficient + config->crankingFuelCoef[0] = 2.8; // base cranking fuel adjustment coefficient config->crankingFuelBins[0] = -20; // temperature in C - config->crankingFuelCoef[1] = 22; + config->crankingFuelCoef[1] = 2.2; config->crankingFuelBins[1] = -10; - config->crankingFuelCoef[2] = 18; + config->crankingFuelCoef[2] = 1.8; config->crankingFuelBins[2] = 5; - config->crankingFuelCoef[3] = 15; + config->crankingFuelCoef[3] = 1.5; config->crankingFuelBins[3] = 30; - config->crankingFuelCoef[4] = 10; + config->crankingFuelCoef[4] = 1.0; config->crankingFuelBins[4] = 35; - config->crankingFuelCoef[5] = 10; + config->crankingFuelCoef[5] = 1.0; config->crankingFuelBins[5] = 50; - config->crankingFuelCoef[6] = 10; + config->crankingFuelCoef[6] = 1.0; config->crankingFuelBins[6] = 65; - config->crankingFuelCoef[7] = 10; + config->crankingFuelCoef[7] = 1.0; config->crankingFuelBins[7] = 90; - } /** @@ -600,9 +598,6 @@ static void setMiataNB2_MRE_common(DECLARE_CONFIG_PARAMETER_SIGNATURE) { CONFIG(isSdCardEnabled) = true; - // set cranking_fuel 9 - engineConfiguration->cranking.baseFuel = 9; // higher value for return system NA conversion since lower fuel pressure - engineConfiguration->useConstantDwellDuringCranking = true; engineConfiguration->ignitionDwellForCrankingMs = 8; diff --git a/firmware/config/engines/me7pnp.cpp b/firmware/config/engines/me7pnp.cpp index 6abc8effd3..7708e94fd6 100644 --- a/firmware/config/engines/me7pnp.cpp +++ b/firmware/config/engines/me7pnp.cpp @@ -40,7 +40,7 @@ void vag_18_Turbo(DECLARE_CONFIG_PARAMETER_SIGNATURE) { engineConfiguration->injectionPinMode = OM_OPENDRAIN_INVERTED; engineConfiguration->isCylinderCleanupEnabled = true; engineConfiguration->rpmHardLimit = 8000; - engineConfiguration->cranking.baseFuel = 4; + engineConfiguration->cranking.baseFuel = 28; //Analog Inputs diff --git a/firmware/controllers/algo/engine_configuration.cpp b/firmware/controllers/algo/engine_configuration.cpp index 6e84301ba9..8a77056cd8 100644 --- a/firmware/controllers/algo/engine_configuration.cpp +++ b/firmware/controllers/algo/engine_configuration.cpp @@ -905,7 +905,7 @@ static void setDefaultEngineConfiguration(DECLARE_ENGINE_PARAMETER_SIGNATURE) { * Cranking defaults */ engineConfiguration->startUpFuelPumpDuration = 4; - engineConfiguration->cranking.baseFuel = 12; + engineConfiguration->cranking.baseFuel = 27; engineConfiguration->crankingChargeAngle = 70; diff --git a/unit_tests/tests/ignition_injection/test_startOfCrankingPrimingPulse.cpp b/unit_tests/tests/ignition_injection/test_startOfCrankingPrimingPulse.cpp index fbbaa32a9c..62f0bd1a78 100644 --- a/unit_tests/tests/ignition_injection/test_startOfCrankingPrimingPulse.cpp +++ b/unit_tests/tests/ignition_injection/test_startOfCrankingPrimingPulse.cpp @@ -10,6 +10,8 @@ TEST(engine, testPlainCrankingWithoutAdvancedFeatures) { WITH_ENGINE_TEST_HELPER(TEST_ENGINE); + engineConfiguration->cranking.baseFuel = 12; + setupSimpleTestEngineWithMafAndTT_ONE_trigger(ð); ASSERT_EQ( 0, GET_RPM()) << "RPM=0"; diff --git a/unit_tests/tests/test_fasterEngineSpinningUp.cpp b/unit_tests/tests/test_fasterEngineSpinningUp.cpp index 3171d0f5c4..211b328f45 100644 --- a/unit_tests/tests/test_fasterEngineSpinningUp.cpp +++ b/unit_tests/tests/test_fasterEngineSpinningUp.cpp @@ -8,11 +8,10 @@ #include "engine_test_helper.h" TEST(cranking, testFasterEngineSpinningUp) { - printf("*************************************************** testFasterEngineSpinningUp\r\n"); - WITH_ENGINE_TEST_HELPER(TEST_ENGINE); // turn on FasterEngineSpinUp mode engineConfiguration->isFasterEngineSpinUpEnabled = true; + engineConfiguration->cranking.baseFuel = 12; // set ignition mode engineConfiguration->ignitionMode = IM_INDIVIDUAL_COILS;