http://rcav.posterous.com/programming-an-ardupilot-mode-switch-for-turn
He has a great writeup explaining the details of what he did... here's my quick-ref version.
ArduPilot Mega Functionality
       THR-CUT    F-MODE    POS        FUNCTION
FWD N 0 manual
1 1 stabilized
2 2 fly-by-wire-a
BACK N 3 auto
1 4 loiter
2 5 rtl
FWD N 0 manual
1 1 stabilized
2 2 fly-by-wire-a
BACK N 3 auto
1 4 loiter
2 5 rtl
Basic Idea
 - Set the Throttle Hold Button to control Channel 5.
 - Add a mix, such that putting the F-MODE into NORM position subtracts 20.
 - Likewise, for F-MODE in position 1, subtracts 50.
 - Likewise, for F-MODE in position 2, subtracts 100.
 - This gives us 6 discrete values that will be broadcast on channel 5.
 - These 6 values map to the APM control function values.
 
- Set Channel 5 to Throttle Hold
[FUNC SETTING] [AUX-CH]
CH5 THRO-HOLD - Set mixes 1-3
[FUNC SETTING] [PROG MIX]
MIX1 MIX2 MIX3
STATE ACT ACT ACT
MASTER GYR GYR GYR
SLAVE FLP FLP FLP
OFFSET 000 000 000
UPRATE -020 -050 -100
DNRATE -020 -050 -100
SW ID2 ID1 NOR
 - Check the Settings with the Display Menu.  There should be 6 discrete values.
[FUNC SETTING] [DISPLAY] 
The manual has a unique perspective on mixing.

I read several tutorials online but this page finally made it all click. In the end I used slightly different settings to make sure that I hit the middle of the PWM window for each mode, and I used the GEAR switch instead of the THR HOLD switch, but I could not have figured it out without you.
ReplyDelete