From e9498f64db408ac85c3322a75cb92a7e19f3eb29 Mon Sep 17 00:00:00 2001 From: rusefillc Date: Mon, 3 Jan 2022 02:13:47 -0500 Subject: [PATCH] GDI/HPFP: Set HPFP current/timing params on MC33816 #3736 follow-up --- firmware/config/engines/custom_engine.cpp | 5 +++++ firmware/config/engines/vw_b6.cpp | 1 - firmware/controllers/algo/engine_configuration.cpp | 2 ++ firmware/hw_layer/mc33816.cpp | 4 ++-- firmware/integration/rusefi_config.txt | 4 ++-- 5 files changed, 11 insertions(+), 5 deletions(-) diff --git a/firmware/config/engines/custom_engine.cpp b/firmware/config/engines/custom_engine.cpp index 69584f7897..916ba57d8b 100644 --- a/firmware/config/engines/custom_engine.cpp +++ b/firmware/config/engines/custom_engine.cpp @@ -702,6 +702,11 @@ void setBoschHDEV_5_injectors() { engineConfiguration->mc33_t_bypass = 15; engineConfiguration->mc33_t_hold_off = 60; engineConfiguration->mc33_t_hold_tot = 10000; + + engineConfiguration->mc33_hpfp_i_peak = 5; // A not mA like above + engineConfiguration->mc33_hpfp_i_hold = 3; + engineConfiguration->mc33_hpfp_i_hold_off = 10; // us + engineConfiguration->mc33_hpfp_max_hold = 10; // this value in ms not us } /** diff --git a/firmware/config/engines/vw_b6.cpp b/firmware/config/engines/vw_b6.cpp index 2bc4076092..312ab264a6 100644 --- a/firmware/config/engines/vw_b6.cpp +++ b/firmware/config/engines/vw_b6.cpp @@ -77,7 +77,6 @@ void setVwPassatB6() { engineConfiguration->isSdCardEnabled = false; engineConfiguration->mc33816spiDevice = SPI_DEVICE_3; - setBoschHDEV_5_injectors(); // RED engineConfiguration->spi3mosiPin = GPIOC_12; // YELLOW diff --git a/firmware/controllers/algo/engine_configuration.cpp b/firmware/controllers/algo/engine_configuration.cpp index ce2eb2b5a0..9a3adcdad5 100644 --- a/firmware/controllers/algo/engine_configuration.cpp +++ b/firmware/controllers/algo/engine_configuration.cpp @@ -647,6 +647,8 @@ static void setDefaultEngineConfiguration() { engineConfiguration->cylinderBore = 87.5; + setBoschHDEV_5_injectors(); + setEgoSensor(ES_14Point7_Free); engineConfiguration->globalFuelCorrection = 1; diff --git a/firmware/hw_layer/mc33816.cpp b/firmware/hw_layer/mc33816.cpp index fad078b825..798287a938 100644 --- a/firmware/hw_layer/mc33816.cpp +++ b/firmware/hw_layer/mc33816.cpp @@ -175,9 +175,9 @@ static void setTimings() { // HPFP solenoid settings mcUpdateDram(MC33816Mem::HPFP_Ipeak, - dacEquation(engineConfiguration->mc33_hpfp_i_peak * 100)); + dacEquation(engineConfiguration->mc33_hpfp_i_peak * 1000)); mcUpdateDram(MC33816Mem::HPFP_Ihold, - dacEquation(engineConfiguration->mc33_hpfp_i_hold * 100)); + dacEquation(engineConfiguration->mc33_hpfp_i_hold * 1000)); mcUpdateDram(MC33816Mem::HPFP_Thold_off, std::min(MC_CK * engineConfiguration->mc33_hpfp_i_hold_off, UINT16_MAX)); diff --git a/firmware/integration/rusefi_config.txt b/firmware/integration/rusefi_config.txt index c0486a97f7..a55f27558c 100644 --- a/firmware/integration/rusefi_config.txt +++ b/firmware/integration/rusefi_config.txt @@ -1200,8 +1200,8 @@ int16_t tps2Max;Full throttle#2. tpsMax value as 10 bit ADC value. Not Voltage!\ custom load_override_e 1 bits, U08, @OFFSET@, [0:2], @@load_override_e_enum@@ load_override_e afrOverrideMode;+Override the Y axis (load) value used for the AFR table.\nAdvanced users only: If you aren't sure you need this, you probably don't need this. - uint8_t mc33_hpfp_i_peak;;"A", 0.1, 0, 0, 25, 1 - uint8_t mc33_hpfp_i_hold;;"A", 0.1, 0, 0, 25, 1 + uint8_t autoscale mc33_hpfp_i_peak;;"A", 0.1, 0, 0, 25, 1 + uint8_t autoscale mc33_hpfp_i_hold;;"A", 0.1, 0, 0, 25, 1 uint8_t mc33_hpfp_i_hold_off;+How long to deactivate power when hold current is reached before applying power again;"us", 1, 0, 0, 255, 0 uint8_t mc33_hpfp_max_hold;+Maximum amount of time the solenoid can be active before assuming a programming error;"ms", 1, 0, 0, 255, 0