Mux Input
Applies to: IOcan · Standalone controller. What this means
Overview
A Mux Input (multiplexer) passes through one of eight data inputs,
chosen by a separate selector input. The selector's value picks the slot:
0 passes data input 0, 1 passes data input 1, and so on to 7.
Use it to switch between sources at run time — calibration sets per drive mode, alternative sensor sources, mode-dependent targets.
⚠️ All eight slots must be filled. This is not a "fill the ones you use" list: every unassigned slot raises configuration fault
0x00F1when the configuration is applied. Point the unused slots at a Constant Value Input — one shared constant is enough.
Switching calibration sets per drive mode is the usual reason, and the mode selector itself is normally a switch or button on a device pin — wiring concepts covers how those are wired in.
Prerequisites
- A selector input producing values
0–7. A Counter Input, an RBC Input or a decoded mode value are all typical. An unassigned selector raises fault0x00F0and the mux never updates. - Eight data inputs. Reuse a constant for the slots you do not need.
Add it in the app
- Add a new input and choose Mux Input as the type.
- Give it a clear name (e.g.
Active Pressure Target). - Assign the selector input.
- Fill data input 0 through data input 7 — all of them.
Settings reference
| Setting | Meaning | Unit | Range / values | Notes |
|---|---|---|---|---|
| Selector input | Picks which data input is passed through | — | an existing input | Read as a plain integer, not against the 512 threshold. Unassigned raises 0x00F0. |
| Data inputs 0–7 | The eight candidates | — | eight existing inputs | Each unassigned slot raises 0x00F1 with its index. |
What happens outside 0–7
If the selector reads below 0 or above 7, or lands on a slot that is not
assigned, the mux holds its previous value. It does not fall back to a
default and it does not clamp to the nearest slot — it simply stops updating
until the selector returns to a valid slot.
That is usually what you want, but it means a selector that drifts out of range looks identical to a selector that has frozen. If the distinction matters, run the selector through a Compare Input as well and watch both.
Common settings
Mux Input also uses the shared Name setting. See Common IO settings.
Example — pressure target by drive mode
Two real modes, six slots to fill anyway.
- Add a Constant Value Input named
Default Pressure. - Type Mux Input, name
Active Pressure Target. - Selector input
Drive Mode— 0 for Comfort, 1 for Sport. - Data input 0
Comfort Pressure, data input 1Sport Pressure. - Data inputs 2–7 all
Default Pressure, so the configuration applies cleanly and an unexpected mode value gives a safe value rather than a frozen one.
Troubleshooting
- Configuration faults
0x00F1on startup: one or more data slots are unassigned. The fault's parameter is the slot index. - Configuration fault
0x00F0: the selector is unassigned. - Output frozen: the selector is outside
0–7, or pointing at a slot whose input failed to configure. The mux holds its last value in both cases. - Output follows the wrong source: the selector is off by one — slot
numbering starts at
0.
Related
- Constant Value Input — fill the unused slots
- Counter Input · RBC Input — typical selector sources
- Map Input — interpolate a value rather than select one