9 auto map =
getMap(rpm, postState);
19 if (std::isnan(tChargeK)) {
24 float ve =
getVe(rpm, map, postState);
27 if (std::isnan(airMass)) {
31#if EFI_PRINTF_FUEL_DETAILS
32 printf(
"getSpeedDensityAirmass map=%.2f\n", map);
42 auto airmassResult =
getAirmass(rpm, map, postState);
48 massPerCycle = massPerCycle / 2;
52 return massPerCycle * rpm / 60;
68 float blendFactor = elapsedTime / blendDuration;
79 if (predictedMap > mapSensor) {
Acceleration enrichment calculator.
float getVe(float rpm, percent_t load, bool postState) const
TunerStudioOutputChannels outputChannels
constexpr auto & module()
virtual SensorResult get() const =0
static float getOrZero(SensorType type)
const ValueProvider3D *const m_mapEstimationTable
float logAndGetFallback(float rpm, bool postState) const
bool m_isMapPredictionActive
float getAirflow(float rpm, float map, bool postState)
float m_initialPredictedMap
float getMap(float rpm, bool postState)
float getPredictiveMap(float rpm, bool postState, float mapSensor)
AirmassResult getAirmass(float rpm, bool postState) override
static mass_t getAirmassImpl(float ve, float manifoldPressure, float temperature)
bool isAccelEventTriggered()
virtual float getValue(float xColumn, float yRow) const =0
static EngineAccessor engine
static constexpr persistent_config_s * config
static constexpr engine_configuration_s * engineConfiguration
bool warning(ObdCode code, const char *fmt,...)
@ CUSTOM_ERR_TCHARGE_NOT_READY2
fallbackMap("fallbackMap", SensorCategory.SENSOR_INPUTS, FieldType.INT16, 372, 0.1, 0.0, 1000.0, "kPa")
effectiveMap("Effective MAP", SensorCategory.SENSOR_INPUTS, FieldType.INT16, 374, 0.1, 0.0, 1000.0, "kPa")
accel_enrichment_mode_e accelEnrichmentMode
scaled_channel< uint16_t, 10, 1 > fallbackMap
bool isMapPredictionActive
scaled_channel< uint16_t, 10, 1 > effectiveMap
scaled_channel< uint8_t, 50, 1 > predictiveMapBlendDurationValues[TPS_TPS_ACCEL_CLT_CORR_TABLE]
scaled_channel< uint8_t, 1, 50 > predictiveMapBlendDurationBins[TPS_TPS_ACCEL_CLT_CORR_TABLE]