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

27 lines
574 B
C++

#pragma once
#include "rusefi_types.h"
class ValueProvider3D;
struct AirmassResult {
mass_t CylinderAirmass = 0;
percent_t EngineLoadPercent = 100;
};
struct AirmassModelBase {
virtual AirmassResult getAirmass(int rpm) = 0;
};
class AirmassVeModelBase : public AirmassModelBase {
public:
explicit AirmassVeModelBase(const ValueProvider3D& veTable);
// 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;
};