1.7 KiB
1.7 KiB
USB Host UVC Driver
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:
- Before calling
uvc_init()
,initialize_usb_host_lib()
has to be called in order to initialize usb host library. - Since
libuvc
selects highest possibledwMaxPayloadTransferSize
by default, user has to manually overwrite obatained value to 512 bytes (maximum transfer size supported by ESP32-S2/S3) before passing it touvc_print_stream_ctrl()
function. - Optionally, user can configure
libusb adapter
by passing appropriate parameters tolibuvc_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