void setTurboParams(float mul, float maxMP);
void setDisplacement(float d);
void setCompression(float c);
+ void setWastegate(float norm) { _wastegate = norm; }
+ void setSupercharger(float hasSuper) { _hasSuper = hasSuper; }
+ void setTurboLag(float lag) { _turboLag = lag; }
bool isCranking();
float getMP();
float getEGT();
float getMaxPower(); // max sea-level power
+ float getBoost() { return _boostPressure; }
+ float getOilTemp() { return _oilTemp; }
virtual void calc(float pressure, float temp, float speed);
+ virtual void stabilize();
+ virtual void integrate(float dt);
virtual float getTorque();
virtual float getFuelFlow();
float _f0; // "ideal" fuel flow at P0/omega0
float _mixCoeff; // fuel flow per omega at full mixture
float _turbo; // (or super-)charger pressure multiplier
- float _maxMP; // wastegate setting
+ bool _hasSuper; // true indicates gear-driven (not turbo)
+ float _turboLag; // turbo lag time in seconds
+ float _charge; // current {turbo|super}charge multiplier
+ float _chargeTarget; // eventual charge value
+ float _maxMP; // static maximum pressure
+ float _wastegate; // wastegate setting, [0:1]
float _displacement; // piston stroke volume
float _compression; // compression ratio (>1)
// Runtime state/output:
- bool _cranking;
float _mp;
float _torque;
float _fuelFlow;
float _egt;
+ float _boostPressure;
+ float _oilTemp;
+ float _oilTempTarget;
+ float _dOilTempdt;
};
}; // namespace yasim