Multiple flight modes for Cleanflight with Taranis
FrSky X9D Plus Taranis or cheaper FrSky Taranis Q X7 or even more expensive X10S Horus, are incredible radios. But also can be intimidation when migrating from simpler radios. A great example is mixing multiple switches into 1 channel to pass flight mode to the flight controller. Yes, you can do it, but it can be a pain in the ass on a Mixer level. I've lost a lot of time trying to understand the logic behind mixer weight and offset only to discover possibility to replace channel value, not add. And everything was simple again. So, here what I wanted, and what I did.
What I wanted
When I fly bigger FPV quadcopter, I want to use 7 different flight modes:
- Angle without Altitude Hold (no BARO),
- Horizon without Altitude Hold (no BARO),
- Acro/Rate without Altitude Hold,
- Angle with Altitude Hold (BARO),
- Horizon with Altitude Hold (BARO),
- Position Hold with Altitude Hold (BARO),
- Return To Home with Altitude Hold (BARO)
And I've figured out, that 3 switches should be used to enable all the flight modes: SC, SD, and SG. SC toggles Angle/Horizon/Acro. SD switches PosHold and RTH (as well as BARO and overrides SC and SG). SG enables Altitude Hold but only when SC is in up or middle position. 3 switches, 7 modes. I could do it with 3 radio channels, but that would have few flaws: would use 3 channels instead of one, and would allow for mistakes like no BARO with POSHOLD. So, advanced mixes and logical switches that is.
SC SD SG Flight Mode Altitude Hold GPS Logical Switch Up Up Up Angle Off Off L1 Middle Up Up Horizon Off Off L2 Down Up - Acro Off Off L3 Up Up Middle Angle BARO Off L6 Midle Up Middle Horizon BARO Off L7 - Middle - Angle BARO Position Hold L4 - Down - Angle BARO Return To Home L5
Solution
The solution in Taranis OpenTX requires 2 things: logical switches and mixer setting for CH5. For this example, Logical Switches goes as follows:
And mixer setting for CH5 is like that:
Each CH5 mixer entry uses Source MAX with weight 100 and is activated on Logical Switch (L1-L7). Channel output is determined by the Offset value. An important setting is Multiplex: REPLACE, not ADD. And that is all. 7 flight modes, 3 switches, 1 radio channel. What is left, is to activate correct modes in Cleanflight based on CH5 (AUX1) value.
I'm Paweł Spychalski and I do things. Mainly software development, FPV drones and amateur cinematography. Here are my YouTube channels: