X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FFDM%2FYASim%2FPistonEngine.hpp;h=40d6bac52e5dcbbca5cf98e7d012b74548eb5b8a;hb=6afe252440140c1e1fadcfe9aea2c1e31e1607f2;hp=8c6690a4ff346552e90bfdf72c4c3c0534bc4912;hpb=154917477f0527e4d979d4bab83875a4a82fb173;p=flightgear.git diff --git a/src/FDM/YASim/PistonEngine.hpp b/src/FDM/YASim/PistonEngine.hpp index 8c6690a4f..40d6bac52 100644 --- a/src/FDM/YASim/PistonEngine.hpp +++ b/src/FDM/YASim/PistonEngine.hpp @@ -14,14 +14,20 @@ public: void setTurboParams(float mul, float maxMP); void setDisplacement(float d); void setCompression(float c); + void setWastegate(float norm) { _wastegate = norm; } + void setSupercharger(bool 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(); @@ -33,7 +39,12 @@ private: 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) @@ -43,6 +54,9 @@ private: float _fuelFlow; float _egt; float _boostPressure; + float _oilTemp; + float _oilTempTarget; + float _dOilTempdt; }; }; // namespace yasim