Gast
#2752535
Hi, Mal wieder eine Frage an die libusb leute ;-) Folgender Ablauf: 1. es sind viele meiner Geräte an einem PC angeschlossen, auf manchen läuft grad eine Applikationssoftware, auf manchen der Bootloader 2. ich wähle ein bestimmtes Gerät aus, auf dem eine Applikation läuft, vom PC aus (Host software + libusbJava) wird der Befehl den Bootloader zu starten gesendet 3. das Gerät resetet sich und meldet sich als Bootloader (andere PID, gleiche VID) wieder am Host an. 4. die hostsotware soll genau dieses Gerät wiederfinden aus allen angeschlossenen Geräten. Wie machen ich diesen letzten Punkt? es gibt die funktion usbdevice.getBus() welche mir die nummer des Hostcontroller zurückliefert an dem das Gerät hängt. Damit kann ich schonmal eine Teilunterscheidung machen, bleiben allerdings noch theoretisch maximal 127 unterschiedliche Geräte die an diesem controller hängen könnten. usbdevice.getFilename scheint mir eine nummer zurückzuliefern welche beim suchen der geräte einfach aufitteriert wird. Diese nummer ist allerdings nur "konstant" solange keine geräte angeklemmt oder abgesteckt werden. den usbhandle einfach weiterverwenden kann ich nicht, da dieser zerstört wird wenn sich das device mit anderem descriptor neu anmeldet, was der fall ist da Applikation und Bootloader unterschiedliche PIDs verwenden. Gibt es noch andere Möglichkeiten? ich würde es vorziehen nicht jedes device öffnen zu müssen und zu fragen ob es das richtige ist. Grüße Chris