Virtual Input
Applies to: IOcan · Standalone controller. What this means
Overview
A Virtual Input takes its value from the datalogger over USB. Each one is a slider you can drag while the device is running, so logic that consumes an input can be exercised without the real signal present.
It is a bench and commissioning tool. Which of the datalogger's sliders drives a given Virtual Input is chosen by the pin field, exactly as System Input uses the pin as a selector.
⚠️ Do not leave a Virtual Input feeding anything that moves the car. With the datalogger disconnected it holds whatever it was last set to — it does not revert, and nothing marks it as stale. A mandatory signal sourced from a slider looks perfectly healthy right up to the point where it is wrong.
Being a bench tool, it is most useful before the loom exists — wiring concepts is the other half of that job.
Prerequisites
- The datalogger connected over USB to move the slider. Without it the input holds its last value.
Add it in the app
- Add a new input and choose Virtual Input as the type.
- Choose the pin / selector — which datalogger slider drives it.
- Give it a clear name, and make the name say it is a test source:
TEST Pedalrather thanPedal.
Settings reference
This input has no type-specific settings. Its value comes entirely from the datalogger slider selected by the pin.
Common settings
Virtual Input uses the shared Name and Pin settings, where Pin selects the slider rather than a physical pin. See Common IO settings.
Example — exercise shift logic on the bench
- Add Virtual Inputs
TEST RPMandTEST Pedal. - Point the logic you want to exercise at them instead of the real channels.
- Drive the sliders and watch the result in the datalogger.
- Put the real channels back before the car moves, and confirm in the datalogger that the virtual inputs are no longer referenced by anything.
Values follow whatever convention the consumer expects — see the 1024 convention. A slider feeding a percentage channel runs 0–1024.
Troubleshooting
- The value never changes: the datalogger is not connected, or the pin selects a different slider from the one you are moving.
- It froze at some value: USB disconnected. That is the documented behaviour, not a fault, and it is why these should not stay in a running configuration.
- Nothing downstream responds: the consumer still references the real input.
Related
- Constant Value Input — a fixed value that is not driven at run time
- System Input — an internal value, also selected by pin
- Signal requirements — what a wrong-but-plausible signal does