Mux Input » History » Version 3
Adam Klama, 06/21/2026 03:18 PM
| 1 | 1 | Adam Klama | # Mux Input |
|---|---|---|---|
| 2 | |||
| 3 | ## Overview |
||
| 4 | A **Mux Input** (multiplexer) passes through **one of up to eight data inputs**, |
||
| 5 | chosen by a separate **selector** input — like a rotary selector switch. The |
||
| 6 | selector's value (0–7) decides which data input appears at the output. Use it to |
||
| 7 | switch between sources at runtime: different calibration sets, sensor banks, or |
||
| 8 | operating-mode values. |
||
| 9 | |||
| 10 | ## Prerequisites & hardware |
||
| 11 | You need: |
||
| 12 | - A **selector input** whose value is `0`–`7` — any existing input, by alias. |
||
| 13 | 3 | Adam Klama | This is often a [Counter Input](Counter_Input). |
| 14 | 1 | Adam Klama | - One or more **data inputs** to choose between (up to eight), each by alias. |
| 15 | |||
| 16 | ## Add it in the app |
||
| 17 | 1. Add a new input and choose **Mux Input** as the type. |
||
| 18 | 2. Choose the **selector** and **data inputs**. |
||
| 19 | 3. Give it a clear **alias** (e.g. `Active Pressure Target`). |
||
| 20 | 4. Assign the **selector input**, then fill **data input 0…7** with the sources |
||
| 21 | you want to switch between. |
||
| 22 | |||
| 23 | ## Settings reference |
||
| 24 | |||
| 25 | | Setting | Meaning | Unit | Range / values | Notes | |
||
| 26 | |---|---|---|---|---| |
||
| 27 | | **Selector input** | Chooses which data input is passed through | — | an existing input (by alias), value `0`–`7` | Value `0` selects **Data input 0**, `1` selects **Data input 1**, … `7` selects **Data input 7**. | |
||
| 28 | | **Data inputs 0–7** | The eight candidate inputs to switch between | — | up to 8 existing inputs (by alias) | The output equals whichever one the selector points to. You need only fill the slots you use. | |
||
| 29 | |||
| 30 | **How it selects:** the output simply mirrors the data input whose slot number |
||
| 31 | matches the current **selector** value. A selector of `2` passes **Data input 2** |
||
| 32 | straight through. |
||
| 33 | |||
| 34 | ## Common settings |
||
| 35 | 2 | Adam Klama | Mux Input also uses the shared setting — alias. See [Common IO Settings](Common_IO_Settings). |
| 36 | 1 | Adam Klama | |
| 37 | ## Example — switch pressure target by drive mode |
||
| 38 | 1. Type **Mux Input**, alias `Active Pressure Target`. |
||
| 39 | 2. **Selector input** = your `Drive Mode` value (0 = Comfort, 1 = Sport). |
||
| 40 | 3. **Data input 0** = `Comfort Pressure` constant. |
||
| 41 | 4. **Data input 1** = `Sport Pressure` constant. |
||
| 42 | 5. The output now follows the constant for whichever mode is selected. |
||
| 43 | |||
| 44 | ## Troubleshooting |
||
| 45 | - **Output stuck on one source:** check the **selector** value actually changes |
||
| 46 | and lands on `0`–`7`. |
||
| 47 | - **Unexpected / zero output:** a selected slot may be empty — fill **Data input |
||
| 48 | N** for every selector value you use. |
||
| 49 | - **Selector out of range:** values above `7` have no matching slot; clamp or map |
||
| 50 | the selector so it stays within `0`–`7`. |
||
| 51 | |||
| 52 | ## Related |
||
| 53 | 2 | Adam Klama | - [Constant Value Input](Constant_Value_Input) — fixed values to switch between. |
| 54 | - [Analog Switch Input](Analog_Switch_Input) — a multi-position selector source. |
||
| 55 | - [Map Input](Map_Input) — interpolate a value instead of selecting one. |