Skip to content

gotmc/mccdaq

Repository files navigation

mccdaq

GoDoc License Badge

Go library to communicate with Measurement Computing Corporation (MCC) USB DAQs. Based on Dr. Warren J. Jasper's MCC DAQ C-based drivers. Many thanks to Dr. Jasper for his work.

WARNING: This code is in active development and should not be considered a stable API. Currently, it is not idomatic GO code, but I hope to change that in the near future.

Supported MCC Devices

Below is a list of supported MCC devices. If you want to add a device, please open an issue. Better yet, please open a pull request with the updated code.

  • USB-1608FS-Plus: Digital I/O and event counter not yet implemented.
  • USB-200 Series: Digital I/O, analog output, and 32-bit counter not yet implemented. Not yet tested on an actual USB-20X device.

Installation

$ go get github.com/gotmc/mccdaq

Dependencies

  • libusb C library — Library for USB device access
    • OS X: $ brew install libusb
    • Debian/Ubuntu: $ sudo apt-get install -y libusb-1.0-0 libusb-1.0-0-dev
  • Go libusb — Go bindings for the libusb C library
    • $ go get github.com/gotmc/libusb

Documentation

Documentation can be found at either:

Contributing

mccdaq is developed using Scott Chacon's GitHub Flow. To contribute, fork mccdaq, create a feature branch, and then submit a pull request. GitHub Flow is summarized as:

  • Anything in the master branch is deployable
  • To work on something new, create a descriptively named branch off of master (e.g., new-oauth2-scopes)
  • Commit to that branch locally and regularly push your work to the same named branch on the server
  • When you need feedback or help, or you think the branch is ready for merging, open a pull request.
  • After someone else has reviewed and signed off on the feature, you can merge it into master.
  • Once it is merged and pushed to master, you can and should deploy immediately.

Testing

Prior to submitting a pull request, please run:

$ gofmt
$ golint
$ go vet
$ go test

To update and view the test coverage report:

$ go test -coverprofile coverage.out
$ go tool cover -html coverage.out

License

mccdaq is released under the MIT license. Thanks to Warren J. Jasper at NCSU for allowing us to use the MIT license for this derivative work of his MCC drivers. Please see the LICENSE.txt file for more information.

About

Go-based library for MCC DAQs

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published