{"@context":"https://w3id.org/codemeta/3.0","@type":"SoftwareSourceCode","identifier":"pkg:hackage/usb","name":"usb","description":"This library enables you to communicate with USB devices from\nuserspace. It is implemented as a high-level wrapper around\nbindings-libusb\n(http://hackage.haskell.org/package/bindings-libusb)\nwhich is a low-level binding to the C library:\nlibusb-1.* (http://libusb.org/).\n\nThe USB transfer functions in this library have a simple synchronous\ninterface (they block) but are implemented using the libusb\nasynchronous interface. They integrate with the GHC event manager\nmaking them efficient (no busy-loops) and interruptible (throwing an\nexception to the thread executing a transfer immediately cancels the\ntransfer).\n\nIf the GHC event manager is not available (because you're either not\nusing GHC or because you're on Windows) the library degrades\ngracefully to the libusb synchronous implementation.\n\nThis documentation assumes knowledge of how to operate USB\ndevices from a software standpoint (descriptors, configurations,\ninterfaces, endpoints, control/bulk/interrupt/isochronous\ntransfers, etc). Full information can be found in the\nUSB 2.0 specification (http://www.usb.org/developers/docs/).\n\nFor an example how to use this library see the\nusb-example package (https://github.com/basvandijk/usb-example)\nor the ls-usb package (http://hackage.haskell.org/package/ls-usb).\n\nBesides this API documentation the following sources might be\ninteresting:\n\nThe libusb 1.0 documentation (http://libusb.sourceforge.net/api-1.0/).\n\nThe USB 2.0 specification (http://www.usb.org/developers/docs/).\n\nThe bindings-libusb documentation (http://hackage.haskell.org/package/bindings-libusb).\n\n\"USB in a NutShell\" (http://www.beyondlogic.org/usbnutshell/usb1.htm).","version":"0.3.1","softwareVersion":"0.3.1","license":"https://spdx.org/licenses/BSD-3-Clause","codeRepository":"https://github.com/basvandijk/usb","issueTracker":"https://github.com/basvandijk/usb/issues","url":"http://basvandijk.github.com/usb","keywords":["bsd3","hardware","library","system","Propose Tags"],"programmingLanguage":{"@type":"ComputerLanguage","name":"Haskell"},"maintainer":[{"@type":"Person","name":"BasVanDijk"}],"author":[{"@type":"Person","name":"BasVanDijk"}],"copyrightHolder":[{"@type":"Person","name":"BasVanDijk"}],"dateCreated":"2009-09-30","dateModified":"2010-05-02","datePublished":"2010-05-02","copyrightYear":2009,"downloadUrl":"https://hackage.haskell.org/package/usb-0.3.1/usb-0.3.1.tar.gz","applicationCategory":"hackage","runtimePlatform":"hackage","developmentStatus":"active","sameAs":["https://hackage.haskell.org/package/usb"],"https://www.w3.org/ns/activitystreams#likes":28,"https://forgefed.org/ns#forks":12}