3.9 Vendor Overview
For situations where the standard USB device classes do not meet the requirements of the application, the USB Device Stack also provides a starting point for developing vendor specific class applications. As per the USB specifications the vendor class is a base class defined for vendors to use as they please. That means the device does not conform to the pre-defined specifications of the HID, CDC or any of the base classes defined by the USB Implementers Forum. Instead, the developer defines custom specifications that might include protocols and device behavior.
The only requirement is that the USB device identifies itself to the USB host as a vendor class device so the host lets the device enumerate on the USB bus. The USB device identification process is included in the USB Device Stack's API. It is important to remember that a result of the Vendor Specific Class being completely customizable is that the host device might also require custom software or drivers to function.