msgstr "win error: устройство, подключенное к системе, не работает."ошибка - PullRequest
0 голосов
/ 16 апреля 2019

Я хотел бы подключиться к мыши или оценочной плате датчика мыши ADNS2620 через библиотеку Libusb в Python.Я сделал необходимые подключения в следующем коде (который был ранее опубликован в stackoverflow).Но мне («поднять USBError (errmsg, ret) usb.core.USBError: [Errno None] libusb0-dll: err [control_msg] отправка управляющего сообщения не удалась, ошибка win: устройство, подключенное к системе, не работает».)выдает ошибку и прерывает соединение между мышью и компьютером.

Как вы предлагаете способ преодоления этой ошибки?

Во-вторых, как я могу получить доступ к пикселям, полученным от оптического считывателя, с помощьюдатчик мыши?

(также я использую Python 2.7 и Windows-10)

import usb.core
import usb.util
import matplotlib.pyplot as plt
import numpy as np

# VENDOR_ID  = 0x16C0
# PRODUCT_ID = 0x03E8

VENDOR_ID = 0x1038   #UNBOX MOUSE
PRODUCT_ID = 0x1366 

# find the USB device
device = usb.core.find(idVendor=VENDOR_ID,
                       idProduct=PRODUCT_ID)

print device

# use the first/default configuration
device.set_configuration(1)


# In order to read the pixel bytes, reset PIX_GRAB by sending a write command
response = device.ctrl_transfer(bmRequestType = 0x40, #Write
                                     bRequest = 0x01,
                                     wValue = 0x0000,
                                     wIndex = 0x0D, #PIX_GRAB register value
                                     data_or_wLength = None
                                     )

# Read all the pixels (360 in this chip)
pixList = []

while len(pixList) < 361:
    temp = 0
    response = device.ctrl_transfer(bmRequestType = 0xC0, #Read
                                         bRequest = 0x01,
                                         wValue = 0x0000,
                                         wIndex = 0x0D, #PIX_GRAB register value
                                         data_or_wLength = 1
                                         )
    if response[0] >= 0x80:
        temp = response[0] & 0x7F
        pixList.append(temp)


pixelArray = np.asarray(pixList)
pixelArray = pixelArray.reshape((19,19))

plt.imshow(pixelArray)
plt.show()
...