@hackage usb0.6.0.8
Communicate with USB devices
Categories
License
BSD-3-Clause
Maintainer
Bas van Dijk <v.dijk.bas@gmail.com>
Links
Versions
Installation
CustomDependencies (5)
- base >=4 && <4.4
- base-unicode-symbols >=0.1.1 && <0.3
- bindings-libusb >=1.3 && <1.5
- bytestring >=0.9 && <0.10
- text >=0.5 && <0.12 Show all…
Dependents (9)
@hackage/usb-safe, @hackage/usb-iteratee, @hackage/acme-everything, @hackage/ftdi, @hackage/ls-usb, @hackage/blink1, Show all…
This library allows you to communicate with USB devices from
userspace. It is implemented as a high-level wrapper around
bindings-libusb which is a low-level binding to the C library:
libusb-1.*.
This documentation assumes knowledge of how to operate USB devices from a software standpoint (descriptors, configurations, interfaces, endpoints, control/bulk/interrupt/isochronous transfers, etc). Full information can be found in the USB 2.0 Specification.
For an example how to use this library see the ls-usb package
at:
http://hackage.haskell.org/package/ls-usb
Also see the usb-safe package which wraps this package and
provides some strong safety guarantees for working with USB
devices:
http://hackage.haskell.org/package/usb-safe
Finally have a look at the usb-enumerator package which
provides iteratee enumerators for enumerating bulk and interrupt
endpoints:
http://hackage.haskell.org/package/usb-enumerator
Besides this API documentation the following sources might be interesting:
The libusb 1.0 documentation at: http://libusb.sourceforge.net/api-1.0/
The USB 2.0 specification at: http://www.usb.org/developers/docs/
The
bindings-libusbdocumentation at: http://hackage.haskell.org/package/bindings-libusb"USB in a NutShell" at: http://www.beyondlogic.org/usbnutshell/usb1.htm