OpenTX logo
Les Wood resting in the grass with his Shinto

Inputs

Introduction

Dataflow

Inputs are great for easy adjustment of control surface travels. In this article I'll explain how to use them.

What are inputs?

Inputs are a type of source. They differ from raw sources (sticks, sliders etc.) in that they carry a weight and expo. While you can specify weight and expo in mixes, inputs are the preferred method for the following reasons:

In short, inputs should always be used where rate and expo are routinely adjusted, such as with aileron, rudder and elevator controls.

Single point of adjustment

Consider a setup for dual ailerons on, say, CH1 and CH2. Now, suppose we want to set the rate to, say, 86%. First, here's how to do it the 'wrong' way, using the sticks as the sources of the mixers:

Mixers screenshot

Although this will work, the weight has to be entered twice. Good practice dictates that duplicates should always be avoided if possible, to minimise the chance of errors.

We can solve this by using an aileron input as the source to the mixers and setting the mixer weight to 100%. Note that inputs are distinguished by having a prefix of 'I' instead of the stick icon.

Inputs screenshot

Mixers screenshot

So now, to adjust the aileron rate, we only have to edit one item!

Note how I've set the mixer weights to +/-100%. The weights from the input propagates into the mix, so it's good practice to set mixer rates at +/-100% when using inputs.

How trims are handled

The Input editor includes a Trim option. The default is 'On' as in the screenshot below:

Inputs screenshot

If Trim is set to 'On', then the full +/-25% of trim travel is included in the output, regardless of the input weight. If trim is set to 'Off', then the associated trim is ignored.

Where inputs are not used

Inputs aren't necessary for controls which do not require rates or expo. These include

You can use the regular sources for these. It's good practice to delete any inputs which are not used.

Creating and managing inputs

Inputs are managed in the Inputs menu. There are 32 inputs available, each identified by a label of the form [I]xxx. In order to do anything useful, an input must have one or more lines specifying source, weight, and diff/expo.

Here's a screenshot of the Inputs menu:

Inputs screenshot

And here are screenshots of the editor:

Inputs screenshot

Inputs screenshot

The fields are as follows:

The Switch, Flight mode and Side conditions must all be satisfied, otherwise the input line will be ignored.

Order of processing

The order of processing is source-value > curve > weight > offset > trim

System generated inputs

When you create a new model, OpenTx automatically sets up four inputs [I]Ail, [I]Ele, [I]Thr, [I]Rud. The sources of these inputs are the corresponding sticks.

Inputs screenshot

The order in which the inputs appear is not critical, as you will choose them by name.

OpenTx also creates four mixers with these inputs as sources. Here's a screenshot of the Mixers menu:

Mixers screenshot

Using inputs to create dual and triple rates

An Input may have more than one line, each with its own switch and/or flight mode conditions. You can use this to implement dual/triple rates, or to set rates automatically according to the active flight mode.

Here's an example of triple rates for aileron, using switch SB:

Inputs screenshot

How it works:

If the end of the list is reached without finding a match, the input will freeze. This opens the door to a critical failure unless precautions are followed! We'll look at this in more detail in the next section.

The 'CATCHALL' line

In this section, I'll show how a simple error can have serious consequences, and how guard against it.

So let's repeat the example in the screenshot above. This time, let's imagine that I made an error in the last line; instead of typing SB, I typed 'SA' by mistake:

I1:Ail

Ail Weight(+33%) Switch(SB↑)

Ail Weight(+66%) Switch(SB-)

Ail Weight(+100%) Switch(SA↓) -- mistake: SA↓ instead of SB

The intention is to activate the last line when SB is down. However, because of my 'error', the last line will only be activated if SB is down and SA is down. If SB is down and SA is up, no line will be matched, and the aileron will freeze! Why? Because, as we saw earlier, if the end of the list is reached without a match, the input will not function at all!

So whether or not you crash will depend on the position of SA.

This is where a 'catchall' line comes into play. A 'catchall' line is simply a line with no conditions, in other words, it will always be matched. By placing it as the last line in the group, we can guarantee a match before the end of the list is reached. The rate my not be quite what you expect, but at least the aileron will continue to function!

Inputs screenshot

How to make a CATCHALL line

To create a catchall line:

Using a catchall as a default

A catchall line can also function as a default setting to simplify the input list. So in the example below, SB-up corresponds to low rate, all other positions fall through to the catchall line for a 50% rate.

I1:Ail

Ail Weight(+33%) Switch(SB↑)

Ail Weight(+50%)