Какие API-интерфейсы Android мне нужны для передачи управления USB (настройка, данные, состояние) на устройстве HID? - PullRequest
0 голосов
/ 11 января 2019

Я разрабатываю драйвер для USB HID контроллера , подключенного к моему устройству Android с помощью USB-хоста. Все специфичные для поставщика операции, позволяющие мне опрашивать состояние контроллера или устанавливать различные флаги, определяются как специфичные для поставщика команды управления , которые содержат setup stage и data stage (устройство -> контроллер). В зависимости от различных команд, контроллер может отправить обратно статус сообщение этапа.

Я понял, что метод UsbDeviceConnection.controlTransfer () должен использоваться для отправки этапов настройки и данных. Чего я не понимаю, так это того, какой метод / API я должен использовать для чтения состояния, отправленного обратно контроллером.

Кто-то знает?

Большое спасибо!

1 Ответ

0 голосов
/ 21 января 2019

Согласно известному проекту с открытым исходным кодом https://github.com/mik3y/usb-serial-for-android, этот метод возвращает -1, если что-то не так.

int result = mConnection.controlTransfer(FTDI_DEVICE_OUT_REQTYPE, SIO_RESET_REQUEST, SIO_RESET_SIO, 0 /* index */, null, 0, USB_WRITE_TIMEOUT_MILLIS); if (result != 0) { throw new IOException("Reset failed: result=" + result); }

(код извлечен из FtdiSerialDriver.java )

Я знаю это, потому что это то, что со мной происходит !!

...