У меня есть цифровой штангенциркуль и я хочу получить выходные данные через usb, но пока безрезультатно
Вот что я пробовал:
после чтения документов pyusb Мне нужно использовать функцию read()
для данных этого типа.
, поэтому мне нужно сначала найти правильный адрес конечной точки
import usb.core
import usb.util
dev = usb.core.find(idVendor=0x0403, idProduct=0x6001)
ENDPOINT 0x81: Bulk IN ===============================
bEndpointAddress : 0x81 IN # Endpoint in
wMaxPacketSize : 0x40 (64 bytes)
Второй параметр - полезная нагрузка данных (запись ) или количество байтов для чтения (чтения) Я не уверен, но я предполагаю, что его wMaxPacketSize : 0x40 (64 bytes)
для аргумента времени ожидания, я использую свойство Device.default_timeout
в качестве времени ожидания операции.
поэтому я написал al oop чтобы дождаться получения данных
import usb.core
import usb.util
dev = usb.core.find(idVendor=0x0403, idProduct=0x6001)
while True:
ret = dev.read(0x81, 0x44 )
print(ret)
и получил raise USBError(_strerror(ret), ret, _libusb_errno[ret])
usb.core.USBError: [Errno 10060] Operation timed out
Чего мне здесь не хватает?
Полное описание устройства
DEVICE ID 0403:6001 on Bus 001 Address 007 =================
bLength : 0x12 (18 bytes)
bDescriptorType : 0x1 Device
bcdUSB : 0x200 USB 2.0
bDeviceClass : 0x0 Specified at interface
bDeviceSubClass : 0x0
bDeviceProtocol : 0x0
bMaxPacketSize0 : 0x8 (8 bytes)
idVendor : 0x0403
idProduct : 0x6001
bcdDevice : 0x400 Device 4.0
iManufacturer : 0x1 MAHR
iProduct : 0x2 16EXu
iSerialNumber : 0x3 MAO74LCR
bNumConfigurations : 0x1
CONFIGURATION 1: 44 mA ===================================
bLength : 0x9 (9 bytes)
bDescriptorType : 0x2 Configuration
wTotalLength : 0x20 (32 bytes)
bNumInterfaces : 0x1
bConfigurationValue : 0x1
iConfiguration : 0x0
bmAttributes : 0xa0 Bus Powered, Remote Wakeup
bMaxPower : 0x16 (44 mA)
INTERFACE 0: Vendor Specific ===========================
bLength : 0x9 (9 bytes)
bDescriptorType : 0x4 Interface
bInterfaceNumber : 0x0
bAlternateSetting : 0x0
bNumEndpoints : 0x2
bInterfaceClass : 0xff Vendor Specific
bInterfaceSubClass : 0xff
bInterfaceProtocol : 0xff
iInterface : 0x2 16EXu
ENDPOINT 0x81: Bulk IN ===============================
bLength : 0x7 (7 bytes)
bDescriptorType : 0x5 Endpoint
bEndpointAddress : 0x81 IN
bmAttributes : 0x2 Bulk
wMaxPacketSize : 0x40 (64 bytes)
bInterval : 0x0
ENDPOINT 0x2: Bulk OUT ===============================
bLength : 0x7 (7 bytes)
bDescriptorType : 0x5 Endpoint
bEndpointAddress : 0x2 OUT
bmAttributes : 0x2 Bulk
wMaxPacketSize : 0x40 (64 bytes)
bInterval : 0x0