Made a great deal of progress.
I ended up creating a second xml file MixerSettings2 - a duplicate of MixerSettings, which contains the settings for the alternate flight mode.
I enabled the mixerstatus for debugging - so I can see the output of the mixers.
I set up the 7th mixer as an Accessory0 channel for the mode switch. I have a BiModeStatus flag in Data Output I can also check to make sure what state it is, but I can also see it in the Mixer7 output.
I can enable/disable the bimode mixer with the flag in BiMode, and select which channel is used.
I set up some real world values, armed it and increased throttle - I can see values in Mixers1-6 change as they should.
But when I set mode to the alternate mode, they all go to 0.
The way I alternate is in ProcessMixer there is a pointer, mixer, that points to the mixer data set.
If I switch to the alternate, I simply overwrite mixer with a pointer to the alternate data set. Since it looks like the code in ProcessMixer all uses that pointer, it should work.
Another question - my settings don't seem to save from one session to another - although I can export the new version settings and import them and get them all back. How do I save them to Flash? Normally I just use the up arrow green button and that saves it to Flash - it uploads it but doesn't save it after power off.
I can save into Flash with the normal versions of GCS I use - just doesn't seem to work here.
?
Other than the xml files, so far all the code is in Actuator_Bimode.c - modifications to Actuator.c
If others want to look at the code, how should I upload it? I can do it here as attachments, but if it gets to be a bunch of files...