Visa
Go-based VISA resource manager.
Install / Use
/learn @gotmc/VisaREADME
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.
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.
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 (LXI), USBTMC, and Serial (ASRL) drivers available.
"github.com/gotmc/visa"
_ "github.com/gotmc/visa/driver/tcpip"
_ "github.com/gotmc/visa/driver/usbtmc"
_ "github.com/gotmc/visa/driver/asrl"
Documentation
Documentation can be found at either:
- https://godoc.org/github.com/gotmc/visa
- http://localhost:6060/pkg/github.com/gotmc/visa/ after running
$ godoc -http=:6060
Contributing
Contributions are welcome! To contribute please:
- Fork the repository
- Create a feature branch
- Code
- Submit a pull request
Development Dependencies
Testing
Prior to submitting a pull request, please run:
$ just check
$ just lint
To update and view the test coverage report:
$ just cover
License
visa is released under the MIT license. Please see the LICENSE.txt file for more information.
Related Skills
next
A beautifully designed, floating Pomodoro timer that respects your workspace.
product-manager-skills
34PM skill for Claude Code, Codex, Cursor, and Windsurf: diagnose SaaS metrics, critique PRDs, plan roadmaps, run discovery, and coach PM career transitions.
devplan-mcp-server
3MCP server for generating development plans, project roadmaps, and task breakdowns for Claude Code. Turn project ideas into paint-by-numbers implementation plans.
