Open Lighting Architecture
Latest Git
|
The base LibUsbAdaptor that passes most calls through to libusb.
Public Member Functions | |
libusb_device * | RefDevice (libusb_device *dev) |
Wraps libusb_ref_device. More... | |
void | UnrefDevice (libusb_device *dev) |
Wraps libusb_unref_device. More... | |
int | SetConfiguration (libusb_device_handle *dev, int configuration) |
Wraps libusb_set_configuration. More... | |
int | ClaimInterface (libusb_device_handle *dev, int interface_number) |
Wraps libusb_claim_interface. More... | |
int | DetachKernelDriver (libusb_device_handle *dev, int interface_number) |
Detach a kernel driver. More... | |
int | GetDeviceDescriptor (libusb_device *dev, struct libusb_device_descriptor *descriptor) |
Wraps libusb_get_device_descriptor. More... | |
int | GetActiveConfigDescriptor (libusb_device *dev, struct libusb_config_descriptor **config) |
Wraps libusb_get_active_config_descriptor. More... | |
int | GetConfigDescriptor (libusb_device *dev, uint8_t config_index, struct libusb_config_descriptor **config) |
Wraps libusb_get_config_descriptor. More... | |
void | FreeConfigDescriptor (struct libusb_config_descriptor *config) |
Wraps busb_free_config_descriptor. More... | |
bool | GetStringDescriptor (libusb_device_handle *usb_handle, uint8_t descriptor_index, std::string *data) |
Get the value of a string descriptor. More... | |
struct libusb_transfer * | AllocTransfer (int iso_packets) |
Wraps libusb_alloc_transfer. More... | |
void | FreeTransfer (struct libusb_transfer *transfer) |
Wraps libusb_free_transfer. More... | |
int | SubmitTransfer (struct libusb_transfer *transfer) |
Wraps libusb_submit_transfer. More... | |
int | CancelTransfer (struct libusb_transfer *transfer) |
Wraps libusb_cancel_transfer. More... | |
void | FillControlSetup (unsigned char *buffer, uint8_t bmRequestType, uint8_t bRequest, uint16_t wValue, uint16_t wIndex, uint16_t wLength) |
Wraps libusb_fill_control_setup. More... | |
void | FillControlTransfer (struct libusb_transfer *transfer, libusb_device_handle *dev_handle, unsigned char *buffer, libusb_transfer_cb_fn callback, void *user_data, unsigned int timeout) |
Wraps libusb_fill_control_transfer. More... | |
void | FillBulkTransfer (struct libusb_transfer *transfer, libusb_device_handle *dev_handle, unsigned char endpoint, unsigned char *buffer, int length, libusb_transfer_cb_fn callback, void *user_data, unsigned int timeout) |
Wraps libusb_fill_bulk_transfer. More... | |
void | FillInterruptTransfer (struct libusb_transfer *transfer, libusb_device_handle *dev_handle, unsigned char endpoint, unsigned char *buffer, int length, libusb_transfer_cb_fn callback, void *user_data, unsigned int timeout) |
Wraps libusb_fill_interrupt_transfer. More... | |
int | ControlTransfer (libusb_device_handle *dev_handle, uint8_t bmRequestType, uint8_t bRequest, uint16_t wValue, uint16_t wIndex, unsigned char *data, uint16_t wLength, unsigned int timeout) |
Wraps libusb_control_transfer(). More... | |
int | BulkTransfer (struct libusb_device_handle *dev_handle, unsigned char endpoint, unsigned char *data, int length, int *transferred, unsigned int timeout) |
Wraps libusb_bulk_transfer. More... | |
int | InterruptTransfer (libusb_device_handle *dev_handle, unsigned char endpoint, unsigned char *data, int length, int *actual_length, unsigned int timeout) |
Wraps libusb_interrupt_transfer. More... | |
USBDeviceID | GetDeviceId (libusb_device *device) const |
Get the USBDeviceID for a device. More... | |
Public Member Functions inherited from ola::usb::LibUsbAdaptor | |
virtual bool | OpenDevice (libusb_device *usb_device, libusb_device_handle **usb_handle)=0 |
Open a libusb device. More... | |
virtual bool | OpenDeviceAndClaimInterface (libusb_device *usb_device, int interface, libusb_device_handle **usb_handle)=0 |
Open a libusb device and claim an interface. More... | |
virtual void | Close (libusb_device_handle *usb_handle)=0 |
Close a libusb handle. More... | |
Additional Inherited Members | |
Static Public Member Functions inherited from ola::usb::LibUsbAdaptor | |
static bool | Initialize (struct libusb_context **context) |
Initialize a new libusb context. More... | |
static bool | GetDeviceInfo (struct libusb_device *usb_device, const struct libusb_device_descriptor &device_descriptor, DeviceInformation *device_info) |
Fetch the manufacturer, product and serial strings from a device. More... | |
static bool | CheckManufacturer (const std::string &expected, const DeviceInformation &device_info) |
Check if the manufacturer string matches the expected value. More... | |
static bool | CheckProduct (const std::string &expected, const DeviceInformation &device_info) |
Check if the product string matches the expected value. More... | |
static bool | HotplugSupported () |
Check if this platform supports hotplug. More... | |
static std::string | ErrorCodeToString (const int error_code) |
Try and convert an error code to a string. More... | |
|
virtual |
Wraps libusb_alloc_transfer.
iso_packets | number of isochronous packet descriptors to allocate |
Implements ola::usb::LibUsbAdaptor.
|
virtual |
Wraps libusb_bulk_transfer.
transferred
transferred
) Implements ola::usb::LibUsbAdaptor.
Reimplemented in ola::usb::AsynchronousLibUsbAdaptor.
|
virtual |
Wraps libusb_cancel_transfer.
transfer | the transfer to cancel |
Implements ola::usb::LibUsbAdaptor.
|
virtual |
Wraps libusb_claim_interface.
dev | a device handle |
interface_number | the bInterfaceNumber of the interface you wish to claim |
Implements ola::usb::LibUsbAdaptor.
|
virtual |
Wraps libusb_control_transfer().
dev_handle | a handle for the device to communicate with | |
bmRequestType | the request type field for the setup packet | |
bRequest | the request field for the setup packet | |
wValue | the value field for the setup packet | |
wIndex | the index field for the setup packet | |
[in,out] | data | a suitably-sized data buffer for either input or output (depending on direction bits within bmRequestType) |
wLength | the length field for the setup packet. The data buffer should be at least this size. | |
timeout | timeout (in milliseconds) that this function should wait before giving up due to no response being received. For an unlimited timeout, use value 0. |
Implements ola::usb::LibUsbAdaptor.
Reimplemented in ola::usb::AsynchronousLibUsbAdaptor.
|
virtual |
Detach a kernel driver.
dev | a device handle |
interface_number | the interface to detach the driver from |
Implements ola::usb::LibUsbAdaptor.
|
virtual |
Wraps libusb_fill_bulk_transfer.
[out] | transfer | the transfer to populate |
dev_handle | handle of the device that will handle the transfer | |
endpoint | address of the endpoint where this transfer will be sent | |
buffer | data buffer. If provided, this function will interpret the first 8 bytes as a setup packet and infer the transfer length from that. This pointer must be aligned to at least 2 bytes boundary. | |
length | length of data buffer | |
callback | callback function to be invoked on transfer completion | |
user_data | user data to pass to callback function | |
timeout | timeout for the transfer in milliseconds |
Implements ola::usb::LibUsbAdaptor.
|
virtual |
Wraps libusb_fill_control_setup.
[out] | buffer | buffer to output the setup packet into This pointer must be aligned to at least 2 bytes boundary. |
bmRequestType | the request type field for the setup packet | |
bRequest | the request field for the setup packet | |
wValue | the value field for the setup packet | |
wIndex | the index field for the setup packet | |
wLength | the length field for the setup packet. The data buffer should be at least this size. |
Implements ola::usb::LibUsbAdaptor.
|
virtual |
Wraps libusb_fill_control_transfer.
[out] | transfer | the transfer to populate |
dev_handle | handle of the device that will handle the transfer | |
buffer | data buffer. If provided, this function will interpret the first 8 bytes as a setup packet and infer the transfer length from that. This pointer must be aligned to at least 2 bytes boundary. | |
callback | callback function to be invoked on transfer completion | |
user_data | user data to pass to callback function | |
timeout | timeout for the transfer in milliseconds |
Implements ola::usb::LibUsbAdaptor.
|
virtual |
Wraps libusb_fill_interrupt_transfer.
[out] | transfer | the transfer to populate |
dev_handle | handle of the device that will handle the transfer | |
endpoint | address of the endpoint where this transfer will be sent | |
buffer | data buffer | |
length | length of data buffer | |
callback | callback function to be invoked on transfer completion | |
user_data | user data to pass to callback function | |
timeout | timeout for the transfer in milliseconds |
Implements ola::usb::LibUsbAdaptor.
|
virtual |
Wraps busb_free_config_descriptor.
config | the configuration descriptor to free |
Implements ola::usb::LibUsbAdaptor.
|
virtual |
Wraps libusb_free_transfer.
transfer | the transfer to free |
Implements ola::usb::LibUsbAdaptor.
|
virtual |
Wraps libusb_get_active_config_descriptor.
dev | a device | |
[out] | config | output location for the USB configuration descriptor. Only valid if 0 was returned. Must be freed with libusb_free_config_descriptor() after use. |
Implements ola::usb::LibUsbAdaptor.
|
virtual |
Wraps libusb_get_config_descriptor.
dev | a device | |
config_index | the index of the configuration you wish to retrieve | |
[out] | config | output location for the USB configuration descriptor. Only valid if 0 was returned. Must be freed with libusb_free_config_descriptor() after use. |
Implements ola::usb::LibUsbAdaptor.
|
virtual |
Wraps libusb_get_device_descriptor.
dev | a device | |
[out] | descriptor | The device descriptor. |
Implements ola::usb::LibUsbAdaptor.
|
virtual |
Get the USBDeviceID for a device.
device | The libusb device to get the ID of. |
Implements ola::usb::LibUsbAdaptor.
|
virtual |
Get the value of a string descriptor.
usb_handle | The USB device handle | |
descriptor_index | The index of the string descriptor to fetch. | |
[out] | data | The value of the string descriptor. |
Implements ola::usb::LibUsbAdaptor.
|
virtual |
Wraps libusb_interrupt_transfer.
transferred
Implements ola::usb::LibUsbAdaptor.
Reimplemented in ola::usb::AsynchronousLibUsbAdaptor.
|
virtual |
Wraps libusb_ref_device.
dev | the device to reference |
Implements ola::usb::LibUsbAdaptor.
|
virtual |
Wraps libusb_set_configuration.
dev | a device handle |
configuration | the bConfigurationValue of the configuration you wish to activate, or -1 if you wish to put the device in an unconfigured state. |
Implements ola::usb::LibUsbAdaptor.
|
virtual |
Wraps libusb_submit_transfer.
transfer | the transfer to submit |
Implements ola::usb::LibUsbAdaptor.
|
virtual |
Wraps libusb_unref_device.
dev | the device to unreference. |
Implements ola::usb::LibUsbAdaptor.