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;
}