Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Figure - General Architecture Between Windows Host and Vendor Class shows the general architecture between the host and the device using the Vendor class. In this example, the host operating system is Windows.

Anchor
Figure - General Architecture Between Windows Host and Vendor Class
Figure - General Architecture Between Windows Host and Vendor Class

Panel
borderWidth0
titleFigure - General Architecture Between Windows Host and Vendor Class

General Architecture Between Windows Host and Vendor ClassImage Added


On the Windows side, the application communicates with the vendor device by interacting with the USBDev_API library. This library provided by Micrium offers an API to manage a device and its associated pipes, and to communicate with the device through control, bulk and interrupt endpoints. USBDev_API is a wrapper that allows the use of the WinUSB functions exposed by Winusb.dll.

...

  • A pair of control IN and OUT endpoints called the default endpoint.
  • A pair of bulk IN and OUT endpoints.
  • A pair of interrupt IN and OUT endpoints. This pair is optional.

Table - Vendor Class Endpoints Usage indicates the usage of the different endpoints:

Anchor
Table - Vendor Class Endpoints Usage
Table - Vendor Class Endpoints Usage

Panel
borderWidth0
titleTable - Vendor Class Endpoints Usage


EndpointDirectionUsage
Control IN
Control OUT
Device-to-host
Host-to-device
Standard requests for enumeration and vendor-specific requests.
Bulk IN
Bulk OUT
Device-to-host
Host-to-device
Raw data communication. Data can be structured according to a proprietary protocol.
Interrupt IN
Interrupt OUT
Device-to-host
Host-to-device
Raw data communication or notification. Data can be structured according to a proprietary protocol.



The device application can use bulk and interrupt endpoints to send or receive data to or from the host. It can only use the default endpoint to decode vendor-specific requests sent by the host. The standard requests are managed internally by the Core layer of µC/USB-Device.

...