From 236f714bbacbeba4af6d6df7e18ed8bb83482961 Mon Sep 17 00:00:00 2001 From: jzlv Date: Tue, 19 Oct 2021 19:02:01 +0800 Subject: [PATCH] [style][usb_stack] modify class request debug log --- components/usb_stack/class/audio/usbd_audio.c | 17 +++++-- components/usb_stack/class/cdc/usbd_cdc.c | 4 ++ components/usb_stack/class/cdc/usbd_cdc.h | 50 +++++++++---------- components/usb_stack/class/hid/usbd_hid.c | 12 ++--- components/usb_stack/class/msc/usbd_msc.c | 6 ++- components/usb_stack/class/msc/usbd_msc.h | 20 ++++---- components/usb_stack/class/video/usbd_video.c | 6 +-- 7 files changed, 66 insertions(+), 49 deletions(-) diff --git a/components/usb_stack/class/audio/usbd_audio.c b/components/usb_stack/class/audio/usbd_audio.c index b2513cf0..4ac42661 100644 --- a/components/usb_stack/class/audio/usbd_audio.c +++ b/components/usb_stack/class/audio/usbd_audio.c @@ -5,9 +5,9 @@ struct usbd_audio_control_info audio_control_info = { 0xdb00, 0x0000, 0x0100, 0x int audio_class_request_handler(struct usb_setup_packet *setup, uint8_t **data, uint32_t *len) { - USBD_LOG_DBG("Class request:" - "bRequest 0x%02x, bmRequestType 0x%02x len %d", - setup->bRequest, setup->bmRequestType, *len); + USBD_LOG_DBG("AUDIO Class request: " + "bRequest 0x%02x\r\n", + setup->bRequest); switch (setup->bRequest) { case AUDIO_REQUEST_SET_CUR: @@ -24,7 +24,7 @@ int audio_class_request_handler(struct usb_setup_packet *setup, uint8_t **data, vol = (audio_control_info.vol_current - 0xDB00 + 1) * 100 / (0xFFFF - 0xDB00); } usbd_audio_set_volume(vol); - USBD_LOG_WRN("vol:%d\r\n", vol); + USBD_LOG("current volume:%d\r\n", vol); } } @@ -44,6 +44,9 @@ int audio_class_request_handler(struct usb_setup_packet *setup, uint8_t **data, case AUDIO_REQUEST_SET_RES: break; + case AUDIO_REQUEST_SET_MEM: + break; + case AUDIO_REQUEST_GET_MIN: *data = (uint8_t *)&audio_control_info.vol_min; *len = 2; @@ -58,6 +61,10 @@ int audio_class_request_handler(struct usb_setup_packet *setup, uint8_t **data, *data = (uint8_t *)&audio_control_info.vol_res; *len = 2; break; + case AUDIO_REQUEST_GET_MEM: + *data[0] = 0; + *len = 1; + break; default: USBD_LOG_ERR("Unhandled request 0x%02x", setup->bRequest); @@ -85,9 +92,11 @@ void audio_notify_handler(uint8_t event, void *arg) break; } } + __weak void usbd_audio_set_volume(uint8_t vol) { } + void usbd_audio_add_interface(usbd_class_t *class, usbd_interface_t *intf) { static usbd_class_t *last_class = NULL; diff --git a/components/usb_stack/class/cdc/usbd_cdc.c b/components/usb_stack/class/cdc/usbd_cdc.c index 69d8d307..1e1c3fe3 100644 --- a/components/usb_stack/class/cdc/usbd_cdc.c +++ b/components/usb_stack/class/cdc/usbd_cdc.c @@ -65,6 +65,10 @@ static void usbd_cdc_acm_reset(void) */ static int cdc_acm_class_request_handler(struct usb_setup_packet *pSetup, uint8_t **data, uint32_t *len) { + USBD_LOG_DBG("CDC Class request: " + "bRequest 0x%02x\r\n", + setup->bRequest); + switch (pSetup->bRequest) { case CDC_REQUEST_SET_LINE_CODING: diff --git a/components/usb_stack/class/cdc/usbd_cdc.h b/components/usb_stack/class/cdc/usbd_cdc.h index 1441fd4c..33c2ac29 100644 --- a/components/usb_stack/class/cdc/usbd_cdc.h +++ b/components/usb_stack/class/cdc/usbd_cdc.h @@ -297,8 +297,8 @@ struct cdc_ecm_descriptor { #define CDC_ACM_DESCRIPTOR_LEN (8 + 9 + 5 + 5 + 4 + 5 + 7 + 9 + 7 + 7) // clang-format off #ifndef CONFIG_USB_HS -#define CDC_ACM_DESCRIPTOR_INIT(bFirstInterface, int_ep, out_ep, in_ep, str_idx) \ - /* Interface Associate */ \ +#define CDC_ACM_DESCRIPTOR_INIT(bFirstInterface, int_ep, out_ep, in_ep, str_idx) \ + /* Interface Associate */ \ 0x08, /* bLength */ \ USB_DESCRIPTOR_TYPE_INTERFACE_ASSOCIATION, /* bDescriptorType */ \ bFirstInterface, /* bFirstInterface */ \ @@ -306,7 +306,7 @@ struct cdc_ecm_descriptor { USB_DEVICE_CLASS_CDC, /* bFunctionClass */ \ CDC_ABSTRACT_CONTROL_MODEL, /* bFunctionSubClass */ \ CDC_COMMON_PROTOCOL_AT_COMMANDS, /* bFunctionProtocol */ \ - 0x00, /* iFunction */ /* CDC Control Interface */ \ + 0x00, /* iFunction */ \ 0x09, /* bLength */ \ USB_DESCRIPTOR_TYPE_INTERFACE, /* bDescriptorType */ \ bFirstInterface, /* bInterfaceNumber */ \ @@ -315,31 +315,31 @@ struct cdc_ecm_descriptor { USB_DEVICE_CLASS_CDC, /* bInterfaceClass */ \ CDC_ABSTRACT_CONTROL_MODEL, /* bInterfaceSubClass */ \ CDC_COMMON_PROTOCOL_AT_COMMANDS, /* bInterfaceProtocol */ \ - str_idx, /* iInterface */ /* CDC Header */ \ + str_idx, /* iInterface */ \ 0x05, /* bLength */ \ CDC_CS_INTERFACE, /* bDescriptorType */ \ CDC_FUNC_DESC_HEADER, /* bDescriptorSubtype */ \ - WBVAL(CDC_V1_10), /* bcdCDC */ /* CDC Call */ \ + WBVAL(CDC_V1_10), /* bcdCDC */ \ 0x05, /* bLength */ \ CDC_CS_INTERFACE, /* bDescriptorType */ \ CDC_FUNC_DESC_CALL_MANAGEMENT, /* bDescriptorSubtype */ \ bFirstInterface, /* bmCapabilities */ \ - (uint8_t)(bFirstInterface + 1), /* bDataInterface */ /* CDC ACM: support line request */ \ + (uint8_t)(bFirstInterface + 1), /* bDataInterface */ \ 0x04, /* bLength */ \ CDC_CS_INTERFACE, /* bDescriptorType */ \ CDC_FUNC_DESC_ABSTRACT_CONTROL_MANAGEMENT, /* bDescriptorSubtype */ \ - 0x02, /* bmCapabilities */ /* CDC Union */ \ + 0x02, /* bmCapabilities */ \ 0x05, /* bLength */ \ CDC_CS_INTERFACE, /* bDescriptorType */ \ CDC_FUNC_DESC_UNION, /* bDescriptorSubtype */ \ bFirstInterface, /* bMasterInterface */ \ - (uint8_t)(bFirstInterface + 1), /* bSlaveInterface0 */ /* Endpoint Notification */ \ + (uint8_t)(bFirstInterface + 1), /* bSlaveInterface0 */ \ 0x07, /* bLength */ \ USB_DESCRIPTOR_TYPE_ENDPOINT, /* bDescriptorType */ \ int_ep, /* bEndpointAddress */ \ 0x03, /* bmAttributes */ \ 0x40, 0x00, /* wMaxPacketSize */ \ - 0x01, /* bInterval */ /* CDC Data Interface */ \ + 0x00, /* bInterval */ \ 0x09, /* bLength */ \ USB_DESCRIPTOR_TYPE_INTERFACE, /* bDescriptorType */ \ (uint8_t)(bFirstInterface + 1), /* bInterfaceNumber */ \ @@ -348,19 +348,19 @@ struct cdc_ecm_descriptor { CDC_DATA_INTERFACE_CLASS, /* bInterfaceClass */ \ 0x00, /* bInterfaceSubClass */ \ 0x00, /* bInterfaceProtocol */ \ - 0x00, /* iInterface */ /* Endpoint Out */ \ + 0x00, /* iInterface */ \ 0x07, /* bLength */ \ USB_DESCRIPTOR_TYPE_ENDPOINT, /* bDescriptorType */ \ out_ep, /* bEndpointAddress */ \ 0x02, /* bmAttributes */ \ 0x40, 0x00, /* wMaxPacketSize */ \ - 0x01, /* bInterval */ /* Endpoint In */ \ + 0x00, /* bInterval */ \ 0x07, /* bLength */ \ USB_DESCRIPTOR_TYPE_ENDPOINT, /* bDescriptorType */ \ in_ep, /* bEndpointAddress */ \ 0x02, /* bmAttributes */ \ 0x40, 0x00, /* wMaxPacketSize */ \ - 0x01 /* bInterval */ + 0x00 /* bInterval */ #else #define CDC_ACM_DESCRIPTOR_INIT(bFirstInterface, int_ep, out_ep, in_ep, str_idx) \ /* Interface Associate */ \ @@ -371,7 +371,7 @@ struct cdc_ecm_descriptor { USB_DEVICE_CLASS_CDC, /* bFunctionClass */ \ CDC_ABSTRACT_CONTROL_MODEL, /* bFunctionSubClass */ \ CDC_COMMON_PROTOCOL_AT_COMMANDS, /* bFunctionProtocol */ \ - 0x00, /* iFunction */ /* CDC Control Interface */ \ + 0x00, /* iFunction */ \ 0x09, /* bLength */ \ USB_DESCRIPTOR_TYPE_INTERFACE, /* bDescriptorType */ \ bFirstInterface, /* bInterfaceNumber */ \ @@ -380,31 +380,31 @@ struct cdc_ecm_descriptor { USB_DEVICE_CLASS_CDC, /* bInterfaceClass */ \ CDC_ABSTRACT_CONTROL_MODEL, /* bInterfaceSubClass */ \ CDC_COMMON_PROTOCOL_AT_COMMANDS, /* bInterfaceProtocol */ \ - str_idx, /* iInterface */ /* CDC Header */ \ + str_idx, /* iInterface */ \ 0x05, /* bLength */ \ CDC_CS_INTERFACE, /* bDescriptorType */ \ CDC_FUNC_DESC_HEADER, /* bDescriptorSubtype */ \ - WBVAL(CDC_V1_10), /* bcdCDC */ /* CDC Call */ \ + WBVAL(CDC_V1_10), /* bcdCDC */ \ 0x05, /* bLength */ \ CDC_CS_INTERFACE, /* bDescriptorType */ \ CDC_FUNC_DESC_CALL_MANAGEMENT, /* bDescriptorSubtype */ \ bFirstInterface, /* bmCapabilities */ \ - (uint8_t)(bFirstInterface + 1), /* bDataInterface */ /* CDC ACM: support line request */ \ + (uint8_t)(bFirstInterface + 1), /* bDataInterface */ \ 0x04, /* bLength */ \ CDC_CS_INTERFACE, /* bDescriptorType */ \ CDC_FUNC_DESC_ABSTRACT_CONTROL_MANAGEMENT, /* bDescriptorSubtype */ \ - 0x02, /* bmCapabilities */ /* CDC Union */ \ + 0x02, /* bmCapabilities */ \ 0x05, /* bLength */ \ CDC_CS_INTERFACE, /* bDescriptorType */ \ CDC_FUNC_DESC_UNION, /* bDescriptorSubtype */ \ bFirstInterface, /* bMasterInterface */ \ - (uint8_t)(bFirstInterface + 1), /* bSlaveInterface0 */ /* Endpoint Notification */ \ + (uint8_t)(bFirstInterface + 1), /* bSlaveInterface0 */ \ 0x07, /* bLength */ \ USB_DESCRIPTOR_TYPE_ENDPOINT, /* bDescriptorType */ \ int_ep, /* bEndpointAddress */ \ 0x03, /* bmAttributes */ \ - 0x02, 0x00, /* wMaxPacketSize */ \ - 0x01, /* bInterval */ /* CDC Data Interface */ \ + 0x00, 0x02, /* wMaxPacketSize */ \ + 0x00, /* bInterval */ \ 0x09, /* bLength */ \ USB_DESCRIPTOR_TYPE_INTERFACE, /* bDescriptorType */ \ (uint8_t)(bFirstInterface + 1), /* bInterfaceNumber */ \ @@ -413,19 +413,19 @@ struct cdc_ecm_descriptor { CDC_DATA_INTERFACE_CLASS, /* bInterfaceClass */ \ 0x00, /* bInterfaceSubClass */ \ 0x00, /* bInterfaceProtocol */ \ - 0x00, /* iInterface */ /* Endpoint Out */ \ + 0x00, /* iInterface */ \ 0x07, /* bLength */ \ USB_DESCRIPTOR_TYPE_ENDPOINT, /* bDescriptorType */ \ out_ep, /* bEndpointAddress */ \ 0x02, /* bmAttributes */ \ - 0x02, 0x00, /* wMaxPacketSize */ \ - 0x01, /* bInterval */ /* Endpoint In */ \ + 0x00, 0x02, /* wMaxPacketSize */ \ + 0x00, /* bInterval */ \ 0x07, /* bLength */ \ USB_DESCRIPTOR_TYPE_ENDPOINT, /* bDescriptorType */ \ in_ep, /* bEndpointAddress */ \ 0x02, /* bmAttributes */ \ - 0x02, 0x00, /* wMaxPacketSize */ \ - 0x01 /* bInterval */ + 0x00, 0x02, /* wMaxPacketSize */ \ + 0x00 /* bInterval */ #endif // clang-format on diff --git a/components/usb_stack/class/hid/usbd_hid.c b/components/usb_stack/class/hid/usbd_hid.c index 34f2faf5..43fb5967 100644 --- a/components/usb_stack/class/hid/usbd_hid.c +++ b/components/usb_stack/class/hid/usbd_hid.c @@ -63,9 +63,9 @@ static void usbd_hid_reset(void) int hid_custom_request_handler(struct usb_setup_packet *setup, uint8_t **data, uint32_t *len) { - USBD_LOG_DBG("Standard request:" - "bmRequestType 0x%02x, bRequest 0x%02x, len %d\r\n", - setup->bmRequestType, setup->bRequest, *len); + USBD_LOG_DBG("HID Custom request: " + "bRequest 0x%02x\r\n", + setup->bRequest); if (REQTYPE_GET_DIR(setup->bmRequestType) == USB_REQUEST_DEVICE_TO_HOST && setup->bRequest == USB_REQUEST_GET_DESCRIPTOR) { @@ -118,9 +118,9 @@ int hid_custom_request_handler(struct usb_setup_packet *setup, uint8_t **data, u int hid_class_request_handler(struct usb_setup_packet *setup, uint8_t **data, uint32_t *len) { - USBD_LOG("Class request:" - "bmRequestType 0x%02x bRequest 0x%02x, len %d\r\n", - setup->bmRequestType, setup->bRequest, *len); + USBD_LOG_DBG("HID Class request: " + "bRequest 0x%02x\r\n", + setup->bRequest); struct usbd_hid_cfg_private *current_hid_intf = NULL; usb_slist_t *i; diff --git a/components/usb_stack/class/msc/usbd_msc.c b/components/usb_stack/class/msc/usbd_msc.c index b43d1ba7..dea7a1f7 100644 --- a/components/usb_stack/class/msc/usbd_msc.c +++ b/components/usb_stack/class/msc/usbd_msc.c @@ -97,6 +97,10 @@ static void usbd_msc_reset(void) */ static int msc_storage_class_request_handler(struct usb_setup_packet *pSetup, uint8_t **data, uint32_t *len) { + USBD_LOG_DBG("MSC Class request: " + "bRequest 0x%02x\r\n", + setup->bRequest); + switch (pSetup->bRequest) { case MSC_REQUEST_RESET: USBD_LOG_DBG("MSC_REQUEST_RESET"); @@ -167,7 +171,7 @@ static bool usbd_msc_send_to_host(uint8_t *buffer, uint16_t size) size = usbd_msc_cfg.cbw.DataLength; usbd_msc_cfg.stage = MSC_BS_DATA_IN_LAST; } else { - usbd_msc_cfg.stage = MSC_BS_DATA_IN_LAST_STALL; + //usbd_msc_cfg.stage = MSC_BS_DATA_IN_LAST_STALL; } if (usbd_ep_write(mass_ep_data[MSD_IN_EP_IDX].ep_addr, buffer, size, NULL)) { diff --git a/components/usb_stack/class/msc/usbd_msc.h b/components/usb_stack/class/msc/usbd_msc.h index 1d198e79..a7951135 100644 --- a/components/usb_stack/class/msc/usbd_msc.h +++ b/components/usb_stack/class/msc/usbd_msc.h @@ -67,7 +67,7 @@ struct CSW { // clang-format off #ifndef SUPPORT_USB_HS #define MSC_DESCRIPTOR_INIT(bFirstInterface, out_ep, in_ep,str_idx) \ - /* Interface */ \ + /* Interface */ \ 0x09, /* bLength */ \ USB_DESCRIPTOR_TYPE_INTERFACE, /* bDescriptorType */ \ bFirstInterface, /* bInterfaceNumber */ \ @@ -76,22 +76,22 @@ struct CSW { USB_DEVICE_CLASS_MASS_STORAGE, /* bInterfaceClass */ \ MSC_SUBCLASS_SCSI, /* bInterfaceSubClass */ \ MSC_PROTOCOL_BULK_ONLY, /* bInterfaceProtocol */ \ - str_idx, /* iInterface */ /* Endpoint Out */ \ + str_idx, /* iInterface */ \ 0x07, /* bLength */ \ USB_DESCRIPTOR_TYPE_ENDPOINT, /* bDescriptorType */ \ out_ep, /* bEndpointAddress */ \ 0x02, /* bmAttributes */ \ 0x40, 0x00, /* wMaxPacketSize */ \ - 0x01, /* bInterval */ /* Endpoint In */ \ + 0x00, /* bInterval */ \ 0x07, /* bLength */ \ USB_DESCRIPTOR_TYPE_ENDPOINT, /* bDescriptorType */ \ in_ep, /* bEndpointAddress */ \ 0x02, /* bmAttributes */ \ 0x40, 0x00, /* wMaxPacketSize */ \ - 0x01 /* bInterval */ + 0x00 /* bInterval */ #else #define MSC_DESCRIPTOR_INIT(bFirstInterface, out_ep, in_ep,str_idx) \ - /* Interface */ \ + /* Interface */ \ 0x09, /* bLength */ \ USB_DESCRIPTOR_TYPE_INTERFACE, /* bDescriptorType */ \ bFirstInterface, /* bInterfaceNumber */ \ @@ -100,19 +100,19 @@ struct CSW { USB_DEVICE_CLASS_MASS_STORAGE, /* bInterfaceClass */ \ MSC_SUBCLASS_SCSI, /* bInterfaceSubClass */ \ MSC_PROTOCOL_BULK_ONLY, /* bInterfaceProtocol */ \ - str_idx, /* iInterface */ /* Endpoint Out */ \ + str_idx, /* iInterface */ \ 0x07, /* bLength */ \ USB_DESCRIPTOR_TYPE_ENDPOINT, /* bDescriptorType */ \ out_ep, /* bEndpointAddress */ \ 0x02, /* bmAttributes */ \ - 0x02, 0x00, /* wMaxPacketSize */ \ - 0x01, /* bInterval */ /* Endpoint In */ \ + 0x00, 0x02, /* wMaxPacketSize */ \ + 0x00, /* bInterval */ \ 0x07, /* bLength */ \ USB_DESCRIPTOR_TYPE_ENDPOINT, /* bDescriptorType */ \ in_ep, /* bEndpointAddress */ \ 0x02, /* bmAttributes */ \ - 0x02, 0x00, /* wMaxPacketSize */ \ - 0x01 /* bInterval */ + 0x00, 0x02, /* wMaxPacketSize */ \ + 0x00 /* bInterval */ #endif // clang-format on diff --git a/components/usb_stack/class/video/usbd_video.c b/components/usb_stack/class/video/usbd_video.c index 11c31649..f4570ccd 100644 --- a/components/usb_stack/class/video/usbd_video.c +++ b/components/usb_stack/class/video/usbd_video.c @@ -27,9 +27,9 @@ extern struct video_probe_and_commit_controls commit; int video_class_request_handler(struct usb_setup_packet *setup, uint8_t **data, uint32_t *len) { - USBD_LOG_DBG("Class request:" - "bRequest 0x%02x, bmRequestType 0x%02x len %d", - setup->bRequest, setup->bmRequestType, *len); + USBD_LOG_DBG("VIDEO Class request: " + "bRequest 0x%02x\r\n", + setup->bRequest); switch (setup->bRequest) { case VIDEO_REQUEST_SET_CUR: