我正在尝试使用pyUSB与测试仪器(RTX6001音频分析仪)进行通信。仪器的面板上有几个按钮/旋钮,可以手动设置测试信号的输入和输出电平。该设备还允许通过USB控制这些设置,这就是我想要做的。
我是pyUSB和USB编程的新手。我试图关注the pyUSB tutorial,但我无法弄清楚如何将这个实现到我的乐器上。我还有一份文档描述了仪器设置的USB HID,但它没有提到有关USB接口或端点的任何信息。
我想出了一些连接USB设备的Python代码,并显示了有关可用配置,接口和端点的一些信息:
import usb.core
import usb.util
import sys
# find the device
device = usb.core.find(idVendor=0x0D9A, idProduct=0x00DF)
# was it found?
if device is None:
raise ValueError('RTX6001 not found')
# show config / interface / endpoints:
for config in device:
sys.stdout.write('Config ' + str(config.bConfigurationValue) + '\n')
for interface in config:
sys.stdout.write('\t' + \
'Interface ' + str(interface.bInterfaceNumber) + \
',' + \
str(interface.bAlternateSetting) + \
'\n')
for endpoint in interface:
sys.stdout.write('\t\t' + \
'Endpoint ' + str(endpoint.bEndpointAddress) + \
'\n')
此输出如下(由于某种原因,我不明白相同的信息显示两次):
Config 1
Interface 0,0
Interface 1,0
Interface 1,1
Endpoint 1
Interface 1,2
Endpoint 1
Interface 1,3
Endpoint 1
Interface 2,0
Interface 2,1
Endpoint 129
Interface 2,2
Endpoint 129
Interface 2,3
Endpoint 129
Interface 3,0
Interface 4,0
Endpoint 2
Endpoint 130
Config 1
Interface 0,0
Interface 1,0
Interface 1,1
Endpoint 1
Interface 1,2
Endpoint 1
Interface 1,3
Endpoint 1
Interface 2,0
Interface 2,1
Endpoint 129
Interface 2,2
Endpoint 129
Interface 2,3
Endpoint 129
Interface 3,0
Interface 4,0
Endpoint 2
Endpoint 130
问题:
(1)如何确定负责控制仪器设置的接口+端点?
(2)如何使用界面+端点设置来设置或读取仪器设置?