Examples using the gotmc ivi package, which provides a Go-based implementation of the Interchangeable Virtual Instrument (IVI) standard.
The IVI Specifications developed by the IVI Foundation provide standardized APIs for programming test instruments. The ivi package is a partial, Go-based implementation of the IVI Specifications, which are specified for C, COM, and .NET.
The main advantage of the ivi package is not having to learn the SCPI commands for each individual piece of test equipment. For instance, by using the ivi package both the Agilent 33220A and the Stanford Research Systems DS345 function generators can be programmed using one standard API. The only requirement for this is having an IVI driver for the desired test equipment.
Run just with no arguments to list the available example recipes along with
the flags each one expects. The table below summarizes the transport ×
instrument combinations included in this repository:
| Transport | Instrument | Class | Justfile recipe |
|---|---|---|---|
| LXI | Keysight 33220A | Function generator | just k33220lxi <ip> |
| LXI | Keysight 33512B | Function generator | just k33512lxi <ip> |
| LXI | Keysight 34461A | Digital multimeter | just k34461lxi <ip> |
| LXI | Keysight MSO-X 3024A | Oscilloscope | just k3024lxi <ip> |
| LXI | Kikusui PMX | DC power supply | just pmxlxi <ip> |
| USBTMC | Keysight 33220A | Function generator | just k33220usb |
| USBTMC | Keysight U2751A | Switch matrix | just ku2751usb |
| VISA (USBTMC) | Keysight 33220A | Function generator | just k33220visa |
| Prologix GPIB | Keysight 33220A | Function generator | just k33220gpib <port> |
| Prologix GPIB | Keysight E3631A | DC power supply | just k3631gpib <port> |
| Prologix GPIB | Fluke 45 | Digital multimeter | just f45gpib <port> |
| ASRL (serial) | Keysight E3631A | DC power supply | just k3631asrl <port> |
| ASRL (serial) | SRS DS345 | Function generator | just ds345 <port> |
Documentation can be found at either:
- https://godoc.org/github.com/gotmc/ivi-examples
- Locally in the browser by running
just docs, which serves the package documentation via pkgsite.
Contributions are welcome! To contribute please:
- Fork the repository
- Create a feature branch
- Code
- Submit a pull request
Prior to submitting a pull request, please run:
$ just check
$ just lintTo update and view the test coverage report:
$ just coverivi-examples is released under the MIT license. Please see the LICENSE.txt file for more information.