instro accelerates test equipment automation and simplifies integration with Nominal’s platform when desired.
What instro provides
- Unified interfaces and code reusability across different vendors and models of the same equipment type. For example, switching out an NI DAQmx device for a LabJack device entails switching out the underlying
driver object while the rest of the code is unchanged.
- Background threads which automatically poll data from instruments on a user-defined cycle or can be overridden to provide application-specific behavior
- Publishing classes to forward
Measurement data read from instruments or Command data sent to instruments on to any number of downstream services, including:
- File-based publishing which writes instrument data to several on-disk formats
- Built-in publishers that stream
Measurements and Commands to Nominal Core and Nominal Connect
- Caching publishers which store the latest
Measurements and Commands for easy in-memory access
instro targets scripting and automation workflows, not tight control applications with strict real-time requirements. For precise timing control, choose instruments that provide hardware-level guarantees (such as hardware triggers or dedicated hardware clocks) and use instro to configure those capabilities.
When instro doesn’t fit
instro is optional. Interface with instruments using manufacturer-provided SDKs and send data to Nominal products through their APIs directly, if that serves your needs better.
If instro doesn’t expose a feature you need:
- Open an issue to request the feature.
- Go direct: use the instrument’s native interface.
A missing feature in instro should never block your work.