Anchor |
---|
| Figure - General Architecture Between Windows Host and Vendor Class |
---|
| Figure - General Architecture Between Windows Host and Vendor Class |
---|
|
Panel |
---|
borderWidth | 0 |
---|
title | Figure - General Architecture Between Windows Host and Vendor Class |
---|
|
Image 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 |
---|
borderWidth | 0 |
---|
title | Table - Vendor Class Endpoints Usage |
---|
|
Endpoint | Direction | Usage |
---|
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.
...