espressif_idf-extra-components/usb/usb_host_uvc
Daniel Paul 458086bb45 Added badges with version to the README files of components 2022-12-14 12:16:40 +01:00
..
include USB host UVC class 2022-08-11 16:27:37 +02:00
libuvc@a4de53e7e2 USB host UVC class 2022-08-11 16:27:37 +02:00
private_include USB host UVC class 2022-08-11 16:27:37 +02:00
src usb_host_msc: Fix compatibility with IDF v4.4 2022-09-13 11:02:29 +02:00
test Descriptor parser rewrite 2022-08-22 14:01:07 +02:00
CMakeLists.txt USB host UVC class 2022-08-11 16:27:37 +02:00
LICENCE USB host UVC class 2022-08-11 16:27:37 +02:00
README.md Added badges with version to the README files of components 2022-12-14 12:16:40 +01:00
idf_component.yml Descriptor parser rewrite 2022-08-22 14:01:07 +02:00

README.md

USB Host UVC Driver

Component Registry

This directory contains USB host UVC driver based on libuvc library. Support for libuvc is achieved by implementing adapter between libusb (underling host library used by libuvc) and usb_host library targeted for ESP SOCs.

Usage

Reference uvc_host_example is similar to one found in libuvc repository with few additions:

  1. Before calling uvc_init(), initialize_usb_host_lib() has to be called in order to initialize usb host library.
  2. Since libuvc selects highest possible dwMaxPayloadTransferSize by default, user has to manually overwrite obatained value to 512 bytes (maximum transfer size supported by ESP32-S2/S3) before passing it to uvc_print_stream_ctrl() function.
  3. Optionally, user can configure libusb adapter by passing appropriate parameters to libuvc_adapter_set_config().

Known limitations

Having only Full Speed USB peripheral and hardware limited MPS (maximum packet size) to 512 bytes, ESP32-S2/S3 is capable of reading about 0.5 MB of data per second. When connected to Full Speed USB host, cameras normally provide resolution no larger than 640x480 pixels. Following two supported formats are the most common (both encoded in MJPEG):

  • 320x240 30 FPS
  • 640x480 15 FPS

Tested cameras

  • Logitech C980
  • CANYON CNE-CWC2