diff options
| author | sakumisu <[email protected]> | 2022-10-07 14:56:20 +0800 |
|---|---|---|
| committer | sakumisu <[email protected]> | 2022-10-07 14:56:20 +0800 |
| commit | 2890c03eecbc3378f9cb83fc23044303f5246473 (patch) | |
| tree | 515bf618b668ce1d748739c8dde829a844613aaf | |
| parent | ead74525ea7ebafab24be32a89967e3456d0f15d (diff) | |
list all video altsettings
| -rw-r--r-- | class/video/usbh_video.c | 23 |
1 files changed, 23 insertions, 0 deletions
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); |
