Po the simple tutorial mogę połączyć się z urządzeniem (myszą optyczną USB z chipem ADNS-5000 wewnątrz) i utworzyć bulkTransfer.Jak uzyskać dostęp do usługi Android USB Host Jakich odpowiedzi na urządzenie USB uzyskuje po wysłaniu polecenia przez Hosta?
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 Spec (można google out) określa pewien zestaw "Polecenia USB", wśród których występuje na przykład:
Mnemonic: Get_Status_Device
Command: 80 00 00 00 00 00 02 00
Uwagi: Normalnie zwraca 00 00, 00 00 z własnym zasilaniem, Pilot zdalnego budzenia 02 00
Więc rozumiem, że podoba: kiedy piszę dane:
private byte[] bytes = {(byte) 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00};
do urządzenia powinien dostać albo 0x00, 0x00
lub 0x00, 0x00
(jest to prawdopodobnie błąd w specyfikacji jak ta sekwencja bajtów jest zdefiniowana jako wynik dla dwojga różne statusy) lub 0x20, 0x00
w zamian, , ale nie widzę żadnego sposobu, żeby api zwracał cokolwiek, czy mam rację?