===== tandem rotor in tx ccpm mixing ===== So I've been hooked on the idea of a tandem rotor helicopter lately, but all mixing boards for this purpose are out of production as far as I can tell. This left me pondering doing the mixing in the tx using the many virtual channels Deviation tx provides. What follows is part of the .ini file for the model config I've created. Features: - mixing to 2x 3servo swashplates plus throttle (7ch) - easy adjustment of mixing percentages and curves (virt channels) - separate elevator and differential collective pitch (DCP) mixes for FF - a fancy layout to display stick and mixer ouputs seperately - sticky throttle hold (Virt1) - Ch 1: throttle - Ch 2, 3, 4: front swash (2 forward, 1 rear) - Ch 5, 6, 7: rear swash (2 forward, 1 rear) For now it is a proof of concept with no hardware to test it on. Given my success with this config I am moving to do a test platform, but it'll be a while before I have time and some pieces arrive in the mail. I'd love to hear what the community thinks of the viability of this approach, and yes I know there will be no stabilization. ---------------------------------------------------------------- name=Tandem mixermode=Advanced [radio] protocol=None num_channels=7 fixed_id=123456 tx_power=150mW [channel1] safetysw=Virt1 safetyval=-100 max=100 min=-100 template=complex [mixer] src=THR dest=Ch1 scalar=0 offset=50 usetrim=0 curvetype=expo points=0,0 [mixer] src=THR dest=Ch1 switch=FMODE0 usetrim=0 curvetype=3point points=-100,50,50 [channel2] max=120 min=-120 template=complex [mixer] src=Ch2 dest=Ch2 scalar=0 usetrim=0 curvetype=fixed [mixer] src=!Virt2 dest=Ch2 usetrim=0 muxtype=add [mixer] src=!Virt4 dest=Ch2 usetrim=0 muxtype=add [mixer] src=!Virt5 dest=Ch2 usetrim=0 muxtype=add [mixer] src=Virt7 dest=Ch2 usetrim=0 muxtype=add [mixer] src=!Virt9 dest=Ch2 usetrim=0 muxtype=add [channel3] max=120 min=-120 template=complex [mixer] src=Ch3 dest=Ch3 scalar=0 curvetype=fixed [mixer] src=Virt2 dest=Ch3 usetrim=0 muxtype=add [mixer] src=!Virt4 dest=Ch3 usetrim=0 muxtype=add [mixer] src=!Virt5 dest=Ch3 usetrim=0 muxtype=add [mixer] src=Virt7 dest=Ch3 usetrim=0 muxtype=add [mixer] src=Virt9 dest=Ch3 usetrim=0 muxtype=add [channel4] max=120 min=-120 template=complex [mixer] src=Ch4 dest=Ch4 scalar=0 usetrim=0 curvetype=fixed [mixer] src=Virt4 dest=Ch4 usetrim=0 muxtype=add [mixer] src=!Virt5 dest=Ch4 usetrim=0 muxtype=add [mixer] src=Virt7 dest=Ch4 usetrim=0 muxtype=add [channel5] max=120 min=-120 template=complex [mixer] src=Ch5 dest=Ch5 scalar=0 usetrim=0 curvetype=fixed [mixer] src=!Virt2 dest=Ch5 usetrim=0 muxtype=add [mixer] src=!Virt4 dest=Ch5 usetrim=0 muxtype=add [mixer] src=Virt5 dest=Ch5 usetrim=0 muxtype=add [mixer] src=Virt7 dest=Ch5 usetrim=0 muxtype=add [mixer] src=Virt9 dest=Ch5 usetrim=0 muxtype=add [channel6] max=120 min=-120 template=complex [mixer] src=Ch6 dest=Ch6 scalar=0 curvetype=fixed [mixer] src=Virt2 dest=Ch6 usetrim=0 muxtype=add [mixer] src=!Virt4 dest=Ch6 usetrim=0 muxtype=add [mixer] src=Virt5 dest=Ch6 usetrim=0 muxtype=add [mixer] src=Virt7 dest=Ch6 usetrim=0 muxtype=add [mixer] src=!Virt9 dest=Ch6 usetrim=0 muxtype=add [channel7] max=120 min=-120 template=complex [mixer] src=Ch7 dest=Ch7 scalar=0 usetrim=0 curvetype=fixed [mixer] src=Virt4 dest=Ch7 usetrim=0 muxtype=add [mixer] src=Virt5 dest=Ch7 usetrim=0 muxtype=add [mixer] src=Virt7 dest=Ch7 usetrim=0 muxtype=add [virtchan1] name=Safety template=complex [mixer] src=Virt1 dest=Virt1 usetrim=0 curvetype=min/max points=0 [mixer] src=THR dest=Virt1 offset=-1 usetrim=0 muxtype=add [mixer] src=THR dest=Virt1 switch=GEAR1 usetrim=0 curvetype=fixed [virtchan2] name=AIL mix template=simple [mixer] src=Virt3 dest=Virt2 scalar=30 [virtchan3] name=AIL d/r template=expo_dr [mixer] src=AIL dest=Virt3 scalar=50 curvetype=expo points=0,0 [mixer] src=AIL dest=Virt3 switch=DR1 curvetype=expo points=0,0 [virtchan4] name=ELE mix template=complex [mixer] src=Virt6 dest=Virt4 scalar=10 curvetype=5point points=-100,-25,0,25,100 smooth=1 [virtchan5] name=Diff CP template=complex [mixer] src=Virt6 dest=Virt5 scalar=0 usetrim=0 curvetype=fixed [mixer] src=Virt6 dest=Virt5 scalar=20 muxtype=add curvetype=5point points=-25,-75,0,75,100 smooth=1 [virtchan6] name=ELE d/r template=expo_dr [mixer] src=ELE dest=Virt6 scalar=50 curvetype=expo points=0,0 [mixer] src=ELE dest=Virt6 switch=DR1 curvetype=expo points=0,0 [virtchan7] name=Pitch mix template=simple [mixer] src=Virt8 dest=Virt7 scalar=40 [virtchan8] name=Pitch template=complex [mixer] src=THR dest=Virt8 scalar=0 usetrim=0 curvetype=fixed [mixer] src=THR dest=Virt8 switch=FMODE1 usetrim=0 muxtype=add curvetype=3point points=0,50,100 [mixer] src=THR dest=Virt8 switch=FMODE2 usetrim=0 muxtype=add curvetype=3point points=-20,50,100 [mixer] src=THR dest=Virt8 switch=Virt1 scalar=0 usetrim=0 curvetype=fixed [virtchan9] name=RUD mix template=simple [mixer] src=Virt10 dest=Virt9 scalar=20 [virtchan10] name=RUD d/r template=expo_dr [mixer] src=RUD dest=Virt10 scalar=50 curvetype=expo points=0,0 [mixer] src=RUD dest=Virt10 switch=DR1 curvetype=expo points=0,0 [[ .:tandem_rotor_in_tx_ccpm_mixing:tandempoc ]]