From 62e101ae13bb4601f66d70c90b6f8c9b8943ab77 Mon Sep 17 00:00:00 2001 From: Matthew Kennedy Date: Sat, 25 Nov 2017 20:05:40 -0500 Subject: [PATCH] Fix accel enrichment for negative fuel pulse (#499) --- firmware/controllers/algo/accel_enrichment.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/firmware/controllers/algo/accel_enrichment.cpp b/firmware/controllers/algo/accel_enrichment.cpp index 565f90530d..7457bc0b1b 100644 --- a/firmware/controllers/algo/accel_enrichment.cpp +++ b/firmware/controllers/algo/accel_enrichment.cpp @@ -60,6 +60,13 @@ floatms_t WallFuel::adjust(int injectorIndex, floatms_t target DECLARE_ENGINE_PA floatms_t adjustedFuelPulse = (target - suckedOffWallsAmount) / (1 - addedToWallCoef); + // We can't inject a negative amount of fuel + // If this goes below zero we will be over-fueling slightly, + // but that's ok. + if(adjustedFuelPulse < 0) { + adjustedFuelPulse = 0; + } + float addedToWallsAmount = adjustedFuelPulse * addedToWallCoef; wallFuel[injectorIndex] += addedToWallsAmount - suckedOffWallsAmount; engine->wallFuelCorrection = adjustedFuelPulse - target;