Отправка данных на устройство с помощью Android UsbDeviceConnection controlTransfer - PullRequest
0 голосов
/ 31 марта 2020

У меня есть RFID-устройство USB, которому нужно отправить команду для устранения зеленой лампочки, когда она подключена.

Уже написан код на языке C с использованием libusb_control_transfer(). Это прекрасно работает с этой реализацией. Мне нужно реализовать то же самое из приложения android, используя java.

. Для этого я использовал usbDeviceConnection.controlTransfer() с той же командой (используется в C), как только я получу уведомление, когда USB-устройство подключено в. Но он возвращает -1, когда я выполняю в Android.

  byte [] command = new byte[]{/* byte command.*/};
  int usbResult = usbDeviceConnection.controlTransfer(0x21, 32, 0, 0, command, command.length, 15000);

Является ли предпочтительным API-интерфейс для выполнения той же операции, которую выполняет libusb_control_transfer() ?. Нужно ли изменить указанную выше команду для поддержки android?

Обратите внимание, что в этом оборудовании UsbDevice содержит один UsbInterface и один UsbEndpoint типа android.hardware.usb.UsbConstants#USB_ENDPOINT_XFER_INT.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...