diff --git a/firmware/config/engines/sachs.cpp b/firmware/config/engines/sachs.cpp index 8f39e2e284..73dfa31090 100644 --- a/firmware/config/engines/sachs.cpp +++ b/firmware/config/engines/sachs.cpp @@ -82,8 +82,8 @@ void setSachs(DECLARE_CONFIG_PARAMETER_SIGNATURE) { // todo: extract a method? figure out something smarter setTimingRpmBin(800, 15000 PASS_CONFIG_PARAMETER_SUFFIX); - setLinearCurve(config->veRpmBins, 15000, 7000, 1); - setLinearCurve(config->lambdaRpmBins, 15000, 7000, 1); + setLinearCurve(config->veRpmBins, 7000, 15000, 1); + setLinearCurve(config->lambdaRpmBins, 500, 7000, 1); engineConfiguration->hasFrequencyReportingMapSensor = true; engineConfiguration->frequencyReportingMapInputPin = GPIOC_6; diff --git a/firmware/controllers/algo/engine_configuration.cpp b/firmware/controllers/algo/engine_configuration.cpp index 7f288eaaea..6d94dff520 100644 --- a/firmware/controllers/algo/engine_configuration.cpp +++ b/firmware/controllers/algo/engine_configuration.cpp @@ -366,7 +366,7 @@ static void setCanFrankensoDefaults(DECLARE_CONFIG_PARAMETER_SIGNATURE) { * see also setDefaultIdleSpeedTarget() */ void setTargetRpmCurve(int rpm DECLARE_CONFIG_PARAMETER_SUFFIX) { - setLinearCurve(engineConfiguration->cltIdleRpmBins, CLT_CURVE_RANGE_FROM, 90, 10); + setLinearCurve(engineConfiguration->cltIdleRpmBins, CLT_CURVE_RANGE_FROM, 140, 10); setLinearCurve(engineConfiguration->cltIdleRpm, rpm, rpm, 10); } diff --git a/firmware/util/math/interpolation.h b/firmware/util/math/interpolation.h index 0ce61104e0..09af1879af 100644 --- a/firmware/util/math/interpolation.h +++ b/firmware/util/math/interpolation.h @@ -31,7 +31,7 @@ void ensureArrayIsAscending(const char* msg, const TValue (&values)[TSize]) { auto cur = values[i]; auto next = values[i + 1]; if (next <= cur) { - firmwareError(CUSTOM_ERR_AXIS_ORDER, "Invalid table axis (must be ascending!): %s %f %f", msg, cur, next); + firmwareError(CUSTOM_ERR_AXIS_ORDER, "Invalid table axis (must be ascending!): %s %f %f at %d", msg, cur, next, i); } } }