An open API service indexing awesome lists of open source software.

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.

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