Documentation ¶
Overview ¶
Package usb provide interfaces for generic USB devices.
Index ¶
Constants ¶
This section is empty.
Variables ¶
var ErrDeviceClosed = errors.New("usb: device closed")
ErrDeviceClosed is returned for operations where the device closed before or during the execution.
var ErrUnsupportedPlatform = errors.New("usb: unsupported platform")
ErrUnsupportedPlatform is returned for all operations where the underlying operating system is not supported by the library.
Functions ¶
Types ¶
type Device ¶
type Device interface { // Close releases the USB device handle. Close() error // Write sends a binary blob to a USB device. For HID devices write uses reports, // for low level USB write uses interrupt transfers. Write(b []byte) (int, error) // Read retrieves a binary blob from a USB device. For HID devices read uses // reports, for low level USB read uses interrupt transfers. Read(b []byte) (int, error) }
Device is a generic USB device interface. It may either be backed by a USB HID device or a low level raw (libusb) device.
type DeviceInfo ¶
type DeviceInfo struct { Path string // Platform-specific device path VendorID uint16 // Device Vendor ID ProductID uint16 // Device Product ID Release uint16 // Device Release Number in binary-coded decimal, also known as Device Version Number Serial string // Serial Number Manufacturer string // Manufacturer String Product string // Product string UsagePage uint16 // Usage Page for this Device/Interface (Windows/Mac only) Usage uint16 // Usage for this Device/Interface (Windows/Mac only) // The USB interface which this logical device // represents. Valid on both Linux implementations // in all cases, and valid on the Windows implementation // only if the device contains more than one interface. Interface int // contains filtered or unexported fields }
DeviceInfo contains all the information we know about a USB device. In case of HID devices, that might be a lot more extensive (empty fields for raw USB).
func Enumerate ¶
func Enumerate(vendorID uint16, productID uint16) ([]DeviceInfo, error)
Enumerate returns a list of all the USB devices attached to the system which match the vendor and product id. On platforms that this file implements the function is a noop and returns an empty list always.
func EnumerateHid ¶
func EnumerateHid(vendorID uint16, productID uint16) ([]DeviceInfo, error)
EnumerateHid returns a list of all the HID devices attached to the system which match the vendor and product id. On platforms that this file implements the function is a noop and returns an empty list always.
func EnumerateRaw ¶
func EnumerateRaw(vendorID uint16, productID uint16) ([]DeviceInfo, error)
EnumerateRaw returns a list of all the USB devices attached to the system which match the vendor and product id. On platforms that this file implements the function is a noop and returns an empty list always.
func (DeviceInfo) Open ¶
func (info DeviceInfo) Open() (Device, error)
Open connects to a previously discovered USB device.
type HidDevice ¶
type HidDevice struct {
DeviceInfo // Embed the infos for easier access
}
HidDevice is a live HID USB connected device handle. On platforms that this file implements, the type lacks the actual HID device and all methods are noop.
func (*HidDevice) Close ¶
Close releases the HID USB device handle. On platforms that this file implements, the method is just a noop.
type RawDevice ¶
type RawDevice struct {
DeviceInfo // Embed the infos for easier access
}
RawDevice is a live raw USB connected device handle. On platforms that this file implements, the type lacks the actual USB device and all methods are noop.
func (*RawDevice) Close ¶
Close releases the USB device handle. On platforms that this file implements, the method is just a noop.