rusefi-1/firmware/controllers/algo/airmass/airmass.h

28 lines
537 B
C++

#pragma once
#include "engine.h"
class ValueProvider3D;
struct AirmassResult {
float CylinderAirmass = 0;
float EngineLoadPercent = 100;
};
class AirmassModelBase {
public:
DECLARE_ENGINE_PTR;
explicit AirmassModelBase(const ValueProvider3D& veTable);
virtual AirmassResult getAirmass(int rpm) = 0;
protected:
// Retrieve the user-calibrated volumetric efficiency from the table
float getVe(int rpm, percent_t load) const;
private:
const ValueProvider3D* const m_veTable;
float getVeLoadAxis(float passedLoad) const;
};