USB4Java не может найти устройство в API высокого уровня, но может найти его в низкоуровневом

Я экспериментирую с подключением контроллеров Playstation BUZZ к Raspberry Pi, чтобы создать викторины, будет минимум 1 контроллер, максимум 4, что даст мне от 4 до 16 отдельных устройств. Я использую USB4Java для управления соединением USB, но я не был уверен, использовать ли высокий или низкий уровень, поэтому я попробовал оба. Используя пример кода только для того, чтобы найти контроллер, я вижу его на низком уровне, но не на высоком уровне, Высокий уровень показывает все другие устройства, которые показывает Низкоуровневый, но не интересующее меня устройство.

Я не могу понять, почему API высокого уровня не может видеть контроллер, когда низкий уровень делает. Понятно, что я делаю что-то не так, но не вижу, что.

Кто-нибудь может увидеть, где я иду не так?

public List initBuzzers_High() {
    List<UsbDevice> aList = new ArrayList();
    UsbServices services;
    try {
        services = UsbHostManager.getUsbServices();
        UsbHub rootHub = services.getRootUsbHub();
        aList=this.findDevices(rootHub);
    } catch (UsbException | SecurityException ex) {
        Logger.getLogger(Buzzer.class.getName()).log(Level.SEVERE, null, ex);
    }
  //System.out.println("Devices found : " + aList.size());
    return null;
}

public List<UsbDevice> findDevices(UsbHub hub) {
    List<UsbDevice> aList = new ArrayList();
    for (UsbDevice device : (List<UsbDevice>) hub.getAttachedUsbDevices()) {
        UsbDeviceDescriptor desc = device.getUsbDeviceDescriptor();
        System.out.println(desc);
    }
    return null;
}

0 ответов

Другие вопросы по тегам