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 07. 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 07, 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.