我想通过otg cable从连接到Android设备的天线获取数据 . 我已经 Build 连接选择正确的 endpoints 来发送和接收数据 . 问题在于通信,我必须发送65个字节的数据,但是 endpoints 只允许64个,当我尝试发送65时,它会在1/2发送/读取请求后卡住 .
private lateinit var connection: UsbDeviceConnection
private lateinit var usbEndpointZero: UsbEndpoint
private lateinit var usbEndpointOne: UsbEndpoint
override fun sendUsbPacket(data: ByteArray): Boolean {
synchronized(connection) {
connection.claimInterface(usbInterface, FORCE_INTERFACE)
val value = connection.bulkTransfer(usbEndpointOne, data, data.size/*usbEndpointOne.maxPacketSize*/, 0)
connection.releaseInterface(usbInterface)
return viewModel.getDeviceConnectedObservable().value ?: false
}
}
override fun receiveUsbPacket(data: ByteArray): Boolean {
synchronized(connection) {
connection.claimInterface(usbInterface, FORCE_INTERFACE)
val value = connection.bulkTransfer(usbEndpointZero, data, data.size/*usbEndpointZero.maxPacketSize*/, 0)
connection.releaseInterface(usbInterface)
return viewModel.getDeviceConnectedObservable().value ?: false
}
}
我该怎么办才能发送65字节数据并接收相同长度的响应?我不能用eg . https://github.com/felHR85/UsbSerial因为我的USB设备不受支持 .