mirror of
https://github.com/licsber/micropython.git
synced 2024-09-20 09:00:23 +08:00
stm32/usbdev: Optionally pass through vendor requests to Setup function.
Signed-off-by: Damien George <damien@micropython.org>
This commit is contained in:
parent
f46269a1d1
commit
7cf1118831
@ -49,6 +49,11 @@
|
|||||||
#endif
|
#endif
|
||||||
#define USBD_DEBUG_LEVEL 0
|
#define USBD_DEBUG_LEVEL 0
|
||||||
|
|
||||||
|
// Whether the core USBD driver passes through vendor device requests to the class implementation.
|
||||||
|
#ifndef USBD_ENABLE_VENDOR_DEVICE_REQUESTS
|
||||||
|
#define USBD_ENABLE_VENDOR_DEVICE_REQUESTS (0)
|
||||||
|
#endif
|
||||||
|
|
||||||
// For MCUs with a device-only USB peripheral
|
// For MCUs with a device-only USB peripheral
|
||||||
#define USBD_PMA_RESERVE (64)
|
#define USBD_PMA_RESERVE (64)
|
||||||
#define USBD_PMA_NUM_FIFO (16) // Maximum 8 endpoints, 2 FIFOs each
|
#define USBD_PMA_NUM_FIFO (16) // Maximum 8 endpoints, 2 FIFOs each
|
||||||
|
@ -120,6 +120,14 @@ USBD_StatusTypeDef USBD_StdDevReq (USBD_HandleTypeDef *pdev , USBD_SetupReqType
|
|||||||
{
|
{
|
||||||
USBD_StatusTypeDef ret = USBD_OK;
|
USBD_StatusTypeDef ret = USBD_OK;
|
||||||
|
|
||||||
|
#if USBD_ENABLE_VENDOR_DEVICE_REQUESTS
|
||||||
|
// Pass through vendor device requests directly to the implementation.
|
||||||
|
// It must call `USBD_CtlError(pdev, req);` if it does not respond to the request.
|
||||||
|
if ((req->bmRequest & 0xe0) == 0xc0) {
|
||||||
|
return pdev->pClass->Setup (pdev, req);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
switch (req->bRequest)
|
switch (req->bRequest)
|
||||||
{
|
{
|
||||||
case USB_REQ_GET_DESCRIPTOR:
|
case USB_REQ_GET_DESCRIPTOR:
|
||||||
|
Loading…
Reference in New Issue
Block a user