Ready to take some tests to prove me wrong :)

pull/4/head
Felipe Herranz 2014-04-04 12:51:10 +02:00
rodzic 6db9ff44d5
commit db2a03f0f6
8 zmienionych plików z 17 dodań i 12 usunięć

Plik binarny nie jest wyświetlany.

Plik binarny nie jest wyświetlany.

Wyświetl plik

@ -117,7 +117,10 @@ public class CP2102SerialDevice extends UsbSerialDevice
@Override
public void close()
{
// TODO
setControlCommand(CP210x_IFC_ENABLE, CP210x_UART_DISABLE, null);
connection.close();
workerThread.stopWorkingThread();
listenThread.stopListenThread();
}
@Override
@ -147,7 +150,7 @@ public class CP2102SerialDevice extends UsbSerialDevice
@Override
public void setParity(int parity)
{
// TODO Auto-generated method stub
// TODO
}
@Override
@ -181,7 +184,9 @@ public class CP2102SerialDevice extends UsbSerialDevice
{
dataLength = data.length;
}
return connection.controlTransfer(CP210x_REQTYPE_HOST2DEVICE, request, value, 0, data, dataLength, USB_TIMEOUT);
int response = connection.controlTransfer(CP210x_REQTYPE_HOST2DEVICE, request, value, 0, data, dataLength, USB_TIMEOUT);
Log.i(CLASS_ID,"Control Transfer Response: " + String.valueOf(response));
return response;
}
}

Wyświetl plik

@ -12,12 +12,12 @@ public class SerialBuffer
private Object mReadLock;
private Object mWriteLock;
public SerialBuffer(Object mReadLock, Object mWriteLock)
public SerialBuffer()
{
writeBuffer = ByteBuffer.allocate(DEFAULT_WRITE_BUFFER_SIZE);
readBuffer = ByteBuffer.allocate(DEFAULT_READ_BUFFER_SIZE);
this.mReadLock = mReadLock;
this.mWriteLock = mWriteLock;
this.mReadLock = new Object();
this.mWriteLock = new Object();
}
public void putWriteBuffer(byte[] data)

Wyświetl plik

@ -17,8 +17,6 @@ public abstract class UsbSerialDevice implements UsbSerialInterface
protected final UsbDeviceConnection connection;
protected SerialBuffer serialBuffer;
protected final Object readBufferLock;
protected final Object writeBufferLock;
private Object objectMonitor;
protected ListenThread listenThread;
@ -28,9 +26,8 @@ public abstract class UsbSerialDevice implements UsbSerialInterface
{
this.device = device;
this.connection = connection;
this.readBufferLock = new Object();
this.writeBufferLock = new Object();
serialBuffer = new SerialBuffer(readBufferLock, writeBufferLock);
this.objectMonitor = new Object();
serialBuffer = new SerialBuffer();
workerThread = new WorkerThread();
workerThread.start();
}
@ -88,7 +85,10 @@ public abstract class UsbSerialDevice implements UsbSerialInterface
Log.i(CLASS_ID, "Send data length: " + String.valueOf(pos + 1));
serialBuffer.clearWriteBuffer();
}
objectMonitor.notify();
synchronized(objectMonitor)
{
objectMonitor.notify();
}
}
}