Discovery and device assignment¶
How instruments are found, classified, and rebound after hardware swaps.
Auto-discovery¶
Both enumerate (via the VISA resource manager):
?*INSTR(all instruments)USB?*::INSTRGPIB?*INSTRASRL?*INSTR(serial)
USB and GPIB require no manual address. TCPIP/LXI usually does:
Probe policy¶
Controls how aggressively devices are classified during scan:
| Policy | Behavior |
|---|---|
ReadOnly (default) |
Registry + *IDN? + benign state queries |
None |
Registry + *IDN? only |
Full |
ReadOnly plus :MEAS:VOLT:DC? (triggers acquisition) |
Listing devices by type¶
Instrument replacement¶
DeviceId is derived from manufacturer + model + serial (falls back to VISA address):
Persist DeviceId from a discovered device, rescan after a swap, and open by identity — the VISA address may change but a serial-based ID stays stable.
See dotnet/examples/AssignInstruments.
User overrides¶
Force kinds when classification is wrong:
Adding models to the registry¶
Edit crates/instrument-core/data/model_registry.toml and regenerate shared tables. See the repo CONTRIBUTING.md.