https://github.com/gotmc/visa
Go-based VISA resource manager.
https://github.com/gotmc/visa
gpib ivi ivi-specs ivi-standard lxi tcpip test-automation usbtmc visa visa-resource
Last synced: 4 months ago
JSON representation
Go-based VISA resource manager.
- Host: GitHub
- URL: https://github.com/gotmc/visa
- Owner: gotmc
- License: mit
- Created: 2015-06-03T02:05:02.000Z (about 11 years ago)
- Default Branch: master
- Last Pushed: 2025-06-03T00:09:06.000Z (about 1 year ago)
- Last Synced: 2025-08-13T22:29:20.883Z (10 months ago)
- Topics: gpib, ivi, ivi-specs, ivi-standard, lxi, tcpip, test-automation, usbtmc, visa, visa-resource
- Language: Go
- Homepage:
- Size: 1.28 MB
- Stars: 12
- Watchers: 2
- Forks: 5
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
- Authors: AUTHORS.md
Awesome Lists containing this project
README
# visa
Go-based Virtual Instrument Software Architecture (VISA) resource manager, which
can be used by itself to send Standard Commands for Programmable Instruments
([SCPI][]) commands, or to provide an interface for Interchangeable Virtual
Instrument (IVI) drivers.
[![GoDoc][godoc badge]][godoc link]
[![Go Report Card][report badge]][report card]
[![License Badge][license badge]][LICENSE.txt]
## Background
The primary purpose of this package is to parse a VISA resource address
string in order to create a new VISA resource, which abstracts the
interface type—USBTMC, TCPIP, ASRL. By registering a driver for the
interface type, application developers can decide which interface types
to support and which to exclude, so as to not unnecessarily bloat their
packages.
The primary source of information is the _VPP-4.3: The VISA Library_
dated June 19, 2014, which can be found at the [IVI Specifications
webpage][ivi-specs].
## Usage
In order to not bloat an end developer's application, the desired HW interface
driver(s) have to be registered, similar to Go's SQL package. Currently, there
are TCPIP, USBTMC, and Serial (ASRL) drivers available.
```go
"github.com/gotmc/visa"
_ "github.com/gotmc/visa/driver/tcpip"
_ "github.com/gotmc/visa/driver/usbtmc"
_ "github.com/gotmc/visa/driver/asrl"
```
## Installation
```bash
$ go get github.com/gotmc/visa
```
## Documentation
Documentation can be found at either:
-
- after running `$
godoc -http=:6060`
## Contributing
Contributions are welcome! To contribute please:
1. Fork the repository
2. Create a feature branch
3. Code
4. Submit a [pull request][]
### Testing
Prior to submitting a [pull request][], please run:
```bash
$ make check
$ make lint
```
To update and view the test coverage report:
```bash
$ make cover
```
## License
[visa][] is released under the MIT license. Please see the
[LICENSE.txt][] file for more information.
[GitHub Flow]: http://scottchacon.com/2011/08/31/github-flow.html
[godoc badge]: https://godoc.org/github.com/gotmc/visa?status.svg
[godoc link]: https://godoc.org/github.com/gotmc/visa
[ivi-specs]: http://www.ivifoundation.org/specifications/
[LICENSE.txt]: https://github.com/gotmc/visa/blob/master/LICENSE.txt
[license badge]: https://img.shields.io/badge/license-MIT-blue.svg
[pull request]: https://help.github.com/articles/using-pull-requests
[report badge]: https://goreportcard.com/badge/github.com/gotmc/visa
[report card]: https://goreportcard.com/report/github.com/gotmc/visa
[scpi]: https://www.ivifoundation.org/About-IVI/scpi.html
[visa]: https://github.com/gotmc/visa