The main rotor ramp was being held back by the rotor speed estimate
instead of being allowed to jump up to the estimate if it's lower.
Also fixed some incorrect indentation
Rewrote tail and main rotor ramp up methods
Moved direct drive ESC speed control into rsc_control method
Pass in ch7 servo as servo_aux to TradHeli motors object constructor
split CH7_SETPOINT parameter into GYR_GAIN and DIRECTDRIVE parameters
replaced RSC_RATE with uint8_t RSC_RAMP_TIME parameter
rename GOV_SETPOINT parameter to RSC_SETPOINT
RSC_MODE parameter description updated to indicate it controls the
source of main rotor speed
Repurposed external gyro and made it multi-funcitonal.
required PWM on Ch8 to start the motor in RSC Mode moved up from 100 to 400. This is to facilitate two-stage switching of the motors with PWM>100 starting the tail motor, and PWM>400 starting the main motor.
Additional amendments by Randy
- Allows use of hardware floating point on the Cortex-M4.
- Added "f" suffix to floating point literals.
- Call floating point versions of stdlib math functions.
Creating Stab_Collective Function to allow for different collective ranges between Stabilize and other modes.
This makes for a smoother collective action in Stabilize mode with manual throttle, while still allowing full collective travel in Acro and other modes.
-Added ramp-down rate instead of instantly setting ramp to zero when throttle is dropped to bottom. This is to allow "warm-restart" if shutdown was unintentional.
-Actual ESC still goes to zero while throttle is dropped to the bottom, only the ramp counter winds down slowly behind the scenes.
1. it's step towards rearchitecting the current code base ahead of a move to RTOS.
2. internally it uses a MatrixTable for the Quad, Octa, OctaQuad, Y6 frames.
3. it implements the missing stability patch for Octa and OctaQuads (still missing for Y6)
Later check-ins will incorporate into the main ArduCopter code.