Differential ailerons and complex wing setup

I am working on setting up a pixhawk in a plane with a rather complex wing setup. Basically I require flaperons on the front wing and elevons on the rear wing. I have modified the code to allow this. Now I would like to add differential to all aileron controls. The only thing I have turned up on this is a blog post from 2011 and one post here, neither one of which mentions flapersons/elevons.

Is there a way to set this up, or do I need to modify the code? I was thinking of adding a ELEVON_DIFF and FLAPERON_DIFF parameter that could be applied as part of the mixing?

Also, one question that still nags are me. What does the IO processor do? It seems like it is designed to handle failsafe conditions where the main processor may have locked up, but where does the output mixing happen? Say the main processor does crash, will I still be able to fly the plane and I have the pixhawk doing all the mixing?

Hi Greg,
What we really need is support for a general mixer script, allowing for arbitrarily complex mixing setups. I’d like to implement that, but it isn’t a top priority. I have done some preparatory work for that for the upcoming 3.7.1 release, but there is lots more to do.

yes, you can keep flying with manual control. You won’t have control of things like flaps, but main controls will still work. You can test this on the ground by setting an OVERRIDE_CHAN. You can attach that to a transmitter switch and use it to test how the vehicle will behave if the FMU dies and IO takes over control.
See the docs on the OVERRIDE_CHAN parameter.
Cheers, Tridge

Thanks for the reply. I’ll test out the override thing.

In the meantime I implemented differential on my own. I’d be happy to share the patches if you like.

Override thing seems to work. I set up a vtail and it did indeed override and have vtail mixing, however when I turned off the vtail, I still had vtail mixing in override. Do these setup parameters on get copied to the io processor on startup? If I wanted to add custom mixing at the IO processor level, where would I go about doing this?