From a274b1f777d324396492a7f00c94624005df78af Mon Sep 17 00:00:00 2001 From: Andrey G Date: Thu, 5 Jan 2023 20:14:48 +0300 Subject: [PATCH] Feed mapAveragingAdcCallback() with volts not adc raw values (#4940) --- firmware/controllers/engine_cycle/map_averaging.cpp | 4 +--- firmware/controllers/engine_cycle/map_averaging.h | 2 +- firmware/hw_layer/hardware.cpp | 2 +- 3 files changed, 3 insertions(+), 5 deletions(-) diff --git a/firmware/controllers/engine_cycle/map_averaging.cpp b/firmware/controllers/engine_cycle/map_averaging.cpp index 3c4c971733..dce4cf88f1 100644 --- a/firmware/controllers/engine_cycle/map_averaging.cpp +++ b/firmware/controllers/engine_cycle/map_averaging.cpp @@ -125,11 +125,9 @@ void MapAverager::stop() { * @note This method is invoked OFTEN, this method is a potential bottleneck - the implementation should be * as fast as possible */ -void mapAveragingAdcCallback(adcsample_t adcValue) { +void mapAveragingAdcCallback(float instantVoltage) { efiAssertVoid(CUSTOM_ERR_6650, getCurrentRemainingStack() > 128, "lowstck#9a"); - float instantVoltage = adcToVoltsDivided(adcValue); - SensorResult mapResult = getMapAvg(currentMapAverager).submit(instantVoltage); if (!mapResult) { diff --git a/firmware/controllers/engine_cycle/map_averaging.h b/firmware/controllers/engine_cycle/map_averaging.h index 4dd6e6e9e8..1e83d8e41a 100644 --- a/firmware/controllers/engine_cycle/map_averaging.h +++ b/firmware/controllers/engine_cycle/map_averaging.h @@ -12,7 +12,7 @@ #if EFI_MAP_AVERAGING #if HAL_USE_ADC -void mapAveragingAdcCallback(adcsample_t newValue); +void mapAveragingAdcCallback(float instantVoltage); #endif void initMapAveraging(); diff --git a/firmware/hw_layer/hardware.cpp b/firmware/hw_layer/hardware.cpp index 3ac6d96144..6536cb9f18 100644 --- a/firmware/hw_layer/hardware.cpp +++ b/firmware/hw_layer/hardware.cpp @@ -185,7 +185,7 @@ void onFastAdcComplete(adcsample_t*) { #endif /* EFI_SENSOR_CHART */ #if EFI_MAP_AVERAGING - mapAveragingAdcCallback(getFastAdc(fastMapSampleIndex)); + mapAveragingAdcCallback(adcToVoltsDivided(getFastAdc(fastMapSampleIndex))); #endif /* EFI_MAP_AVERAGING */ #if EFI_HIP_9011 if (engineConfiguration->isHip9011Enabled) {