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