-
Notifications
You must be signed in to change notification settings - Fork 928
Closed
Description
开发板:esp32s2-Saola-v1.2
开发环境:win10 + IDFv4.4 + esp iot solution
摄像头:USB2.0 uvc免驱支持MJPEG摄像头
我根据摄像头描述符配置了usb_camera_wifi_transfer例程的参数后烧写测试,发现在通讯之后报错“SWAP NO EOF ”。
运行log
I (816) UVC_STREAM: UVC Streaming Config Succeed
I (866) UVC_STREAM: UVC Streaming Starting
I (896) UVC_STREAM: Port=1 init succeed
I (896) UVC_STREAM: Waitting USB Connection
I (1146) UVC_STREAM: line 353 HCD_PORT_EVENT_CONNECTION
I (1146) UVC_STREAM: Resetting Port
I (1206) UVC_STREAM: Setting Port FIFO
I (1206) UVC_STREAM: Getting Port Speed
I (1206) UVC_STREAM: Port speed = 1
I (1206) UVC_STREAM: USB Speed: full-speed
I (1206) UVC_STREAM: Set Device Addr = 1
I (1226) UVC_STREAM: Set Device Addr Done
I (1226) UVC_STREAM: Set Device Configuration = 1
I (1236) UVC_STREAM: Set Device Configuration Done
I (1236) UVC_STREAM: SET_CUR Probe
I (1236) UVC_STREAM: SET_CUR Probe Done
I (1236) UVC_STREAM: GET_CUR Probe
bmHint: 0001
bFormatIndex: 2
bFrameIndex: 5
dwFrameInterval: 10000000
wKeyFrameRate: 0
wPFrameRate: 0
wCompQuality: 0
wCompWindowSize: 0
wDelay: 0
dwMaxVideoFrameSize: 614400
dwMaxPayloadTransferSize: 800
dwClockFrequency: 0
bmFramingInfo: 0
bPreferredVersion: 0
bMinVersion: 0
bMaxVersion: 0
bInterfaceNumber: 0
I (1276) UVC_STREAM: GET_CUR Probe Done, actual_num_bytes:64
I (1276) UVC_STREAM: SET_CUR COMMIT
I (1286) UVC_STREAM: SET_CUR COMMIT Done
I (1286) UVC_STREAM: Set Device Interface = 1, Alt = 4
I (1296) UVC_STREAM: Set Device Interface Done
I (1296) UVC_STREAM: Sample processing task started
I (1356) UVC_STREAM: Camera Start Streaming
W (5346) UVC_STREAM: SWAP NO EOF 9412
W (5846) UVC_STREAM: SWAP NO EOF 9536
W (6336) UVC_STREAM: SWAP NO EOF 9656
我的配置:
uvc_config_t uvc_config = {
.dev_speed = USB_SPEED_FULL, //固定为 USB_SPEED_FULL
.configuration = 1, //配置描述符编号,一般为 1
.format_index = 2, // MJPEG 对应的 bFormatIndex, bFormatIndex: 0x02 (2)
.frame_width = 160, // MJPEG 横向像素,例如 320
.frame_height = 120, // MJPEG 纵向像素,例如 240
.frame_index = 5, //MJPEG 320*240 对应的 bFrameIndex, bFrameIndex: 0x05
.frame_interval = 333333, //可选的帧率 dwFrameInterval,例如 30fps
.interface = 1, // 可选的视频流接口 bInterfaceNumber,一般为 1
.interface_alt = 4, // 接口选项 bAlternateSetting, bAlternateSetting: 0x04
.isoc_ep_addr = 0x82, // 接口选项对应的 bEndpointAddress, bEndpointAddresS: 0x82 (Direction=IN EndpointID=2)
.isoc_ep_mps = 512, // 接口选项的确定的 MPS, 例如为 512
.xfer_buffer_size = 20*1024, //单帧图像大小,需要根据实际测试确定,320*240 一般小于 35KB
.xfer_buffer_a = pointer_buffer_a, // 已经申请的 buffer 指针
.xfer_buffer_b = pointer_buffer_b, // 已经申请的 buffer 指针
.frame_buffer_size = 20*1024, //单帧图像大小,需要根据实际测试确定
.frame_buffer = pointer_frame_buffer, // 已经申请的 buffer 指针
};
摄像头描述符,我是用win10的软件获取的,比较多
摄像头描述符.txt
请问可能是什么问题导致的?uvc协议还在学习中不是很明白,是描述符配置的不对还是摄像头本身就不支持?或者说例程需要改动?
Metadata
Metadata
Assignees
Labels
No labels