簡単なチュートリアルに従って、デバイス (内部に ADNS-5000 チップを搭載した USB 光学式マウス) に接続し、bulkTransferを作成できます。
UsbInterface intf = device.getInterface(0);
UsbEndpoint endpoint = intf.getEndpoint(0);
UsbDeviceConnection connection = manager.openDevice(device);
connection.claimInterface(intf, forceClaim);
connection.bulkTransfer(endpoint, bytes, bytes.length, TIMEOUT); //do in another thread
ADNS-5000 仕様 (Google で検索可能) では、いくつかの「USB コマンド」のセットが定義されており、その中には次のようなものがあります。
ニーモニック: Get_Status_Device
コマンド: 80 00 00 00 00 00 02 00
注: 通常は 00 00 を返し、セルフパワー 00 00、リモート ウェイクアップ 02 00 を返します。
だから私はそれを次のように理解しています: データを書き込むとき:
private byte[] bytes = {(byte) 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00};
0x00, 0x00
または0x00, 0x00
(このバイトシーケンスは2つの異なるステータスの結果として定義されているため、これはおそらく仕様上のエラーです)または0x20, 0x00
見返りに取得する必要がありますが、APIが何かを返す方法がわかりません。