Java: не найдена конечная точка, но Python работает - PullRequest
0 голосов
/ 09 января 2012

Я хочу попробовать java libusb из http://libusbjava.sourceforge.net и даже не могу подключиться к моему устройству ...

У меня был этот код Python раньше:

def discover():
    my_device = None
    for bus in usb.busses():
        for dev in bus.devices:
            if dev.idVendor == 0x16c0 and dev.idProduct == 0x05dc:
                handle = dev.open()

который работал действительно здорово.Теперь я хотел построить то же самое в Java и сделал это:

Device dev = USB.getDevice((short) 0x16c0, (short) 0x05dc);
try {
    dev.open(1, 0, -1);

} catch (USBException e) {
    }

, но все, что я сейчас получаю, это

ch.ntb.usb.USBException: No USB endpoints found. Check the device configuration
    at ch.ntb.usb.Device.updateMaxPacketSize(Device.java:82)
    at ch.ntb.usb.Device.initDevice(Device.java:114)
    at ch.ntb.usb.Device.open(Device.java:194)
    at Main.main(Main.java:14)

, что не может быть правдой, потому что я дважды проверил значения из lsusb и у меня есть Конфигурация 1 и Интерфейс 0 ... Что может быть так сложно подключить к моему устройству?Я не понимаю ...

1 Ответ

0 голосов
/ 09 января 2012

Я обнаружил, что устройство имеет только конечную точку прерывания, которая доступна для реализации Python, но не для реализации Java ... Я изменил это, и теперь это работает!

...