2

我正在尝试使用 chrome 上的 webusb api 访问 HID 设备类。

到目前为止,我能够检测到设备,打开它,声明接口。但是当发布一个简单的 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 报告,但数据始终相同。

4

0 回答 0