Flight modes
The power of flight modes
Flight modes are a cool feature of high end radios. At their simplest, they allow you to switch quickly between different trim settings. But they can do a whole lot more! In this article, I explain how to configure them, and how to take advantage of their power.
All screenshots are taken from a RadioMaster TX16S running EdgeTX. The menus differ slightly between EdgeTX and OpenTX, but functionality is identical.
Sailplane example
Suppose that you're cruising around with your sailplane, and encounter a thermal. At that point you might wish 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 started! Worse, you'd lose trim settings that you'd previously set while cruising. But by setting up a couple of flight modes called say 'Cruise' and 'Thermal', you could switch quickly between the two sets of settings, each optimised for its own mode of flight..
How flight modes are organised
EdgeTX offers up to nine flight modes, numbered FM0 to FM8.
- FM0 is the default flight model. This is provided by the system and is always present.
- FM1-FM8 are user defined modes. Each is associated with a switch to activate it. (If no switch is assigned, then the flight mode is not used.)
The 'active' flight mode
There is one simple rule: One flight mode - and only one - is always active. The flight mode which is active is referred to as 'the active flight mode' (later, we'll see how EdgeTX determines the active flight mode). When a flight mode is active, all its dependent 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 permanently active, and no special action is needed when designing your setup.
Planning a flight mode scheme
It's a good idea to plan your flight mode scheme early on in the development process, as it may be difficult to alter later on. In this section, I'll describe how to plan your flight modes.
Identifying the phases of flight.
Start by identifying the various phases of flight. These should form a sequence which is non-overlapping, and without gaps. An example for a DLG would be: launch, zoom, normal, landing - these cover the whole flight from launch to landing.
From phases to modes
The next step is to identify the flight modes. These may be based directly on the phases that you have identified above. Additionally you can include alternatives for specific flight modes. So in the case of DLG example, you might split the 'normal' phase into a choice of 'speed', 'thermal' and 'cruise'. So the complete list of flight modes would be: Launch, Zoom, Speed/Thermal/Cruise and Landing.
Assigning priorities
The order of the flight modes determines the priority - we'll go into this in more detail later. Suffice to say that changing the order of flight modes is not easy, so it's better to get it right first time!
Best practice
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 screenshot above shows a scheme with four flight modes. The default flight mode (FM0) is at the top of the list, followed three user defined flight modes.
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
Flight modes are managed in the flight mode editor. The first page 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
Other options are set in a second page (not shown).
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 Speed
- 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%
FM1:Power Switch=L01
Similarly, a Landing mode might be activated by pulling on the throttle stick:
L01 Thr < +100%
FM1:Landing Switch=L01
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.
Sharing trims
Trims can be independent in each flight mode, or shared between flight modes or a mixture of both. For more details, see Advanced trims.
Enabling mixers
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%.
With GVARs
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.
Wrapping up
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.