android.hardware.usb.UsbRequest类的使用及代码示例

x33g5p2x  于2022-02-01 转载在 其他  
字(7.9k)|赞(0)|评价(0)|浏览(268)

本文整理了Java中android.hardware.usb.UsbRequest类的一些代码示例,展示了UsbRequest类的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。UsbRequest类的具体详情如下:
包路径:android.hardware.usb.UsbRequest
类名称:UsbRequest

UsbRequest介绍

暂无

代码示例

代码示例来源:origin: square/assertj-android

public UsbRequestAssert hasEndpoint(UsbEndpoint endpoint) {
  isNotNull();
  UsbEndpoint actualEndpoint = actual.getEndpoint();
  assertThat(actualEndpoint) //
    .overridingErrorMessage("Expected endpoint <%s> but was <%s>.", endpoint, actualEndpoint) //
    .isEqualTo(endpoint);
  return this;
 }
}

代码示例来源:origin: square/assertj-android

public UsbRequestAssert hasClientData(Object data) {
 isNotNull();
 Object actualData = actual.getClientData();
 assertThat(actualData) //
   .overridingErrorMessage("Expected client data <%s> but was <%s>.", data, actualData) //
   .isEqualTo(data);
 return this;
}

代码示例来源:origin: voroshkov/Chorus-RF-Laptimer

@Override
public int read(byte[] dest, int timeoutMillis) throws IOException {
  if (mEnableAsyncReads) {
   final UsbRequest request = new UsbRequest();
   try {
    request.initialize(mConnection, mReadEndpoint);
    final ByteBuffer buf = ByteBuffer.wrap(dest);
    if (!request.queue(buf, dest.length)) {
     throw new IOException("Error queueing request.");
    request.close();

代码示例来源:origin: demantz/hackrf_android

usbRequests[i] = new UsbRequest();
usbRequests[i].initialize(usbConnection, usbEndpointIN);
usbRequests[i].setClientData(buffer);
if(	usbRequests[i].queue(buffer, getPacketSize()) == false)
if(request.getEndpoint() != usbEndpointIN)
  continue;
buffer = (ByteBuffer) request.getClientData();
request.setClientData(buffer);
if(request.queue(buffer, getPacketSize()) == false){
  Log.e(logTag,"receiveLoop: Couldn't queue USB Request.");
  break;
request.cancel();

代码示例来源:origin: trezor/trezor-android

data.put((byte) 0);
UsbRequest request = new UsbRequest();
request.initialize(usbConnection, writeEndpoint);
int chunks = data.position() / 63;
Timber.i(TAG, String.format("messageWrite: Writing %d chunks", chunks));
  buffer[0] = (byte) '?';
  data.get(buffer, 1, 63);
  request.queue(ByteBuffer.wrap(buffer), 64);
  usbConnection.requestWait();

代码示例来源:origin: felHR85/UsbSerial

UsbRequest requestIN = new UsbRequest();
requestIN.initialize(connection, inEndpoint);

代码示例来源:origin: felHR85/UsbSerial

@Override
public boolean open()
{
  boolean ret = openPL2303();
  if(ret)
  {
    // Initialize UsbRequest
    UsbRequest requestIN = new SafeUsbRequest();
    requestIN.initialize(connection, inEndpoint);
    // Restart the working thread if it has been killed before and  get and claim interface
    restartWorkingThread();
    restartWriteThread();
    // Pass references to the threads
    setThreadsParams(requestIN, outEndpoint);
    asyncMode = true;
    isOpen = true;
    return true;
  }else
  {
    isOpen = false;
    return false;
  }
}

代码示例来源:origin: felHR85/UsbSerial

@Override
public void doRun()
{
  UsbRequest request = connection.requestWait();
  if(request != null && request.getEndpoint().getType() == UsbConstants.USB_ENDPOINT_XFER_BULK
      && request.getEndpoint().getDirection() == UsbConstants.USB_DIR_IN)
  {
    byte[] data = serialBuffer.getDataReceived();
    // FTDI devices reserves two first bytes of an IN endpoint with info about
    // modem and Line.
    if(isFTDIDevice())
    {
      ((FTDISerialDevice) usbSerialDevice).ftdiUtilities.checkModemStatus(data); //Check the Modem status
      serialBuffer.clearReadBuffer();
      if(data.length > 2)
      {
        data = ((FTDISerialDevice) usbSerialDevice).ftdiUtilities.adaptArray(data);
        onReceivedData(data);
      }
    }else
    {
      // Clear buffer, execute the callback
      serialBuffer.clearReadBuffer();
      onReceivedData(data);
    }
    // Queue a new request
    requestIN.queue(serialBuffer.getReadBuffer(), SerialBuffer.DEFAULT_READ_BUFFER_SIZE);
  }
}

代码示例来源:origin: felHR85/UsbSerial

@Override
  public boolean queue(ByteBuffer buffer, int length)
  {
    Field usbRequestBuffer;
    Field usbRequestLength;
    try
    {
      usbRequestBuffer = UsbRequest.class.getDeclaredField(usbRqBufferField);
      usbRequestLength = UsbRequest.class.getDeclaredField(usbRqLengthField);
      usbRequestBuffer.setAccessible(true);
      usbRequestLength.setAccessible(true);
      usbRequestBuffer.set(this, buffer);
      usbRequestLength.set(this, length);
    } catch (Exception e)
    {
      throw new RuntimeException(e);
    }

    return super.queue(buffer, length);
  }
}

代码示例来源:origin: NightscoutFoundation/xDrip

@Override
public int read(byte[] dest, int timeoutMillis) throws IOException {
  if (mEnableAsyncReads) {
   final UsbRequest request = new UsbRequest();
   try {
    request.initialize(mConnection, mReadEndpoint);
    final ByteBuffer buf = ByteBuffer.wrap(dest);
    if (!request.queue(buf, dest.length)) {
     throw new IOException("Error queueing request.");
    request.close();

代码示例来源:origin: demantz/hackrf_android

usbRequests[i] = new UsbRequest();
usbRequests[i].initialize(usbConnection, usbEndpointOUT);
usbRequests[i].setClientData(buffer);
if(	usbRequests[i].queue(buffer, getPacketSize()) == false)
if(request.getEndpoint() != usbEndpointOUT)
  continue;
buffer = (ByteBuffer) request.getClientData();
this.returnBufferToBufferPool(buffer.array());
request.setClientData(buffer);
if(request.queue(buffer, getPacketSize()) == false){
  Log.e(logTag,"transmitLoop: Couldn't queue USB Request.");
  break;
request.cancel();

代码示例来源:origin: trezor/trezor-android

private Message messageRead() throws InvalidProtocolBufferException {
  UsbRequest request = new UsbRequest();
  request.initialize(usbConnection, readEndpoint);
  MessageType type;
  int msg_size;
    request.queue(buffer, 64);
    usbConnection.requestWait();
    byte[] b = buffer.array();
    request.queue(buffer, 64);
    usbConnection.requestWait();
    byte[] b = buffer.array();

代码示例来源:origin: felHR85/UsbSerial

UsbRequest requestIN = new UsbRequest();
requestIN.initialize(connection, inEndpoint);

代码示例来源:origin: felHR85/UsbSerial

@Override
public boolean open()
{
  boolean ret = openFTDI();
  if(ret)
  {
    // Initialize UsbRequest
    UsbRequest requestIN = new SafeUsbRequest();
    requestIN.initialize(connection, inEndpoint);
    // Restart the working thread if it has been killed before and  get and claim interface
    restartWorkingThread();
    restartWriteThread();
    // Pass references to the threads
    setThreadsParams(requestIN, outEndpoint);
    asyncMode = true;
    isOpen = true;
    return true;
  }else
  {
    isOpen = false;
    return false;
  }
}

代码示例来源:origin: felHR85/UsbSerial

@Override
public int read(UsbReadCallback mCallback)
{
  if(!asyncMode)
    return -1;
  if(mr1Version)
  {
    if (workerThread != null) {
      workerThread.setCallback(mCallback);
      workerThread.getUsbRequest().queue(serialBuffer.getReadBuffer(), SerialBuffer.DEFAULT_READ_BUFFER_SIZE);
    }
  }else
  {
    readThread.setCallback(mCallback);
    //readThread.start();
  }
  return 0;
}

代码示例来源:origin: jamorham/xDrip-plus

@Override
public int read(byte[] dest, int timeoutMillis) throws IOException {
  if (mEnableAsyncReads) {
   final UsbRequest request = new UsbRequest();
   try {
    request.initialize(mConnection, mReadEndpoint);
    final ByteBuffer buf = ByteBuffer.wrap(dest);
    if (!request.queue(buf, dest.length)) {
     throw new IOException("Error queueing request.");
    request.close();

代码示例来源:origin: felHR85/UsbSerial

@Override
public boolean open()
{
  boolean ret = openCDC();
  if(ret)
  {
    // Initialize UsbRequest
    UsbRequest requestIN = new SafeUsbRequest();
    requestIN.initialize(connection, inEndpoint);
    // Restart the working thread if it has been killed before and  get and claim interface
    restartWorkingThread();
    restartWriteThread();
    // Pass references to the threads
    setThreadsParams(requestIN, outEndpoint);
    asyncMode = true;
    isOpen = true;
    return true;
  }else
  {
    isOpen = false;
    return false;
  }
}

代码示例来源:origin: com.squareup.assertj/assertj-android

public UsbRequestAssert hasEndpoint(UsbEndpoint endpoint) {
  isNotNull();
  UsbEndpoint actualEndpoint = actual.getEndpoint();
  assertThat(actualEndpoint) //
    .overridingErrorMessage("Expected endpoint <%s> but was <%s>.", endpoint, actualEndpoint) //
    .isEqualTo(endpoint);
  return this;
 }
}

代码示例来源:origin: com.squareup.assertj/assertj-android

public UsbRequestAssert hasClientData(Object data) {
 isNotNull();
 Object actualData = actual.getClientData();
 assertThat(actualData) //
   .overridingErrorMessage("Expected client data <%s> but was <%s>.", data, actualData) //
   .isEqualTo(data);
 return this;
}

代码示例来源:origin: zhouzhuo810/OkUSB

@Override
public int read(byte[] dest, int timeoutMillis) throws IOException {
  if (mEnableAsyncReads) {
   final UsbRequest request = new UsbRequest();
   try {
    request.initialize(mConnection, mReadEndpoint);
    final ByteBuffer buf = ByteBuffer.wrap(dest);
    if (!request.queue(buf, dest.length)) {
     throw new IOException("Error queueing request.");
    request.close();

相关文章