base class
This commit is contained in:
parent
50aad7496f
commit
8bc18db80f
|
@ -0,0 +1,10 @@
|
|||
#include "airmass.h"
|
||||
|
||||
AirmassModelBase::AirmassModelBase(const ValueProvider3D& veTable) : m_veTable(&veTable) {}
|
||||
|
||||
float AirmassModelBase::getVe(int rpm, float load) const {
|
||||
efiAssert(OBD_PCM_Processor_Fault, m_veTable != nullptr, "VE table null", 0);
|
||||
|
||||
// TODO: allow override of the Y axis value based on a config field
|
||||
return m_veTable->getValue(rpm, load);
|
||||
}
|
|
@ -1,6 +1,22 @@
|
|||
#pragma once
|
||||
|
||||
#include "engine.h"
|
||||
|
||||
struct AirmassResult {
|
||||
float CylinderAirmass = 0;
|
||||
float EngineLoadPercent = 100;
|
||||
};
|
||||
|
||||
struct AirmassModelBase {
|
||||
DECLARE_ENGINE_PTR;
|
||||
|
||||
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;
|
||||
};
|
||||
|
|
Loading…
Reference in New Issue