solved a bug in syncRead for FTDI devices

pull/75/head
Felipe Herranz 2016-09-18 21:42:19 +02:00
rodzic ee68de6f3a
commit f63a29f0b4
3 zmienionych plików z 11 dodań i 8 usunięć

Wyświetl plik

@ -19,8 +19,6 @@ import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
import com.felhr.usbserial.UsbSerialDevice;
import java.lang.ref.WeakReference;
import java.util.Set;
@ -189,8 +187,8 @@ public class MainActivity extends AppCompatActivity {
Toast.makeText(mActivity.get(), "DSR_CHANGE",Toast.LENGTH_LONG).show();
break;
case UsbService.SYNC_READ:
byte[] buffer = (byte[]) msg.obj;
mActivity.get().display.append(new String(buffer));
String buffer = (String) msg.obj;
mActivity.get().display.append(buffer);
break;
}
}

Wyświetl plik

@ -302,7 +302,8 @@ public class UsbService extends Service {
if(n > 0) {
byte[] received = new byte[n];
System.arraycopy(buffer, 0, received, 0, n);
mHandler.obtainMessage(SYNC_READ, buffer).sendToTarget();
String receivedStr = new String(received);
mHandler.obtainMessage(SYNC_READ, receivedStr).sendToTarget();
}
}
}

Wyświetl plik

@ -631,10 +631,14 @@ public class FTDISerialDevice extends UsbSerialDevice
do
{
int timeLeft = (int) (stopTime - System.currentTimeMillis());
if(timeLeft <= 0)
int timeLeft = 0;
if(timeout > 0)
{
break;
timeLeft = (int) (stopTime - System.currentTimeMillis());
if (timeLeft <= 0)
{
break;
}
}
int numberBytes = connection.bulkTransfer(inEndpoint, tempBuffer, tempBuffer.length, timeLeft);