From 77136aa74376ac8016c2b62b5f8efed0a2d245c2 Mon Sep 17 00:00:00 2001 From: sakumisu <1203593632@qq.com> Date: Wed, 30 Oct 2024 22:19:14 +0800 Subject: [PATCH] update(core/usbd_core): implement USB_REQUEST_GET_INTERFACE request, refs:#268 --- core/usbd_core.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/core/usbd_core.c b/core/usbd_core.c index 41507007..85f7b4f2 100644 --- a/core/usbd_core.c +++ b/core/usbd_core.c @@ -64,6 +64,7 @@ USB_NOCACHE_RAM_SECTION struct usbd_core_priv { bool test_req; #endif struct usbd_interface *intf[16]; + uint8_t intf_altsetting[16]; uint8_t intf_offset; struct usbd_tx_rx_msg tx_msg[CONFIG_USBDEV_EP_NUM]; @@ -710,11 +711,12 @@ static bool usbd_std_interface_req_handler(uint8_t busid, struct usb_setup_packe ret = false; break; case USB_REQUEST_GET_INTERFACE: - (*data)[0] = 0; + (*data)[0] = g_usbd_core[busid].intf_altsetting[intf_num]; *len = 1; break; case USB_REQUEST_SET_INTERFACE: + g_usbd_core[busid].intf_altsetting[intf_num] = LO_BYTE(setup->wValue); usbd_set_interface(busid, setup->wIndex, setup->wValue); *len = 0; break;