libusb-javaといくつかの自作デバイスで次の問題が発生します。そのようなデバイスは、大量の電力を消費するためにUSBポートから切断される可能性があります(例:私は500mA以上を必要とするUSB-LEDライトを持っています)。この場合、USBコントローラーはデバイスをリセットし、デバイスは正常に再起動します。
今では、すべての例外でデバイスを再起動しようとすることを除いて、このような問題を実際に検出することはできません。しかし、それは機能していません...
すべての例外で、initメソッドを再度呼び出します。これは次のようになります。
private void initDevice() {
USB.init();
this.dev = USB.getDevice(idVendor, idProduct);
}
それに関する問題は、これは問題なく実行されますが、新しいデータを送信したいときにこのエラーメッセージが表示されます:
LibusbJava.controlMsg: error sending control message: Protocol error
デバイスを再起動するにはどうすればよいですか?バスなどをリセットする必要がありますか?