1 #ifndef _PROPENGINE_HPP
2 #define _PROPENGINE_HPP
4 #include "Thruster.hpp"
11 class PropEngine : public Thruster {
13 PropEngine(Propeller* prop, PistonEngine* eng, float moment);
14 virtual ~PropEngine();
16 void setMagnetos(int magnetos);
17 void setAdvance(float advance);
18 void setVariableProp(float min, float max);
20 virtual PropEngine* getPropEngine() { return this; }
21 virtual PistonEngine* getPistonEngine() { return _eng; }
22 virtual Propeller* getPropeller() { return _prop; }
25 virtual bool isRunning();
26 virtual bool isCranking();
27 virtual void getThrust(float* out);
28 virtual void getTorque(float* out);
29 virtual void getGyro(float* out);
30 virtual float getFuelFlow();
32 // Runtime instructions
34 virtual void integrate(float dt);
35 virtual void stabilize();
45 int _magnetos; // 0=off, 1=right, 2=left, 3=both
46 float _advance; // control input, 0-1
50 float _omega; // RPM, in radians/sec
58 #endif // _PROPENGINE_HPP