How does the ECU decide when to use MAP estimate? #7030

new 'isMapValid' logging data point
This commit is contained in:
rusefillc 2024-11-03 00:02:02 -04:00
parent a5c19320e0
commit ed8fbde6e7
3 changed files with 9 additions and 1 deletions

View File

@ -41,7 +41,8 @@ bit dfcoActive;
bit sd_active_wr;SD card writing
bit sd_active_rd;SD card reading
! 3 unused bits left here
bit isMapValid;MAP from sensor seems valid
! 2 unused bits left here
uint16_t RPMValue;@@GAUGE_NAME_RPM@@;"RPM",1, 0, 0, 8000, 0

View File

@ -156,6 +156,9 @@ void mapAveragingAdcCallback(float instantVoltage) {
if (!mapResult) {
// hopefully this warning is not too much CPU consumption for fast ADC callback
warning(ObdCode::CUSTOM_INSTANT_MAP_DECODING, "Invalid MAP at %f", instantVoltage);
engine->outputChannels.isMapValid = false;
} else {
engine->outputChannels.isMapValid = true;
}
#if EFI_TUNER_STUDIO

View File

@ -3510,9 +3510,13 @@ cmd_set_engine_type_default = "@@TS_IO_TEST_COMMAND_char@@@@ts_command_e_TS_
field = "MAP value high point", map_sensor_highValue, { map_sensor_hwChannel != @@ADC_CHANNEL_NONE@@ && map_sensor_type == 0 }
field = "MAP voltage high value", mapHighValueVoltage, { map_sensor_hwChannel != @@ADC_CHANNEL_NONE@@ && map_sensor_type == 0 }
indicatorPanel = mapValidIndicators, 1
indicator = {isMapValid}, "BAD Map Input", "Happy MAP Input"
dialog = mapCommon, "MAP common settings"
field = "Low value threshold", mapErrorDetectionTooLow
field = "High value threshold", mapErrorDetectionTooHigh
panel = mapValidIndicators
field = ""
field = "Measure Map Only In One Cylinder", measureMapOnlyInOneCylinder
field = "Cylinder count to sample MAP", mapMinBufferLength