# Mixing roll and pitch channels for multi-rotor setup in plane mode

Hi - I have a 4 propeller drives, setup as ailerons under fixed wing plane FW (APM V.3.7.1), and operating exclusively as a function of roll angle through channels RC5…RC8 (See Param file extract for min max rev trim).
RC5_DZ,30
RC5_FUNCTION,4
RC5_MAX,2000
RC5_MIN,1100
RC5_REV,1
RC5_TRIM,1200
RC6_DZ,30
RC6_FUNCTION,4
RC6_MAX,2000
RC6_MIN,1100
RC6_REV,-1
RC6_TRIM,1200
RC7_DZ,30
RC7_FUNCTION,4
RC7_MAX,2000
RC7_MIN,1100
RC7_REV,1
RC7_TRIM,1200
RC8_DZ,30
RC8_FUNCTION,4
RC8_MAX,2000
RC8_MIN,1100
RC8_REV,-1
RC8_TRIM,1200
When roll angle is =0 deg none of the motors is running, and otherwise speed varies within {0,Max} for motor groups 1&3 and 2&4 for roll>0 deg, and roll<0 deg respectively. The schematics below illustrates this.

This setup works basically fine for balancing DOF around Roll-axis. However, I noticed slight thrust differences between the active pair of drives, and which does lead to drift around the pitch axis. What I want to do is to account for the pitch angle in a first-order approximation to balance thrust between two simultaneously running drives.
E.g. if pitch <0 deg, motor 1 slows down relative to Motor 3 @ roll>0 deg, and motor 2 slows down relative to motor 4 in case of roll< 0 deg. A more general picture of all possible correction moves ("+"…speed up , “-”…slow down) in case of imbalance I consider is illustrated below.

My question to you would be whether it is possible to implement this sort of mixing with my FW, and if so, any hints on the available functions/settings would be appreciated.

Perhaps using Elevons could help? They are designed to vary their signal with both pitch input and roll input.

Thanks hunt0r - Would you happen to know which parameter there controls the weight of both inputs, controlling the elevons ?

Try “mixing_offset”. Is that what you’re seeking?

I have tried the elevon (putting RCn_Function=19) . It indeed changes the sensitivity from roll to pitch, but it does not look like there is any contrib from Roll remaining. Tried to vary MIXING_Offest & _Gain systematically too, but the ratio between Roll & Pitch is not affected (my understanding is that MIXING_OFFSET=0 shall have equal contribution from both . Also, I think, to make the elevon work, I think this MIXING_x Parameters should be available for individual channels - not as a one global setting for all.

You might look through the Github issues and see if someone is already working on the feature you desire? I found this one that might (or might not) be relevant: https://github.com/ArduPilot/ardupilot/issues/6422

that opentx link seems to point to rc firmware. somewhat difficult for me as i have only a non-supported spectrum dxe ( my mistake as i did not plan a remote for my app at all, but later realized step by step how dependent pixhawk fuctionality is on mission /apm planner and pixhawk and presence of rc in turn). however, i will try more research on github