diff --git a/firmware/controllers/algo/defaults/default_base_engine.cpp b/firmware/controllers/algo/defaults/default_base_engine.cpp index 2779e2a4b5..d562a266d0 100644 --- a/firmware/controllers/algo/defaults/default_base_engine.cpp +++ b/firmware/controllers/algo/defaults/default_base_engine.cpp @@ -21,6 +21,8 @@ void setDefaultBaseEngine() { engineConfiguration->compressionRatio = 9; + engineConfiguration->turbochargerFilter = 0.01f; + engineConfiguration->fuelAlgorithm = LM_SPEED_DENSITY; // let's have valid default while we still have the field engineConfiguration->debugMode = DBG_INSTANT_RPM; diff --git a/firmware/init/sensor/init_input_shaft_speed_sensor.cpp b/firmware/init/sensor/init_input_shaft_speed_sensor.cpp index 07744b223e..8428586da9 100644 --- a/firmware/init/sensor/init_input_shaft_speed_sensor.cpp +++ b/firmware/init/sensor/init_input_shaft_speed_sensor.cpp @@ -1,5 +1,10 @@ #include "pch.h" +/** + * We were NOT able to get this code working reliable + * it could be that biquad parameter or biquad overall is part of the problem + */ + #include "init.h" #include "frequency_sensor.h" #include "input_shaft_speed_converter.h" diff --git a/firmware/init/sensor/init_turbocharger_speed_sensor.cpp b/firmware/init/sensor/init_turbocharger_speed_sensor.cpp index 347e1b096e..af9c718c6f 100644 --- a/firmware/init/sensor/init_turbocharger_speed_sensor.cpp +++ b/firmware/init/sensor/init_turbocharger_speed_sensor.cpp @@ -1,5 +1,9 @@ #include "pch.h" +/** + * See init_input_shaft_speed_sensor.cpp concerns - those might apply here as well! + */ + #include "init.h" #include "frequency_sensor.h" #include "turbocharger_speed_converter.h" @@ -10,7 +14,7 @@ static TurbochargerSpeedConverter turbochargerSpeedConverter; void initTurbochargerSpeedSensor() { // Filter parameter of 0.01 filters over roughly 100 teeth - turbochargerSpeedSensor.initIfValid(engineConfiguration->turboSpeedSensorInputPin, turbochargerSpeedConverter, 0.01f); + turbochargerSpeedSensor.initIfValid(engineConfiguration->turboSpeedSensorInputPin, turbochargerSpeedConverter, engineConfiguration->turbochargerFilter); } void deinitTurbochargerSpeedSensor() { diff --git a/firmware/integration/rusefi_config.txt b/firmware/integration/rusefi_config.txt index 86126519e6..e1b28b3b37 100644 --- a/firmware/integration/rusefi_config.txt +++ b/firmware/integration/rusefi_config.txt @@ -958,7 +958,7 @@ bit verboseCan2,"Print all","Do not print";Print incoming and outgoing second bu int launchFuelAdded;+Extra Fuel Added;"%", 1, 0, 0, 100, 0 int launchBoostDuty;+Duty Cycle for the Boost Solenoid;"%", 1, 0, 0, 100, 0 int hardCutRpmRange;Range from Launch RPM to activate Hard Cut;"RPM", 1, 0, 0, 3000, 0 - int unused962 + float turbochargerFilter int launchTpsThreshold;;"", 1, 0, 0, 20000, 0 float launchActivateDelay;;"", 1, 0, 0, 20000, 0 diff --git a/firmware/tunerstudio/rusefi.input b/firmware/tunerstudio/rusefi.input index 194e6e5037..3016e7cce4 100644 --- a/firmware/tunerstudio/rusefi.input +++ b/firmware/tunerstudio/rusefi.input @@ -4029,6 +4029,7 @@ dialog = tcuControls, "Transmission Settings" field = "Artificial Misfire", artificialTestMisfire field = "Always use instant RPM", alwaysInstantRpm field = vinNumber, vinNumber + field = turbochargerFilter, turbochargerFilter field = "TODO KS mode 4569", kickStartCranking panel = allTriggerDebug panel = torqueTableTbl