libusb

The main purpose of the libusb is to generalize access to USB resources and to simplify communication with the USB Host Stack. It also provides definitions of generic types used by both USB device drivers, USB Host Stack and USB client applications.

Examples

Host side device drivers: USB Mass Storage class driver USB CDC ACM class driver

Client side applications: USB CDC test application psd

Headers

  • usb.h - types and constant values defined by the USB standard, such as descriptors and its fields' values.
  • usbdriver.h - functions and types used by USB Device Drivers to communicate with the USB Host Stack, e.g. to register a driver, open a pipe or schedule a USB transfer.
  • usbclient.h - functions used by applications, which use the USB device (client) side of communication.
  • cdc.h - descriptors and constants assigned to USB communications device class based on the USB standard. It can be used by both sides of USB communication.
  • cdc_client.h - functions used by applications, that needs to make a Phoenix-RTOS device act as a USB CDC device.
  • hid.h - descriptors and constants assigned to USB human interface device based on the USB standard. It can be used by both sides of USB communication.
  • hid_client.h - functions used by applications, that needs to make a Phoenix-RTOS device act as a USB HID device.