The Propeller class ignored negative RPM but still returned a torque
value, which ratcheted up a higher and higher negative RPM until drag
overwhelmed the aircraft.
In reality, the propeller should windmill at a reasonable postive RPM,
introducing a constant drag on the aircraft -- the propeller should
*not* stop unless the plane is flying very slowly. That's a future
project.
// Runge-Kutta stuff.
float rotacc = (engTorque-propTorque)/Math::abs(_moment);
_omega += dt * rotacc;
+ if (_omega < 0)
+ _omega = 0 - _omega; // don't allow negative RPM
+ // FIXME: introduce proper windmilling
// Store the total angular momentum into _gyro
Math::mul3(_omega*_moment, _dir, _gyro);