The power of flight modes
Flight modes are a cool feature of high end radios. At the simplest level, they allow you to switch quickly between different trim settings. But they can do a lot more!
In this article, I explain how to set up flight modes in OpenTX and EdgeTX, and how to take advantage of their power.
Suppose that you're cruising around with your sailplane, and encounter a thermal. At that point you might want to:
- dial in some up-trim
- increase the camber
- increase the aileron differential
If you made the adjustments manually, the thermal would be gone before you finished. Worse, you'd lose trim setting that you'd previously set while cruising. But by setting up a couple of flight modes you could quickly switch between settings. In this case, you'd have two flight modes Cruise and Thermal, with a switch to flip between them.
How flight modes are organised
Okay, so now let's look at how flight modes are organised in EdgeTX.
A flight mode is identified by a number in the range 0 to 8:
- FM0 is the default flight model. This is provided by the system and is always present.
- FM1-FM8 are user defined modes. These are optional. Each is associated with a switch to activate it.
There is one simple rule: One flight mode - and only one - is always active. The flight mode which is active is called the active flight mode (later, we'll see how EdgeTX determines the active flight mode).
When a flight mode is active, all its related settings (trims, mixers, special functions etc.) are enabled. Those of any other flight modes are disabled.
If there are no user-defined flight modes, then the default flight mode (FM0) is always active, and no special action is needed when designing your setup.
Planning a flight mode scheme
As with any kind of programming, it pays to plan your flight mode scheme early on in the development process.
Identifying the phases of flight.
Start by identifying the various phases of flight. These should form a non-overlapping sequence. An example for a DLG would be: launch, zoom, normal, landing.
From phases to modes
The flight modes can be based directly on the phases that you have identified in the first step. Additionally you can include non-overlapping alternatives for specific flight modes. So in the case of DLG example, you might split 'normal' into 'speed', 'thermal' and 'cruise' modes. So the complete list of flight modes might be: Launch, Zoom, Speed/Thermal/Cruise and Landing.
The order of the flight modes determines the priority - we'll go into this in more detail later. Also bear in mind that changing the order of flight modes is not easy, so it's better to get it right first time.
In general, flight modes should be broad in scope rather than being tied to specific mixers. An example of a poor choice would be 'Crow brakes'. It would be better to have a more general 'Landing' mode, with crow-brakes as just one of several settings which would be active in that mode.
Managing flight modes
Okay, so let's get into the nitty gritty! The Flight modes menu is your springboard:
The Flight modes menu displays a summary of the flight modes in the system. The default flight mode (FM0) is at the top of the list, followed by the user-defined flight modes (FM1 - FM8).
There are 11 columns of data:
- Col 1: Flight mode number - assigned by the system.
- Col 2: Name - optional identifying label.
- Col 3: Switch - physical or logical switch to activate
- Col 4-9: Trim options for Ail, Ele, Thr, Rud, T5 and T6
- Col 10-11: Fade in/out times
The flight mode editor
The editing screen looks like this:
The fields are:
- Name: an optional label
- Switch (user defined FMs only): a physical or logical switch for activating the flight mode. The switch condition must be satisfied for the flight mode to be active.
- Fade in/out: fade times in seconds
- Trims: trim options, see Advanced trims
Flight mode priorities
You may be asking: what happens when more than one flight mode is selected (in other words, the switch conditions of more than one FM are true) - which flight mode is chosen to be active?
To resolve such conflicts, every flight mode has a priority. The priority is related to the FM number - the smaller the number the higher the priority. There is one important exception: the default flight mode (FM0) has lowest priority despite having the smallest number.
The highest priority flight mode is therefore FM1, followed by FM2 and FM3 etc. with FM0 last.
To summarise :
- The active flight mode is the highest priority mode which satisfies the switch condition.
- The default flight mode (FM0) has the lowest priority
Example for F3F slope soarer
F3F slope soarers generally have 4 flight modes controlled by 2 switches. A typical scheme is:
- 3-pos switch SA selects between Cruise, Thermal and Landing
- 2-pos switch SF overrides SA to activate Landing mode.
The first step is to determine the priorities. If you used the word 'override' to describe a function, that's a clue to assign a high priority! So Landing mode is assigned highest priority, with the rest lesser priority.
This is how it might be implemented:
To check that it works, imagine that the pilot selects Thermal mode. The switch settings for this are SA↓ and SF↑.
And let's see what happens as EdgeTX steps through list, highest priority first, looking for a match:
- The highest priority mode is Landing, however its condition (SF↓) is not satisfied.
- The next highest priority is Thermal mode. Its condition (SA↓) is satisfied, so Thermal mode is the active flight mode. We need look no further!
- The remaining flight modes are lower priority. Since the active condition has already been determined, they are not considered.
Suppose that SF is now moved to the SF↓ position. The condition for Landing mode is now satisfied. It therefore becomes active, overriding all the SA-controlled flight modes.
Suppose that we have SF↑ and SA—, then none of FM1, FM2 or FM3 would be selected, and the default flight mode Cruise would become active.
The active flight mode is highlighted in the flight mode list, and also displayed in the home screen.
Auto-activation of flight modes
Flight modes are even cooler when they activate themselves! Consider an electric model such as an F5J sailplane. When the motor is running, you may wish to activate a motor-to-elevator mix and reduce the elevator rate - but you don't want to have to flip a switch to do this.
The solution is to activate the flight mode via a logical switch which goes True when the motor is running. Assuming the motor is on CH7:
L01 CH7:Motor > -100%
Similarly, a Landing mode might be activated by pulling on the throttle stick:
L01 Thr < +100%
Landing mode would typically be used to activate a crow brake mix.
Uses for flight modes
So far, we've seen how flight modes are managed. In this section, we'll learn how to put them to use. There are essentially six contexts in which Flight modes can be employed:
- for sharing of trims
- to enable/disable mixers
- to trigger special functions
- in logical switches
- to select different rates
- with GVARs
Let's look at each in turn.
Trims can be independent in each flight mode, or shared between flight modes or a mixture of both. For more details, see Advanced trims.
By default, mixers are active in all flight modes. However sometimes a mix should be active only in certain flight modes. With an F3F slope racer, for example, snapflap might be enabled in Normal and Speed modes, but disabled in Thermal and Landing modes.
To restrict a mixer to just a subset of flight modes, open the mixer menu and edit the Modes field. Tick the flight mode numbers in which the mix should be active and leave the rest unticked.
To trigger special functions
Flight modes can be used as the trigger condition in special functions. A typical use is for a flight mode to announce itself using a Play Sound or Play Track action:
In logical switches
Flight modes can also be used in logical switch conditions. For example, you might want a behaviour to change depending on a switch, but only in a particular flight mode. In the code below, L01 is true if the 6-pos switch is in position 1 and FM1 is active.
To set FM-specific rates
Each flight mode can have its own rate.
Here's a screenshot of the Inputs menu. The elevator input has two lines, one for FM3, and the last line without any condition. When FM3 is active, the rate is 50%. For all other flight modes, the rate falls through to 100%.
GVARs can store a different value for each flight mode. This can be very useful for supplying FM-dependent weights or diff values. For more info see All about GVARs.
Flight modes are a powerful feature in any RC system, and particularly so in EdgeTX and OpenTX thanks to the multiple contexts in which they can be employed.