Initial commit.  This includes:
 - AileronAssistRedGreenRv5 as AileronAssist
 - MatrixNavRedGreenRv5 as MatrixNav
 - RollPitchYawRedGreen as RollPitchYaw
 - UAVSelfTestRedGreen as UAVSelfTest
create a testing branch for my experimental changes
Generalize the channel input/output code and variables
Make the channels configurable
Add a 5th input channel
Add 4th and 5th ouput channels that are currently broken.
Fix extra output channels.

Now allows 5 inputs and 6 outputs, and leaves TMR5 available for someone else to play with.
Add ReversedAileron output for use in dual aileron planes.
Fix bug in setting aileron and elevator output values.
Make number of inputs configurable, add comments.
Fix compiler warnings.
Rework secondary aileron control
test commits list
test commits list again
Adds the ability to configure AileronAssist to control a standard plane, a v-tail, a delta wing, or a helicopter.

(When in helicopter mode, it also disables navigation.  I did this by limiting the state machine.  Comments are welcome on better ways to do this!)

But please note that this isn't tested yet!  So please don't fly a plane based on this code without doing tons of testing of your own.  :)
 - Fix some bugs and logic problems with my previous commit.
 - Abstract out the servo reversing predicates and the airframe type and channel constants into the new definesUAVDB.h file.
 - Tighten up the 5th input code in the INT0 interrupt.
- Run the state machine every 0.5 seconds instead of every 1.5, to allow the user to faster switch back to manual mode in an emergency
- Add and use LED related #defines
- Add small fixes for AIRFRAME_HELI
- Perform servo mixing in manual mode too
- Improve state machine's handling of HELI mode

Note that in a previous update, I also added the ability to control servos manually while calibrating/acquiring to allow control more quickly in case the board reboots midflight.
Fix mixing and servo reversing for all airframe types, and confirmed that by default, it will act the same as the previous version of AileronAssist.

Fix problem in the returningS state during loss of radio signal.

Fix nav_available in new, faster state machine.
To improve robustness in case of an in-air reset:
 - Only perform the last 4 WAGGLES (each just 0.5 seconds long)
 - Allow manual control and pitch/roll control during aquiringS state

Improve commenting of FAILSAFE_INPUT_CHANNEL.

Only enable 5 output channels by default.
Only compile the mixing code for the chosen airframe type.  This should save a bit of program space.

Remove a bunch of my unnecessary (long) casts.
Move my new #defines to defines.h.

Add MAX_INPUTS=5 and MAX_OUTPUTS=6, and always use those for the array sizes, so we don't overflow the arrays when doing math on disabled channels.

Revert to using switch 3 as extra aileron switch, since that makes more sense for the default configuration.

Revert flags._.pitch_control to 0 while in aquiringS since auto mode will likely be messed up by bad calibration during a midair reboot anyway.
Rename aileronCntrl.c to rollCntrl.c, and elevatorCntrl.c to pitchCntrl.c, since the actual control surfaces affected by these files now depend upon the Airframe type.
First pass at including MatrixNav (rudder/elevator only control) as configurable functionality in AileronAssist.
Update MatrixNav integration to MatrixNavRv6.
remove mistakenly added files
Integrate changes in AileronAssistRv6 and MatrixNavRv7 into the AileronAssist_ben branch.