title: Transferring data USB
body: <p>I am trying to send and receive data over USB, my device, the Acer Iconia A500 has everything needed to connect to the device and everything, that is fine and works properly, but when I try sending and receiving data it doesn't behave as expected. This is my code</p>
  
  <pre><code>for( ; ; ) { //this is the main loop for transferring   
      String get = "$getPos";
      byte[] getBytes = get.getBytes();
      conn.bulkTransfer( epOUT, getBytes, getBytes.length, 500 );
  
      try {
          Thread.sleep( 500 );
          byte[] buffer = new byte[4096];
          conn.bulkTransfer( epIN, buffer, 4096, 500 );
          StringBuilder byStr = new StringBuilder();
  
          for( int i = 0; i &lt; buffer.length; i++ ) {
              if( buffer[i] != 0 ) {
                  byStr.append( buffer[i] + ", " );
              }
          }
  
          l( byStr );
      }
      catch( InterruptedException e ) {
          e.printStackTrace();
      }
  
      if( mStop ) {
          mStopped = true;
          return;
      }
  
      l( "sent " + counter );
      counter++;
      counter = (byte)( counter % 16 );
  }
  </code></pre>
  
  <p>Its meant to return an Array of bytes about 80 characters long but it only returns two bytes back which are 1 and 96, if there was a error on the USB devices end it would still return a few more then two. Is my code even close to correct? I based it of the USB to serial article by serverbox.</p>