From 2890c03eecbc3378f9cb83fc23044303f5246473 Mon Sep 17 00:00:00 2001 From: sakumisu <1203593632@qq.com> Date: Fri, 7 Oct 2022 14:56:20 +0800 Subject: [PATCH] list all video altsettings --- class/video/usbh_video.c | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/class/video/usbh_video.c b/class/video/usbh_video.c index a8c1cd23..e6952ca2 100644 --- a/class/video/usbh_video.c +++ b/class/video/usbh_video.c @@ -226,9 +226,32 @@ int usbh_video_close(struct usbh_video *video_class) void usbh_video_list_info(struct usbh_video *video_class) { + struct usbh_hubport *hport; + struct usb_endpoint_descriptor *ep_desc; + uint8_t mult; + uint16_t mps; + USB_LOG_INFO("============= Video device information ===================\r\n"); USB_LOG_INFO("bcdVDC:%04x\r\n", video_class->bcdVDC); USB_LOG_INFO("Num of altsettings:%02x\r\n", video_class->num_of_intf_altsettings); + + hport = video_class->hport; + + for (uint8_t i = 1; i < video_class->num_of_intf_altsettings; i++) { + ep_desc = &video_class->hport->config.intf[video_class->data_intf].altsetting[i].ep[0].ep_desc; + + mult = (ep_desc->wMaxPacketSize & USB_MAXPACKETSIZE_ADDITIONAL_TRANSCATION_MASK) >> USB_MAXPACKETSIZE_ADDITIONAL_TRANSCATION_SHIFT; + mps = ep_desc->wMaxPacketSize & USB_MAXPACKETSIZE_MASK; + + USB_LOG_INFO("Altsetting:%u, Ep=%02x Attr=%02u Mps=%d Interval=%02u Mult=%02u\r\n", + i, + ep_desc->bEndpointAddress, + ep_desc->bmAttributes, + mps, + ep_desc->bInterval, + mult); + } + USB_LOG_INFO("bNumFormats:%u\r\n", video_class->num_of_formats); for (uint8_t i = 0; i < video_class->num_of_formats; i++) { USB_LOG_INFO(" FormatIndex:%u\r\n", i + 1);