usb
Version 1.1.0.1 revision 0 uploaded by BasVanDijk.
Package meta
- Synopsis
- Communicate with USB devices
- Description
This library enables 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.*
.The USB transfer functions in this library have a simple synchronous interface (they block) but are implemented using the
libusb
asynchronous interface. They integrate with the GHC event manager making them efficient (no busy-loops) and interruptible (throwing an exception to the thread executing a transfer immediately cancels the transfer).If the GHC event manager is not available (because you're either not using GHC or because you're on Windows) the library degrades gracefully to the
libusb
synchronous implementation.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
usb-example
package at:https://github.com/basvandijk/usb-example
or 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-iteratee
package which providesiteratee
enumerators for enumerating bulk, interrupt and isochronous endpoints:http://hackage.haskell.org/package/usb-iteratee
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-libusb
documentation at: http://hackage.haskell.org/package/bindings-libusb"USB in a NutShell" at: http://www.beyondlogic.org/usbnutshell/usb1.htm
- Author
- Bas van Dijk <v.dijk.bas@gmail.com>
- Bug reports
- https://github.com/basvandijk/usb/issues
- Category
- System, Hardware
- Copyright
- 2009–2012 Bas van Dijk <v.dijk.bas@gmail.com>
- Homepage
- http://basvandijk.github.com/usb
- Maintainer
- Bas van Dijk <v.dijk.bas@gmail.com>
- Package URL
- n/a
- Stability
- n/a