Multifunction Momentary Switch

Published by Mr. D on

This tutorial shows you how to get more out of your momentary switch. Its pretty simple to set up the momentary switch to do something, like reset a timer or read out your current altitude. But, what if we want it to do more than that? What if we want it to reset the timer and read out the current altitude, and I’m not talking stacking the special functions. We can do it so that a quick flick reads the altitude, a hold of 2-4 seconds tells you your pack voltage, 4-6 seconds enters the iNav OSD menu, and 6-8 seconds resets the timer. These are all just examples, what you can do is only limited by your imagination, how well you can remember a beep sequence, and how long you can hold your finger on the switch. The most important thing is to order your options, so that the things you may want to activate in flight are sooner, and things that can be done on the ground are later in the list.

How this is set up

I’ve tried to come up with a concept to easier explain this functionality. What I’ve come up with is to call each command a switch “position”. Each switch “position” is comprised of 2 logical switches and 2 special functions (for basic operations). The first logical switch sets the beginning of the position, which triggers a special function to make a sound. I’m just using beeps, but you could have a different sound for each position. You could even have a voice to say what each position is, but you would need to lengthen the size of the position. The idea is, as soon as you hear the sound you want, let go of the momentary switch.

The second logical switch defines the length of and captures the release of the momentary switch. In some cases, w need to add an extra logical switch. For example, if you want to have a switch position to enter the iNav OSD menu, we must make sure that the system is disarmed before we can grant access. The triggering of this logical switch will enable the special function to do it’s thing.

Example

In the example below, I have set up 4 switch positions:

  • Option 1 – When the switch is flicked, it will read out the altitude
  • Option 2 – Reset the flight timer
  • Option 3 – Enter the iNav OSD menu
  • Option 4 – Calibrate the compass

As I said earlier, you can pretty much get this to do anything. But, I thought these examples may be useful to people.

RC Programming

Select your first available programming slot(s):

  • Logical Switch
  • Special Function

OpenTX Logical Switches

#FunctionV1V2AND SwitchDurationDelay
Option 1 (Read Alt) Sound
L01EdgeSH↓0.0 | (Instant)0.00.0
Option 1 (Read Alt) Action
L02EdgeSH↓0.0 | 1.50.00.0
Option 2 (Reset Timer) Sound
L03EdgeSH↓1.5 | (Instant)0.00.0
Option 2 (Reset Timer) Action
L04EdgeSH↓1.5 | 3.00.00.0
Option 3 (OSD Menu) Sound
L05EdgeSH↓3.0 | (Instant)SF↓0.00.0
Option 3 (OSD Menu) Action
L06EdgeSH↓3.0 | 4.5SF↓1.10.0
Option 4 (Calibrate Compass) Sound
L07EdgeSH↓4.5 | (Instant)SF↓0.00.0
Option 4 (Calibrate Compass) Action
L08EdgeSH↓4.5 | 6.0SF↓1.10.0
Armed allowed options end sound
L09EdgeSH↓3.0 | (Instant)SF↑0.00.0
Unarmed only options end sound
L10EdgeSH↓6.0 | (Instant)SF↓0.00.0

OpenTX Special Functions

#SwitchActionParametersEnable
Option 1 (Read Alt) Sound
SF01L01Play TrackAltitude!x1
Option 1 (Read Alt) Action
SF02L02Play ValueAlt!x1
Option 2 (Reset Timer) Sound
SF03L03Play TrackReset Timer!x1
Option 2 (Reset Timer) Action
SF04L04ResetTimer 1
Option 3 (OSD Menu) Sound
SF05L05Play TrackOSD Menu!x1
Option 3 (OSD Menu) Action
SF06L06Override CH10
SF07L06Override CH2100
SF08L06Override CH30
SF09L06Override CH4-100
Option 4 (Calibrate Compass) Sound
SF10L07Play TrackCalibrate Compass!x1
Option 4 (Calibrate Compass) Action
SF11L08Override CH10
SF12L08Override CH2-100
SF13L08Override CH3100
SF14L08Override CH4100
Armed allowed options end sound
SF15L09Play SoundBeep 1!x1
Unarmed only options end sound
SF16L10Play SoundBeep 1!x1
Share:
Categories: OpenTX Tutorials