Я пытаюсь получить доступ к классу устройств HID, используя webusb api на chrome.
Пока я могу обнаружить устройство, открыть его, запросить интерфейс. Но при выдаче простого отчета HID я постоянно получаю «сбой передачи».
Например, чтобы получить текущую версию if , отправив ему HID-отчет 0x05, он ответит им.
result = await device.controlTransferOut({
requestType: 'standard', // tried all combinations: standard / class / vendor
recipient: 'endpoint', // tried all combinations: device / interface / endpoint / other
request: 0x05,
value: 0,
index: 1
});
result = await device.controlTransferIn({
requestType: 'standard',
recipient: 'endpoint',
request: 0x05,
value: 0,
index: 1
}, 64);
NetworkError: Произошла ошибка передачи.
Кроме того, используя стандартные команды TransferIn и TransferOut, я сталкиваюсь с этой проблемой: конечные точки входа и выхода имеют одинаковый номер конечной точки:
Может ли кто-нибудь указать мне в правильном направлении?
РЕДАКТИРОВАТЬ:
Хотя мне удается получить некоторые данные из OS X (Windows все еще устраняет ошибку), данные всегда одинаковы, несмотря на отправляемый мной отчет HID.