Flight modes in Ethos
The power of flight modes
Flight modes are a cool feature of high end operating systems like Ethos. At their simplest, flight modes allow you to switch quickly between different trim settings. However they offer many other benefits.
In this article, I explain how to set up flight modes in Ethos, and how to take advantage of their power.
Let's suppose that you're flying a sailplane, and you find a thermal. To take advantage, 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! But by setting up a 'thermal' flight mode, you could accomplish all three operations at the flick of a switch.
The same applies for other phases of flight like cruise, landing and so on. By setting up a flight mode for each phase, you can quickly alter the behaviour of the model.
Flight modes overview
Every model in Ethos has one or more flight modes. These comprise:
- the default flight mode. This is always present.
- user-defined flight modes. These are optional additional flight modes that you create yourself.
Ethos maintains a simple rule:
- One - and only one - flight mode is active at all times.
The flight mode which is active is called the active flight mode. When a flight mode is active, all its dependent settings (like trims, mixers, special functions etc.) are also active. Those of any other flight modes are inactive. We'll see later how how Ethos determines the active flight mode.
Designing a flight mode setup
Flight modes should represent distinct phases of flight. For example, a sailplanes might have four flight modes 'Launch', 'Cruise', 'Thermal' and 'Landing'.
An example of a poor combination would be 'Landing' and 'Crow brakes', since their functions overlap in time. In general, flight modes should be broad in scope rather than being tied to specific mixers.
Managing flight modes
Flight modes are listed in the Flight modes screen. The default flight mode is always shown at the top, followed by any user-defined flight modes. Each flight mode has a name, and an Active condition. From this screen you can add, delete and modify flight modes.
The Default flight mode
The default mode is always present. It's shown at the top of Flight modes screen, with a blank Active condition.
If you don't create any flight modes, then the default flight mode is permanently active - without you knowing, or needing to know.
The initial name is 'Default Flight Mode' but you can change it to something more meaningful.
User-created flight modes
To realise the power of flight modes, you must define your own!
To create a flight mode, click the '+' at the top right of the Flight modes menu. This opens the flight mode editor. The key parameters are name and condition:
- Name - a label like 'Launch', 'Thermal' etc.
- Active condition - a physical or logical switch for activating the flight mode. The condition must be satisfied for the flight mode to be active.
Flight mode priority
Every flight mode has a priority. Ethos uses priorities to resolve conflicts, when more than one flight mode has its Active condition satisfied.
The priority is simply the position in the list - the higher up the list, the higher the priority.
The exception is the default flight mode - although it is shown at the top of the list, it has lowest priority.
How Ethos determines the active flight mode
Ethos uses a simple rule to select the active flight mode:
- The active flight mode is the highest priority flight mode whose active condition is True.
Let's look at an example. The screenshot below shows a typical setup for an F5J electric sailplane.
The default flight mode is named 'Thermal'. In addition there are four user defined flight modes. Let's look at these in order of priority.
- Highest priority is Power, activated by pulling the throttle stick (logical switch THROTTLE UP).
- Next is Landing, activated by pulling the crow stick (logical switch CROW STICK DOWN).
- Next are Cruise and Speed. These are activated using switch SA.
- The lowest priority flight mode is Thermal (since it's the default).
Now imagine that crow is deployed (CROW STICK DOWN is true), while the throttle is idle (THROTTLE UP is false). Let's examine how Ethos chooses the active flight mode:
- The highest priority mode is Power, however its condition (logical switch 'THROTTLE UP') is False, so it cannot be active. Proceed to the next flight mode...
- The next highest priority is Landing mode. Its condition (logical switch 'CROW STICK DOWN') is True, so this 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 in the previous step, they are not considered.
The active flight mode is always highlighted in the list.
Flight modes and trims
Trims can operate in two ways with respect to flight modes.
- Independent per flight mode. With this option, the trim affects the active flight mode only. This option is suitable for the elevator trim, since the trim required will typically vary according to the active flight mode. In fact, this is often be the main reason for having flight modes in the first place!
- Shared across flight modes. With this option, any change in the trim value in the active flight mode is reflected in all other flight modes. This is appropriate for aileron trim since the trim is generally the same regardless of flight mode.
The behaviour is defined in the Trims menu.
Putting flight modes to use
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 four contexts in which Flight modes can be employed: (a) to enable/disable mixers, (b) in special functions, (c) in logical switches and (d) to set rates. Let's look at each in turn:
A mixer may be linked to one or more flight modes. With a sailplane, for example, a crow compensation mix would be enabled in Landing mode, and disabled in all other modes. Or, on a slope racer, snapflap might be enabled in Normal and Speed modes.
To link a mix to specific flight modes, open the mixer menu, and tick the relevant fields in the Flight modes filter. The flight modes are shown by their priority ('D' for default, '1', '2', '3' etc.)
To trigger special functions
Flight modes can be used as conditions in special functions. One common application is for a flight mode to announce itself using a Play track action:
In logical switches
Flight modes can also be used as conditions in logical switches. For example, you might want behaviour to change within a flight mode, depending on a switch. In the code below, LSW10 is true if flight mode 1 is active and SA is down
To set rates
Flight modes can have individual control rates. The screenshot below shows the Ailerons mix. If FM1 is active, the rate is 50%. For FM2, the rates is 75%. For all other flight modes, the rate is the default 90%.
Programming flight mode switchesIn this section, we'll look at the most common way of activating flight modes, namely using a switch.
Two or three flight modes
For selecting up to three flight modes, a single 2- or 3-position switch is sufficient. Here's a typical scheme for three flight modes:
- SA-up: speed
- SA-mid: cruise
- SA-down thermal
And here's how it might be implemented in the Flight modes menu. Note that only two extra flight modes are required, since the third position will naturally fall back to the default ('D') flight mode.
Four or more flight modes
If there are four or more flight modes, two or more switches will be required. Below is a typical scheme for four flight modes. From the user's point of view, it works like this:
- SA-up: speed
- SA-mid: cruise
- SA-down [slaves to SF]:
- SF-up: thermal-1
- SF-down: thermal_2
And this is how it might be implemented in the Flight modes menu:
Let's check that it works. Imagine that SA is down and SF is up. Ethos starts from the Speed flight mode (the highest priority mode). The condition evaluates to False (since SA is not up). So Ethos steps to the Cruise line. Its condition is also False. Next, Ethos tries Thermal_2, which is also False.
Having exhausted the list, Ethos falls back to the default flight mode, Thermal_1, as intended.
Note that no logical switches are needed, even though the condition for thermal_1 is logically 'SA-down and SF-up'. This is one of the benefits of using flight modes.
Sometimes it's useful for a flight mode to be activated without user intervention. An example is an electric model with a 'Power' flight mode. Instead of requiring a switch, Power mode should be activated automatically when the motor is running.
To determine if the motor is running, we define a logical switch to check if the motor output is above the 'idle' value (−100%). Next, we specify the logical switch as the condition of the Power flight mode:
LSW1 CH7 > -100%
(Digression: for safety, there should also be an arming switch which is independent of flight mode. The state of the arming switch will determine whether the motor can actually run.)
Similarly, a Landing mode might be activated by pulling on the throttle stick. When the stick is at the top, it carries a value of 100%, so we can use the following code to activate Landing mode:
LSW1 Thr < +100%
Landing mode would typically activate a Butterfly mix.
Flight modes are a powerful feature in any RC system, and particularly so in Ethos thanks to the multiple contexts in which they can be employed.