当前位置:首页 > 电子 > 正文内容

UVC SET_CUR/GET_CUR

admin12个月前 (05-06)电子2501

设置请求SET_CUR

设置请求用于设置视频功能的相关属性,这些属性一般由相关的端点、接口来实现。

bmRequestType(1)bRequest(1)wValue(2)wIndex(2)wLength(2)Data(0~N)
00100001(接口或实体)
—————
00100010(端点)
SET_CUR见解释实体ID(高字节)、接口(低字节)
—————
端点(低字节)
参数长度参数块

获取请求GET_CUR

获取请求用于视频功能的相关属性.

bmRequestType(1)bRequest(1)wValue(2)wIndex(2)wLength(2)Data(0~N)
10100001(接口或实体)
—————
10100010(端点)
GET_CUR
GET_MIN
GET_MAX
GET_RES
GET_LEN
GET_INFO
GET_DEF
见解释实体ID(高字节)、接口(低字节)
—————
端点(低字节)
参数长度参数块

bmRequestType字段(1字节)

D7,下一步数据的传输方向
0 = 主机到设备(SET请求)
1 = 设备到主机(GET请求)

D6-D5,命令的类型
00 = 标准请求命令
01 = 类请求命令(UVC规范中的请求属于类请求命令)
10 = 用户定义的请求命令
11 = 保留

D4-D0,命令接受者的类型
00000 = 接受者为设备(UVC无此值)
00001 = 接收者为接口(UVC规范中可以理解为VC,VS中拓扑结构中的端子,单元等)
00010 = 接受者为端点(UVC规范中为视频流接口VS的端点)

00011 = 其他接受者
其他值保留。

当接收者为接口时,本教程提供了相关的实例分析。详见:处理单元特定类请求示例和视频流接口控制请求示例。

bRequest字段(1)

请求命令,包括设置和获取。

  • SET_CUR 0x01 设置

  • GET_CUR 0x81 获取当前属性

  • GET_MIN 0x82 获取最小设置属性

  • GET_MAX 0x83 获取最大设置属性

  • GET_RES 0x84 获取分辨率属性

  • GET_LEN 0x85 获取数据长度属性

  • GET_INFO 0x86 获取设备支持的特定类请求属性

  • GET_DEF 0x87 获取默认属性

wIndex字段(2字节)

Entity ID(高字节),接口或端点(低字节)。Entity ID是由UVC设备开发者指定的,该ID号能标识具体唯一的特定的功能单元,便于Host端的驱动能依次对设备内的不同功能单元进行配置与操作。

wValue字段(2字节)

UVC中大多数情况下wValue的取值都为控制选择器CS(高字节),低字节为零
CS的取值受限于wIndex字段中的Entity ID。当Entity ID取不同值时则wValue字段取值也会有所不同。
wValue主要取值如下:

1)、当Entity ID值为VC Interface时:

选择子
VC_CONTROL_UNDEFINED0x00
VC_VIDEO_POWER_MODE_CONTROL0x01
VC_REQUEST_ERROR_CODE_CONTROL0x02
Reserved0x03

2)当Entity ID值为Teminal时:

Control SelectorValue
TE_CONTROL_UNDEFINED0x00

3)当Entity ID值为Selector Unit时

Control SelectorValue
SU_CONTROL_UNDEFINED0x00
SU_INPUT_SELECT_CONTROL0x01

4)当Entity ID值为Processing Unit时:

Control SelectorValue
PU_CONTROL_UNDEFINED0x00
PU_BACKLIGHT_COMPENSATION_CONTROL0x01
PU_BRIGHTNESS_CONTROL0x02
PU_CONTRAST_CONTROL0x03
PU_GAIN_CONTROL0x04
PU_POWER_LINE_FREQUENCY_CONTROL0x05
PU_HUE_CONTROL0x06
PU_SATURATION_CONTROL0x07
PU_SHARPNESS_CONTROL0x08
PU_GAMMA_CONTROL0x09
PU_WHITE_BALANCE_TEMPERATURE_CONTROL0x0A
PU_WHITE_BALANCE_TEMPERATURE_AUTO_CONTROL0x0B
PU_WHITE_BALANCE_COMPONENT_CONTROL0x0C
PU_WHITE_BALANCE_COMPONENT_AUTO_CONTROL0x0D
PU_DIGITAL_MULTIPLIER_CONTROL0x0E
PU_DIGITAL_MULTIPLIER_LIMIT_CONTROL0x0F
PU_HUE_AUTO_CONTROL0x10
PU_ANALOG_VIDEO_STANDARD_CONTROL0x11
PU_ANALOG_LOCK_STATUS_CONTROL0x12
PU_CONTRAST_AUTO_CONTROL0x13

5)当Entity ID值为Camera Terminal时:

ControlSelectorValue
CT_CONTROL_UNDEFINED0x00
CT_SCANNING_MODE_CONTROL0x01
CT_AE_MODE_CONTROL0x02
CT_AE_PRIORITY_CONTROL0x03
CT_EXPOSURE_TIME_ABSOLUTE_CONTROL0x04
CT_EXPOSURE_TIME_RELATIVE_CONTROL0x05
CT_FOCUS_ABSOLUTE_CONTROL0x06
CT_FOCUS_RELATIVE_CONTROL0x07
CT_FOCUS_AUTO_CONTROL0x08
CT_IRIS_ABSOLUTE_CONTROL0x09
CT_IRIS_RELATIVE_CONTROL0x0A
CT_ZOOM_ABSOLUTE_CONTROL0x0B
CT_ZOOM_RELATIVE_CONTROL0x0C
CT_PANTILT_ABSOLUTE_CONTROL0x0D
CT_PANTILT_RELATIVE_CONTROL0x0E
CT_ROLL_ABSOLUTE_CONTROL0x0F
CT_ROLL_RELATIVE_CONTROL0x10
CT_PRIVACY_CONTROL0x11
CT_FOCUS_SIMPLE_CONTROL0x12
CT_WINDOW_CONTROL0x13
CT_REGION_OF_INTEREST_CONTROL0x14

6)当Entity ID值为Extension Unit时:

Control SelectorValue
XU_CONTROL_UNDEFINED0x00

7)当Entity ID值为VS Interface时:

ControlSelectorValue
VS_CONTROL_UNDEFINED0x00
VS_PROBE_CONTROL0x01
VS_COMMIT_CONTROL0x02
VS_STILL_PROBE_CONTROL0x03
VS_STILL_COMMIT_CONTROL0x04
VS_STILL_IMAGE_TRIGGER_CONTROL0x05
VS_STREAM_ERROR_CODE_CONTROL0x06
VS_GENERATE_KEY_FRAME_CONTROL0x07
VS_UPDATE_FRAME_SEGMENT_CONTROL0x08
VS_SYNCH_DELAY_CONTROL0x09

wLenth字段(2字节)

传输的数据大小。该字段表示在控制传输中传输数据的大小。主机—>设备时,该字段的值是实际的数据大小,设备—>主机时,wLenth为设备能够发送的最大数据包大小。


扫描二维码推送至手机访问。

版权声明:本文由视觉博客发布,如需转载请注明出处。

本文链接:https://feelsight.cn/post/150.html

“UVC SET_CUR/GET_CUR” 的相关文章

STM32 keil mdk启动代码发分析

在启动文件我们看到了__main和用户写的main,这2个是有区别的,大概流程如下: 1、复位第一条指令:Reset_Handler   PROC,这里指定为 LDR     R0, =__main。表示调用...

开关电源拓扑结构概述(降压,升压,反激、正激)

开关电源拓扑结构概述(降压,升压,反激、正激)

主回路—开关电源中,功率电流流经的通路。主回路一般包含了开关电源中的开关器件、储能器件、脉冲变压器、滤波器、输出整流器、等所有功率器件,以及供电输入端和负载端。   开关电源(直流变换器)的类型很多,在研究开发或者维修电源系统时,全面了解开关电源主回路的...

电源模块中隔离电压3000VDC有什么用?

电源模块中隔离电压3000VDC有什么用?

随着嵌入式行业的快速发展,在各种行业应用中电源要求也越来越高,为保证系统的稳定性,隔离电源应运而生。但隔离电源中关键指标——隔离电压指的是什么?与爬电距离有什么关系?本文将从隔离电源的原理为你揭晓。 微电子行业的高速发展,产品使用场合的电磁环境也越来越复杂,产品的稳定性也受到很大的...

基于PIC单片机和AD7705的高精度信号采集系统设计

基于PIC单片机和AD7705的高精度信号采集系统设计

在工业现场测试过程中,由于生产中的各种参数的测试数据对生产过程具有重要的意义,因此对各种测试数据精度要求较高。而对于传统的传感器,比如压阻式、应变桥式、热电偶、热电阻、电容式以及压电式传感器,输出的一般是毫伏级的微弱模拟信号,温度特性差,而且在传输过程中信噪比明显降低。因此需要设计高精度稳定性...

单片机学习心得—学习单片机必看

08年的时候,因为制作FM发射电路采用了BH1415的芯片,需要用到单片机控制,所以开始接触使用单片机,虽然以前读书时作为一门功课学过,不过也快丢荒了近5年了,基本上都忘光了,也算是从头学起了吧。 经常在群、论坛里看到有人问:怎么学单片机?也常看到有...

如何看懂电路图(四)-集成运算放大器(运放)

如何看懂电路图(四)-集成运算放大器(运放)

集成运算放大器是一种把多级直流放大器做在一个集成片上,只要在外部接少量元件就能完成各种功能的器件。因为它早期是用在模拟计算机中做加法器、乘法器用 的,所以叫做运算放大器。它有十多个引脚,一般都用有 3 个端子的三角形符号表示,如图 10 。它有两个输入端、 1 个输出端,上面那个输入端叫做反相...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。