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 0x00F1 when 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 fault 0x00F0 and the mux never updates.
  • Eight data inputs. Reuse a constant for the slots you do not need.

Add it in the app

  1. Add a new input and choose Mux Input as the type.
  2. Give it a clear name (e.g. Active Pressure Target).
  3. Assign the selector input.
  4. 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.

  1. Add a Constant Value Input named Default Pressure.
  2. Type Mux Input, name Active Pressure Target.
  3. Selector input Drive Mode — 0 for Comfort, 1 for Sport.
  4. Data input 0 Comfort Pressure, data input 1 Sport Pressure.
  5. 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 0x00F1 on 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.