# usb_uvc_qr
USB **UVC 摄像头** 采集服务,可选 **二维码识别** 流水线。封装 `usb_host_uvc` 与 JPEG 解码,便于预览、录像与扫码示例复用。
## 子模块
| 头文件 | 说明 |
|--------|------|
| `usb_camera_service.h` | UVC 打开、多分辨率 profile、帧回调 |
| `qr_scanner_service.h` | Quirc 二维码扫描 |
| `usb_uvc_qr.h` | 摄像头 + 扫码一体化配置 |
## 依赖
- ESP-IDF >= 5.0
- `espressif/usb_host_uvc` ^2.5.0
- `espressif/quirc`
## 使用(仅 UVC 预览)
```yaml
dependencies:
kevincoooool/usb_uvc_qr: "^1.0.0"
```
```c
#include "usb_camera_service.h"
usb_camera_service_config_t cfg = { /* 见 05.test.usb_uvc_display 示例 */ };
cfg.on_frame = my_frame_cb;
ESP_ERROR_CHECK(usb_camera_service_start(&cfg));
```
回调内将 YUY2/MJPEG 转为 RGB565 后送 LVGL 显示;**不要**在回调里调用 `uvc_host_frame_return()`。
## 上传注册库
```bash
cd components/usb_uvc_qr
compote registry login
compote component upload --namespace kevincoooool --name usb_uvc_qr --version 1.0.0
```
> 需先确保依赖 `espressif/usb_host_uvc` 在注册库可用(官方已提供,无需重复上传本地副本)。
idf.py add-dependency "kevincoooool/ksdiy_usb_uvc_qr^1.0.0"