From 201b3ebb2c2e61c59fe940ce114884e5dc42bfa9 Mon Sep 17 00:00:00 2001 From: sakimisu <1203593632@qq.com> Date: Sun, 29 Jan 2023 16:15:28 +0800 Subject: add webusb support --- core/usbd_core.c | 13 +++++++++++++ core/usbd_core.h | 1 + 2 files changed, 14 insertions(+) (limited to 'core') diff --git a/core/usbd_core.c b/core/usbd_core.c index cbe7a97b..e2ced33c 100644 --- a/core/usbd_core.c +++ b/core/usbd_core.c @@ -821,6 +821,19 @@ static int usbd_vendor_request_handler(struct usb_setup_packet *setup, uint8_t * return -1; } } + } else if (usbd_core_cfg.descriptors->webusb_url_descriptor) { + if (setup->bRequest == usbd_core_cfg.descriptors->webusb_url_descriptor->vendor_code) { + switch (setup->wIndex) { + case WINUSB_REQUEST_GET_DESCRIPTOR_SET: + USB_LOG_INFO("GET Webusb url Descriptor\r\n"); + *data = (uint8_t *)usbd_core_cfg.descriptors->webusb_url_descriptor->string; + *len = usbd_core_cfg.descriptors->webusb_url_descriptor->string_len; + return 0; + default: + USB_LOG_ERR("unknown vendor code\r\n"); + return -1; + } + } } #else if (msosv1_desc) { diff --git a/core/usbd_core.h b/core/usbd_core.h index 8d7d10c6..1c978d19 100644 --- a/core/usbd_core.h +++ b/core/usbd_core.h @@ -72,6 +72,7 @@ struct usb_descriptor { const char **string_descriptor; struct usb_msosv1_descriptor *msosv1_descriptor; struct usb_msosv2_descriptor *msosv2_descriptor; + struct usb_webusb_url_ex_descriptor *webusb_url_descriptor; struct usb_bos_descriptor *bos_descriptor; }; -- cgit v1.3.1