Vendor class

Overview
The Vendor Class allows to enumerate and communicate with any USB device. Typically it is used to connect devices running a custom or proprietary protocol. For example our LAN component uses the Vendor Class API to connect with certain Ethernet-over-USB adapters which use a custom protocol.

Key features
- Communicate with any device
- Ideal for custom protocols
- Supports bulk, interrupt, control and isochronous transfers.
- High performance, small overhead
- Small memory footprint in RAM and ROM
Sample Applications emUSB-Host Vendor Class

SEGGER Debug Probe J-Link

Temperature Logger

Software Protection Dongle

Gamepad
Requirements
Components required to use emUSB-Host Vendor Class:
- emUSB-Host Vendor Class (included in emUSB-Host PRO package)
- emUSB-Host core (included in emUSB-Host PRO package)
- emUSB-Host target driver (One driver is included in emUSB-Host PRO package)
- Real-time operating system (embOS or other)
Simple user API
- Notification for newly enumerated devices
- Read/Write routines for bulk, interrupt, control and isochronous endpoints.
- Synchronous and asynchronous operations